A web-based game server browser inspired by the classic HLSW (Half-Life Server Watch) desktop application. Monitor and manage Source and GoldSrc game servers from your browser.
- Query Source Engine servers (CS:GO, CS2, TF2, Garry's Mod, HL2MP, etc.)
- Query GoldSrc servers (Half-Life, Counter-Strike 1.6, etc.)
- View server information, player lists, and server rules/CVars
- RCON console for remote server administration
- Real-time server log streaming (experimental)
- Player management (right-click to kick/ban)
- Auto-refresh with 30-second intervals
- Server list persisted in browser localStorage
- Dark theme UI
- PHP 7.0+ with sockets extension enabled
- Web server (Apache, nginx, etc.)
- UDP port range 28000-29000 accessible for log receiving (optional)
- Clone or copy files to your web server directory
- Point your web server document root to
public_html/ - Copy
etc/config.example.phptoetc/config.phpand configure as needed - Ensure PHP has UDP/TCP socket access (may require firewall configuration)
- Access
index.phpin your browser
Copy etc/config.example.php to etc/config.php:
return [
// 'auto' = detect via public IP services, or set manual IP
'log_receiver_ip' => 'auto',
// UDP port range for log receiver
'log_receiver_port_min' => 28000,
'log_receiver_port_max' => 29000,
// Log session timeout in seconds (0 = no timeout)
'log_receiver_timeout' => 900, // 15 minutes
];- Click "Add Server" to add a game server by IP:Port
- Select a server to view its details
- Double-click a server to refresh its information
- Enter the RCON password and click "Save"
- Type commands in the input field and press Enter or click "Send"
Note: This feature is experimental and untested. It may not work in all environments.
- Ensure
etc/config.phpis configured with the correct IP - Select a server and enter the RCON password
- Click "Start Logging" to receive real-time server logs
- Logs appear in the RCON console
- Right-click on a player in the player list to kick or ban them (requires RCON password)
├── etc/
│ └── config.example.php # Configuration template
├── public_html/
│ ├── index.php # Main HTML interface
│ ├── app.js # Frontend JavaScript application
│ ├── style.css # Styling
│ ├── query.php # A2S query proxy (server info, players, rules)
│ ├── rcon.php # RCON command proxy (Source and GoldSrc)
│ └── log_receiver.php # Real-time log receiver (SSE + UDP)
├── screenshots/
│ └── screenshot1.png
└── README.md
If RCON fails to connect but server queries work, the game server may only be listening on localhost. Add to your server.cfg:
ip 0.0.0.0
- Verify
log_receiver_ipin config.php is reachable from the game server - Check that UDP ports 28000-29000 are not blocked by firewall
- Ensure the game server can send outbound UDP to your web server
AGPL-3.0
