| lib | ||
| .gitignore | ||
| AdminStealth.cs | ||
| AdminStealth.csproj | ||
| README.md | ||
| release.sh | ||
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_disconnectevent 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.
statusfrom 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.