q3a_rcon_gui/README.md

125 lines
2.9 KiB
Markdown

# Q3A RCON Dashboard
A desktop application for administering Quake 3 Arena servers via RCON protocol. Built with Electron.
## Features
- Multi-server management with tabbed interface
- Quick-action buttons for common commands (Status, Kick, Say, Map, Ban, etc.)
- Three switchable themes: Terminal, Dark, Light
- Server configurations persisted to JSON
- Auto-open saved servers on startup
## Requirements
- Node.js 18+
- npm 9+
## Installation
```bash
npm install
```
## Building
### Linux (AppImage)
```bash
npm run build:linux
```
Output: `dist/Q3A RCON Dashboard-1.0.0.AppImage`
### Windows (Portable EXE)
On a Windows machine:
```cmd
npm run build:win
```
Output: `dist/Q3A RCON Dashboard-1.0.0.exe`
### Build Both
```bash
npm run build
```
## Running
```bash
npm start
```
## RCON Commands
### Server Management
- `map <mapname>` - Change map
- `devmap <mapname>` - Change map with cheats
- `spmap <mapname>` - Single player map
- `spdevmap <mapname>` - Single player with cheats
- `map_restart [sec]` - Restart map (default 5 sec)
- `nextmap` - Go to next map in cycle
- `killserver` - Shutdown server
- `heartbeat` - Send heartbeat to masters
### Player Management
- `kick <name>` - Kick player by name
- `kick all` - Kick all players
- `kick allbots` - Kick all bots
- `kicknum <num>` - Kick by client number
- `clientkick <num>` - Alias for kicknum
- `addbot <name> <skill> [team] [delay]` - Add bot
### Banning
- `banaddr <ip[/subnet] [num]` - Ban IP or CIDR
- `exceptaddr <ip[/subnet] [num]` - Add exception
- `bandel <range|num>` - Delete ban
- `exceptdel <range|num>` - Delete exception
- `listbans` - List all bans
- `rehashbans` - Reload bans
- `flushbans` - Delete all bans
### Information
- `status` - Player list with scores/pings
- `serverinfo` - Server settings
- `systeminfo` - System info
- `meminfo` - Memory usage
- `dumpuser <name|num>` - Player info
- `players` - Detailed player list (OSP)
### Messaging
- `say <msg>` - Broadcast to all
- `tell <num> <msg>` - Message player
- `sayto <name> <text>` - Message by name
### Config & Variables
- `set <cvar> <value>` - Set cvar
- `seta <cvar> <value>` - Set and save to config
- `sets <cvar> <value>` - Set and transmit to clients
- `setu <cvar> <value>` - Set userinfo cvar
- `reset <cvar>` - Reset to default
- `cvarlist [filter]` - List cvars
- `cmdlist [letter]` - List commands
- `exec <config>` - Execute config
- `writeconfig <file>` - Save config
- `condump <file>` - Dump console
### Game Settings (set/seta)
- `g_gametype` - 0=dm, 1=duel, 2=sp, 3=tdm, 4=ctf
- `fraglimit` - Frag limit
- `timelimit` - Time limit
- `sv_maxclients` - Max players
- `sv_pure` - 0=allow non-pure clients
- `sv_allowDownload` - 0=disabled, 1=enabled
- `g_allowvote` - 0=disabled, 1=enabled
- `bot_enable` - 0=disabled, 1=enabled
- `bot_minplayers` - Min bots to maintain
See the in-app Reference button for full details.
## Contact
For comments, suggestions, or collaboration: nicolassanchez@tutanota.com