diff --git a/README.md b/README.md index d38e3d2..2e956ac 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,10 @@ Reports live match state to [simpleadmin-web](../../go/simpleadmin-web) over RCON: the hostname, map, team scores, warmup state, and each connected player's userid, name, SteamID64, team, -kills, deaths and ping. Admins hidden with CS2-SimpleAdmin's `css_hide` are left out entirely, as if -they weren't connected, so the panel never lists or counts them. It changes nothing in the game. +kills, deaths and ping. It changes nothing in the game. -Built for CounterStrikeSharp **1.0.376** (`net10.0`) on Metamod:Source 2.0.0.1469. It uses -CS2-SimpleAdmin's shared API (`CS2-SimpleAdminApi`) to spot hidden admins. `lib/CS2-SimpleAdminApi.dll` -is a compile-time copy of the server's `shared/` one and isn't shipped. Without SimpleAdmin loaded, -everyone is listed. +Built for CounterStrikeSharp **1.0.375** (`net10.0`) on Metamod:Source 2.0.0.1469. No other +dependencies. ## The command diff --git a/WebPanelBridge.cs b/WebPanelBridge.cs index ad5263b..b9e8086 100644 --- a/WebPanelBridge.cs +++ b/WebPanelBridge.cs @@ -3,22 +3,19 @@ using System.Text.Json.Serialization; using CounterStrikeSharp.API; using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core.Attributes.Registration; -using CounterStrikeSharp.API.Core.Capabilities; using CounterStrikeSharp.API.Modules.Commands; using CounterStrikeSharp.API.Modules.Cvars; using CounterStrikeSharp.API.Modules.Utils; -using CS2_SimpleAdminApi; namespace WebPanelBridge; // Reports live match state to simpleadmin-web over RCON. The server console command prints one // JSON object per line, each prefixed with "wpb ", so the web panel can pick them out of whatever -// else lands in the RCON response. Admins hidden with CS2-SimpleAdmin's css_hide are left out, as if -// they weren't connected. Nothing here changes game state. +// else lands in the RCON response. Nothing here changes game state. public class WebPanelBridge : BasePlugin { public override string ModuleName => "WebPanelBridge"; - public override string ModuleVersion => "0.2.0"; + public override string ModuleVersion => "0.1.0"; public override string ModuleAuthor => "astra"; public override string ModuleDescription => "Live server status for simpleadmin-web, over RCON"; @@ -30,8 +27,6 @@ public class WebPanelBridge : BasePlugin DefaultIgnoreCondition = JsonIgnoreCondition.Never, }; - private static readonly PluginCapability SimpleAdminCapability = new("simpleadmin:api"); - private record ServerLine(int V, string Hostname, string Map, int MaxPlayers, int ScoreT, int ScoreCt, bool Warmup); private record PlayerLine(int Userid, string Name, string Steamid, int Team, int Kills, int Deaths, uint Ping, bool Bot); @@ -61,22 +56,10 @@ public class WebPanelBridge : BasePlugin scoreT, scoreCt, warmup); command.ReplyToCommand(Prefix + JsonSerializer.Serialize(server, JsonOptions)); - // Fetched on every call, so reloading SimpleAdmin doesn't leave a stale instance here. - ICS2_SimpleAdminApi? simpleAdmin = null; - try - { - simpleAdmin = SimpleAdminCapability.Get(); - } - catch (KeyNotFoundException) - { - } - foreach (var player in Utilities.GetPlayers()) { if (player is not { IsValid: true, IsHLTV: false } || player.Connected != PlayerConnectedState.Connected) continue; - if (!player.IsBot && simpleAdmin?.IsAdminSilent(player) == true) - continue; var stats = player.ActionTrackingServices?.MatchStats; var line = new PlayerLine( diff --git a/WebPanelBridge.csproj b/WebPanelBridge.csproj index c3864b1..d68d986 100644 --- a/WebPanelBridge.csproj +++ b/WebPanelBridge.csproj @@ -8,15 +8,10 @@ - + none runtime compile; build; native; contentfiles; analyzers; buildtransitive - - - lib/CS2-SimpleAdminApi.dll - false - diff --git a/lib/CS2-SimpleAdminApi.dll b/lib/CS2-SimpleAdminApi.dll deleted file mode 100644 index 3b594c7..0000000 Binary files a/lib/CS2-SimpleAdminApi.dll and /dev/null differ