AdminStealth 0.3.12: keep hidden admins off the team select screen
Hidden admins skip the team screen on reconnect (moved to spectators until re-hidden), never receive the server's team menu message, and a pick from the screen M opens is answered by telling only their client they joined spectators. The restore runs css_hide at most once, since it toggles. Each command listener gets its own delegate: CSS keys listeners by handler, and reusing one orphaned the first registration, which then swallowed its command.
This commit is contained in:
parent
b60f508a7b
commit
33feda8179
2 changed files with 133 additions and 6 deletions
15
README.md
15
README.md
|
|
@ -15,6 +15,17 @@ admin off the scoreboard. This plugin makes it look like they left the server:
|
|||
- A hidden admin can't join a team or go to spectators (`jointeam` and `spectate` are blocked
|
||||
with a chat message). If the game or another plugin puts them on a team anyway, which makes
|
||||
SimpleAdmin unhide them, they're hidden again straight away.
|
||||
- On reconnect or map change, a hidden admin is moved to spectators 0.1 s after connecting, so
|
||||
the team select screen doesn't open, until the restore hides them again.
|
||||
- The team select screen: the server's "team" menu message (`CS_UM_VGUIMenu`) is never sent to
|
||||
a hidden admin. M opens it on the client regardless, and a player with no team can't close it
|
||||
without picking, so a pick is answered by telling only that client it joined spectators
|
||||
(with `sv_disable_teamselect_menu` on around it); nobody else sees a team change.
|
||||
- Restoring runs `css_hide` at most once: it toggles, so a second run could unhide them.
|
||||
|
||||
Needs our SimpleAdmin fork (1.8.2b-zio2 or later), where moving to spectators doesn't unhide a
|
||||
hidden admin. Never hot-reload CS2-SimpleAdmin while this runs: CSS keeps handing out the old
|
||||
instance's API until the server restarts.
|
||||
- `status` from a player's console is blocked and prints nothing. It still works from the server
|
||||
console and RCON.
|
||||
|
||||
|
|
@ -37,8 +48,8 @@ the `status` block works.
|
|||
- 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.
|
||||
- Reloading CS2-SimpleAdmin on its own leaves this plugin listening to the old instance. Reload
|
||||
AdminStealth after it.
|
||||
- Reloading CS2-SimpleAdmin on its own leaves this plugin (and WebPanelBridge) talking to the old
|
||||
instance until a server restart.
|
||||
|
||||
## Install
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue