diff --git a/Content.Server/Administration/Systems/AdminSystem.cs b/Content.Server/Administration/Systems/AdminSystem.cs index 1560fe8df94..f39f2661e06 100644 --- a/Content.Server/Administration/Systems/AdminSystem.cs +++ b/Content.Server/Administration/Systems/AdminSystem.cs @@ -4,7 +4,6 @@ using Content.Server.Chat.Managers; using Content.Server.Forensics; using Content.Server.GameTicking; using Content.Server.Hands.Systems; -using Content.Server.IdentityManagement; using Content.Server.Mind; using Content.Server.Players.PlayTimeTracking; using Content.Server.Popups; @@ -70,6 +69,7 @@ namespace Content.Server.Administration.Systems _playerManager.PlayerStatusChanged += OnPlayerStatusChanged; _adminManager.OnPermsChanged += OnAdminPermsChanged; + _playTime.SessionPlayTimeUpdated += OnSessionPlayTimeUpdated; // Panic Bunker Settings Subs.CVar(_config, CCVars.PanicBunkerEnabled, OnPanicBunkerChanged, true); @@ -200,6 +200,7 @@ namespace Content.Server.Administration.Systems base.Shutdown(); _playerManager.PlayerStatusChanged -= OnPlayerStatusChanged; _adminManager.OnPermsChanged -= OnAdminPermsChanged; + _playTime.SessionPlayTimeUpdated -= OnSessionPlayTimeUpdated; } private void OnPlayerStatusChanged(object? sender, SessionStatusEventArgs e) @@ -446,5 +447,10 @@ namespace Content.Server.Administration.Systems _gameTicker.SpawnObserver(player); } + + private void OnSessionPlayTimeUpdated(ICommonSession session) + { + UpdatePlayerList(session); + } } } diff --git a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs index 4146f4875b6..65a883c165d 100644 --- a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs +++ b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs @@ -82,6 +82,8 @@ public sealed partial class PlayTimeTrackingManager : ISharedPlaytimeManager, IP public event CalcPlayTimeTrackersCallback? CalcTrackers; + public event Action? SessionPlayTimeUpdated; + public void Initialize() { _sawmill = Logger.GetSawmill("play_time"); @@ -225,6 +227,7 @@ public sealed partial class PlayTimeTrackingManager : ISharedPlaytimeManager, IP }; _net.ServerSendMessage(msg, pSession.Channel); + SessionPlayTimeUpdated?.Invoke(pSession); } ///