Static game server status page generator using PowerShell + RCON CLI.
scripts/generate-status.ps1 reads config/games.json, runs configured RCON commands per game, gathers process details, and generates a static page at public/index.html.
Each game row includes:
- server up/down (from
processNamePattern, not RCON) - logged-in player count
- server version
- process id(s)
- process name(s)
- CPU utilization
- memory usage (MB)
- process status
- error hint (if any polling step failed)
pwsh(PowerShell 7+)rconCLI available onPATH(or pass-RconBinaryexplicitly)- host permissions to inspect processes and write output path
Edit config/games.json and add as many games as needed:
name: display labelhost,port,password: RCON targetprocessNamePattern: regex used against process namedisplayOrder: lower numbers render firsttimeoutSeconds: optional per-game command timeoutcommands.playerCount,commands.version(up/down followsprocessNamePatternmatch, not RCON):command: RCON command stringregex: parser pattern for command outputgroup: capture group index to extract
pwsh ./scripts/generate-status.ps1Optional arguments:
pwsh ./scripts/generate-status.ps1 -ConfigPath ./config/games.json -OutputPath ./public/index.html -RconBinary rconRun every minute:
* * * * * /usr/bin/pwsh /home/dingo/Repos/rconstat/scripts/generate-status.ps1 -ConfigPath /home/dingo/Repos/rconstat/config/games.json -OutputPath /home/dingo/Repos/rconstat/public/index.html >> /home/dingo/Repos/rconstat/status-cron.log 2>&1Serve public/index.html from any static web server.