Add full Q3A RCON command reference

This commit is contained in:
Nicolas 2026-05-09 18:59:11 -03:00
parent 75c70967cf
commit 86b7364f07
2 changed files with 103 additions and 25 deletions

View File

@ -55,24 +55,67 @@ npm start
## RCON Commands
| Command | Description |
|---------|-------------|
| `status` | Player list with scores and pings |
| `serverinfo` | Server settings (gametype, fraglimit, etc.) |
| `systeminfo` | System info (OS, CPU) |
| `kick <name>` | Kick player (or "all", "allbots") |
| `kicknum <num>` | Kick by slot number |
| `say <msg>` | Broadcast to all players |
| `map <name>` | Change map (e.g., q3dm1) |
| `banaddr <ip>` | Ban IP address |
| `listbans` | List all bans |
| `rehashbans` | Reload bans from file |
| `flushbans` | Delete all bans |
### 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
See the in-app Reference button for full command list.
### 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
## Tested Servers
### 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
- ioquake3
- Q3ALight
- Other Q3A-compatible engines
### 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.

View File

@ -100,20 +100,28 @@
<table class="ref-table">
<tr><td><code>map &lt;mapname&gt;</code></td><td>Change map (e.g., q3dm1)</td></tr>
<tr><td><code>devmap &lt;mapname&gt;</code></td><td>Change map with cheats enabled</td></tr>
<tr><td><code>map_restart &lt;sec&gt;</code></td><td>Restart map (default 5 sec)</td></tr>
<tr><td><code>spmap &lt;mapname&gt;</code></td><td>Single player map</td></tr>
<tr><td><code>spdevmap &lt;mapname&gt;</code></td><td>Single player with cheats</td></tr>
<tr><td><code>map_restart [&lt;sec&gt;]</code></td><td>Restart map (default 5 sec)</td></tr>
<tr><td><code>nextmap</code></td><td>Go to next map in cycle</td></tr>
<tr><td><code>killserver</code></td><td>Shutdown the server</td></tr>
<tr><td><code>heartbeat</code></td><td>Send heartbeat to masters</td></tr>
</table>
<h3>Player Management</h3>
<table class="ref-table">
<tr><td><code>kick &lt;name&gt;</code></td><td>Kick player by name (or "all", "allbots")</td></tr>
<tr><td><code>kicknum &lt;num&gt;</code></td><td>Kick by slot number</td></tr>
<tr><td><code>kick &lt;name&gt;</code></td><td>Kick player by name</td></tr>
<tr><td><code>kick &lt;all&gt;</code></td><td>Kick all players</td></tr>
<tr><td><code>kick &lt;allbots&gt;</code></td><td>Kick all bots</td></tr>
<tr><td><code>kicknum &lt;num&gt;</code></td><td>Kick by client number</td></tr>
<tr><td><code>clientkick &lt;num&gt;</code></td><td>Alias for kicknum</td></tr>
<tr><td><code>kickall</code></td><td>Kick all players</td></tr>
<tr><td><code>kickbots</code></td><td>Kick all bots</td></tr>
<tr><td><code>addbot &lt;name&gt; &lt;skill&gt; [team] [delay]</code></td><td>Add bot to server</td></tr>
</table>
<h3>Banning</h3>
<table class="ref-table">
<tr><td><code>banaddr &lt;ip[/subnet]&gt;</code></td><td>Ban IP or CIDR range</td></tr>
<tr><td><code>exceptaddr &lt;ip[/subnet]&gt;</code></td><td>Add ban exception</td></tr>
<tr><td><code>banaddr &lt;ip[/subnet] [num]</code></td><td>Ban IP or CIDR range</td></tr>
<tr><td><code>exceptaddr &lt;ip[/subnet] [num]</code></td><td>Add ban exception</td></tr>
<tr><td><code>bandel &lt;range|num&gt;</code></td><td>Delete ban by range or number</td></tr>
<tr><td><code>exceptdel &lt;range|num&gt;</code></td><td>Delete exception</td></tr>
<tr><td><code>listbans</code></td><td>List all bans</td></tr>
@ -124,8 +132,10 @@
<table class="ref-table">
<tr><td><code>status</code></td><td>Player list with scores and pings</td></tr>
<tr><td><code>serverinfo</code></td><td>Server settings (gametype, fraglimit, etc.)</td></tr>
<tr><td><code>systeminfo</code></td><td>System info (OS, CPU)</td></tr>
<tr><td><code>dumpuser &lt;name&gt;</code></td><td>Player userinfo</td></tr>
<tr><td><code>systeminfo</code></td><td>System info (OS, CPU, etc.)</td></tr>
<tr><td><code>meminfo</code></td><td>Server memory usage</td></tr>
<tr><td><code>dumpuser &lt;name|num&gt;</code></td><td>Player userinfo</td></tr>
<tr><td><code>players</code></td><td>Detailed player list (OSP)</td></tr>
</table>
<h3>Messaging</h3>
<table class="ref-table">
@ -133,6 +143,31 @@
<tr><td><code>tell &lt;num&gt; &lt;msg&gt;</code></td><td>Message single player</td></tr>
<tr><td><code>sayto &lt;name&gt; &lt;text&gt;</code></td><td>Message player by name</td></tr>
</table>
<h3>Config & Variables</h3>
<table class="ref-table">
<tr><td><code>set &lt;cvar&gt; &lt;value&gt;</code></td><td>Set cvar value</td></tr>
<tr><td><code>seta &lt;cvar&gt; &lt;value&gt;</code></td><td>Set cvar and save to config</td></tr>
<tr><td><code>sets &lt;cvar&gt; &lt;value&gt;</code></td><td>Set and transmit to clients</td></tr>
<tr><td><code>setu &lt;cvar&gt; &lt;value&gt;</code></td><td>Set userinfo cvar</td></tr>
<tr><td><code>reset &lt;cvar&gt;</code></td><td>Reset cvar to default</td></tr>
<tr><td><code>cvarlist [filter]</code></td><td>List all cvars (optional filter)</td></tr>
<tr><td><code>cmdlist [letter]</code></td><td>List all commands</td></tr>
<tr><td><code>exec &lt;config&gt;</code></td><td>Execute config file</td></tr>
<tr><td><code>writeconfig &lt;file&gt;</code></td><td>Save current config to file</td></tr>
<tr><td><code>condump &lt;file&gt;</code></td><td>Dump console to file</td></tr>
</table>
<h3>Game Settings (set via set/seta)</h3>
<table class="ref-table">
<tr><td><code>g_gametype</code></td><td>0=dm, 1=duel, 2=sp, 3=tdm, 4=ctf</td></tr>
<tr><td><code>fraglimit</code></td><td>Frag limit for map</td></tr>
<tr><td><code>timelimit</code></td><td>Time limit for map</td></tr>
<tr><td><code>sv_maxclients</code></td><td>Max players</td></tr>
<tr><td><code>sv_pure</code></td><td>0=allow non-pure clients</td></tr>
<tr><td><code>sv_allowDownload</code></td><td>0=disabled, 1=enabled</td></tr>
<tr><td><code>g_allowvote</code></td><td>0=disabled, 1=enabled</td></tr>
<tr><td><code>bot_enable</code></td><td>0=disabled, 1=enabled</td></tr>
<tr><td><code>bot_minplayers</code></td><td>Min bots to maintain</td></tr>
</table>
<div class="form-actions">
<button type="button" class="btn-cancel" id="btn-close-reference">Close</button>
</div>