diff --git a/Content.Server/Administration/Systems/AdminSystem.cs b/Content.Server/Administration/Systems/AdminSystem.cs index e5b6e9c3ea..16c079e4ba 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 bc2f891c72..381be45f95 100644 --- a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs +++ b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs @@ -81,6 +81,8 @@ public sealed class PlayTimeTrackingManager : ISharedPlaytimeManager, IPostInjec public event CalcPlayTimeTrackersCallback? CalcTrackers; + public event Action? SessionPlayTimeUpdated; + public void Initialize() { _sawmill = Logger.GetSawmill("play_time"); @@ -217,6 +219,7 @@ public sealed class PlayTimeTrackingManager : ISharedPlaytimeManager, IPostInjec }; _net.ServerSendMessage(msg, pSession.Channel); + SessionPlayTimeUpdated?.Invoke(pSession); } ///