WebPanelBridge/README.md

1.8 KiB

WebPanelBridge

Reports live match state to simpleadmin-web over RCON: the hostname, map, team scores, warmup state, and each connected player's userid, name, SteamID64, team, kills, deaths and ping. It changes nothing in the game.

Built for CounterStrikeSharp 1.0.375 (net10.0) on Metamod:Source 2.0.0.1469. No other dependencies.

The command

css_webpanel_status is server-only: it runs from the server console or RCON, never from a player. It prints one JSON object per line, each prefixed with wpb , then wpb end:

wpb {"v":1,"hostname":"zio.sh | Random Skills","map":"de_mirage","maxPlayers":24,"scoreT":7,"scoreCt":9,"warmup":false}
wpb {"userid":2,"name":"astra","steamid":"76561198012345601","team":3,"kills":21,"deaths":9,"ping":12,"bot":false}
wpb end

team is 1 for spectators, 2 for T and 3 for CT. Bots have steamid "0". maxPlayers is sv_visiblemaxplayers when that's set, otherwise the slot count.

The prefix lets the panel pick these lines out of anything else the server prints into the same RCON response. v is the format version; the panel rejects output it doesn't recognise.

Install

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

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

tar -xzf WebPanelBridge-<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 WebPanelBridge-<tag>.tar.gz to the git.zio.sh release. The plugin has no config.

Check it from RCON with css_webpanel_status.