Initial version. Work in progress! Below are planned features:
- Automatic installation and updating of
RustDedicated(game server) viasteamcmd(installer) at startup. - Graceful shutdown handling on OS signals
SIGINT,SIGTERM:- Save in-game world state
- Clean up resources: Terminate child processes such as the game server
- Game world map rendering after startup; served over HTTP as a PNG file.
- Player statistics tracking for in-game activities (e.g., collecting resources like wood).
- WebSocket support for remote clients:
- Steam-based authentication and identity-based authorization for management access.
- State broadcasts:
- Server status (running, not running, etc.)
- System resource usage (CPU, memory)
- Game world state (e.g., in-game player positions)
- Game events (e.g., in-game resource collection)
- Command reception for:
- Managing game server (save & close, configure, update & relaunch)
- Managing game world (RCON commands like banning players, spawning items)
- Single persistent WebSocket connection to backend with auto-reconnect.
- Visualization of:
- Game server status
- In-game world state (e.g., player positions over map)
- In-game events (e.g., resource collection)
- System resource usage over time (CPU, memory)
- Controls for:
- Server management (save & close, configure, update & relaunch)
- Game world management (RCON commands)