Browse Source

playerlist on status

Taislin 7 tháng trước cách đây
mục cha
commit
40f78df9b1
1 tập tin đã thay đổi với 8 bổ sung1 xóa
  1. 8 1
      Content.Server/GameTicking/GameTicker.StatusShell.cs

+ 8 - 1
Content.Server/GameTicking/GameTicker.StatusShell.cs

@@ -3,6 +3,7 @@
 using Content.Shared.CCVar;
 using Content.Shared.GameTicking;
 using Robust.Server.ServerStatus;
+using Robust.Shared.Collections;
 using Robust.Shared.Configuration;
 
 namespace Content.Server.GameTicking
@@ -37,7 +38,12 @@ private void InitializeStatusShell()
         private void GetStatusResponse(JsonNode jObject)
         {
             var preset = CurrentPreset ?? Preset;
+            var _parsedPlayerList = new ValueList<JsonNode>();
+            foreach (var player in _playerManager.Sessions)
+            {
+                _parsedPlayerList.Add(JsonValue.Create(player.Name.ToString())!);
 
+            }
             // This method is raised from another thread, so this better be thread safe!
             lock (_statusShellLock)
             {
@@ -49,13 +55,14 @@ private void GetStatusResponse(JsonNode jObject)
                     : _playerManager.PlayerCount - _adminManager.ActiveAdmins.Count();
                 jObject["soft_max_players"] = _cfg.GetCVar(CCVars.SoftMaxPlayers);
                 jObject["panic_bunker"] = _cfg.GetCVar(CCVars.PanicBunkerEnabled);
-                jObject["run_level"] = (int) _runLevel;
+                jObject["run_level"] = (int)_runLevel;
                 if (preset != null)
                     jObject["preset"] = Loc.GetString(preset.ModeTitle);
                 if (_runLevel >= GameRunLevel.InRound)
                 {
                     jObject["round_start_time"] = _roundStartDateTime.ToString("o");
                 }
+                jObject["playerlist"] = new JsonArray(_parsedPlayerList.ToArray());
             }
         }
     }