No description
Find a file
2026-09-27 18:06:48 +01:00
lib AdminStealth 0.1.0: make CS2-SimpleAdmin's css_hide look like leaving, block status for players 2026-09-27 18:06:48 +01:00
.gitignore AdminStealth 0.1.0: make CS2-SimpleAdmin's css_hide look like leaving, block status for players 2026-09-27 18:06:48 +01:00
AdminStealth.cs AdminStealth 0.1.0: make CS2-SimpleAdmin's css_hide look like leaving, block status for players 2026-09-27 18:06:48 +01:00
AdminStealth.csproj AdminStealth 0.1.0: make CS2-SimpleAdmin's css_hide look like leaving, block status for players 2026-09-27 18:06:48 +01:00
README.md AdminStealth 0.1.0: make CS2-SimpleAdmin's css_hide look like leaving, block status for players 2026-09-27 18:06:48 +01:00
release.sh AdminStealth 0.1.0: make CS2-SimpleAdmin's css_hide look like leaving, block status for players 2026-09-27 18:06:48 +01:00

AdminStealth

A companion to CS2-SimpleAdmin's css_hide (!hide, @css/kick). SimpleAdmin's hide moves the admin off the scoreboard. This plugin makes it look like they left the server:

  • When an admin hides, every other player gets a player_disconnect event for them, sent to each client only. The server and other plugins never see it, so the admin stays connected.
  • While an admin is hidden, their team changes, their death and their real disconnect are not broadcast to clients.
  • status from a player's console is blocked and prints nothing. It still works from the server console and RCON.

WebPanelBridge leaves hidden admins out of css_webpanel_status, so simpleadmin-web doesn't show them either.

Built for CounterStrikeSharp 1.0.375 (net10.0) on Metamod:Source 2.0.0.1469, and needs CS2-SimpleAdmin 1.8.2b's shared API (CS2-SimpleAdminApi). lib/CS2-SimpleAdminApi.dll is a compile-time copy of the server's shared/ one and isn't shipped. Without SimpleAdmin loaded, only the status block works.

Limits

  • Hiding still lasts only as long as SimpleAdmin remembers it: a map change or reconnect makes the admin visible again, and joining a team unhides them.
  • Unhiding doesn't announce the admin as joining again.
  • The server browser and trackers get the player list from a separate server query, which this doesn't touch, so they still list a hidden admin.

Install

Build with cd plugins/AdminStealth && ../../build.sh. Then copy the contents of compiled/AdminStealth/ to game/csgo/addons/counterstrikesharp/plugins/AdminStealth/ on the server.

Or install a release, which unpacks into game/csgo/:

tar -xzf AdminStealth-<tag>.tar.gz -C /srv/cs2/game/csgo

To publish one, commit, bump ModuleVersion, then run FORGEJO_TOKEN=... ./release.sh v<ModuleVersion>. It rebuilds the plugin from the committed source in the SDK container, tags HEAD, and uploads AdminStealth-<tag>.tar.gz to the git.zio.sh release. The plugin has no config.