Variables
Network
set net_ip ""(string)
Specifies network interface address server should listen on for UDP connections. The same interface is also used for outgoing TCP connections (these include MVD/GTV and anticheat connections). Empty string means listening on all interfaces.set net_port 27910(integer)
Specifies port number server should listen on for UDP connections.set net_tcp_ip $net_ip(string)
Specifies network interface address server should listen on for TCP connections (these include MVD/GTV connections, enabled only whensv_mvd_enableis set properly, see below). Empty string means listening on all interfaces. Value of this cvar mirrorsnet_ipunless modified by user.set net_tcp_port $net_port(integer)
Specifies port number server should listen on for TCP connections. Value of this cvar mirrorsnet_portunless modified by user.
NOTE: There is a limitation preventing anticheat to work correctly on
servers accessible from multiple IP addresses. If you are running the server
on multi IP system and plan to use anticheat, you need to explicitly bind
the server to one of your network interfaces using the net_ip cvar, otherwise
expect any kinds of problems.
Misc
set sv_iplimit 3(integer)
Maximum number of simultaneous connections allowed from single IP address (per connection type, TCP and UDP client lists are separate). Setting this variable to 0 disables the limit.set sv_status_show 2(integer)
Specifies how the server should respond to status queries.- 0 - do not respond at all
- 1 - respond with server info only
- 2 - respond with server info and player list
set sv_status_limit 15(integer)
Maximum number of status queries per one second server should respond to.set sv_badauth_time 1(integer)
Time, in seconds, for server to be unresponsive after an invalid authentication attempt. This applies to rcon commands, as well as authenticated connection requests.set sv_password ""(string)
If not empty, allows only authenticated clients to connect. Authenticated clients are allowed to occupy reserved slots, see below. Clients set their passwords viapassworduserinfo variable.set sv_reserved_slots 0(integer)
Number of client slots reserved for clients who knowsv_reserved_passwordorsv_password. Must be strictly less thanmaxclientsvalue. Ifsv_mvd_enableis non-zero andsv_reserved_slotsis zero,sv_reserved_slotsis automatically set to one to reserve a slot for dummy MVD observer. Note thatsv_reserved_slotsvalue is subtracted frommaxclientsvalue visible in the server info.set sv_reserved_password ""(string)
See above. If empty, no one is allowed to occupy reserved slot(s), except of dummy MVD observer. Clients set their passwords viapassworduserinfo variable.set sv_lan_force_rate 0(boolean)
When enabled, do not enforce any rate limits on clients whose IP is from private address space (127.x.x.x, 10.x.x.x, 192.168.x.x, 172.16.x.x).set sv_ghostime 6(float)
Maximum time, in seconds, before dropping clients which have passed initial challenge-response connection stage but have not yet sent any data over newly established connection. This also applies to MVD/GTV clients in request processing stage. Helps to avoid attacks flooding server with zombie clients, combined withsv_iplimitvariable.set sv_force_reconnect ""(string)
When set to an address string, forces new clients to quickly reconnect to this address as an additional proxy protection measure.set sv_show_name_changes 0(boolean)
Broadcast player name changes to everyone. You should probably enable this unless game mod already shows name changes.set sv_uptime 0(boolean)
Include ‘uptime’ key/value pair in server info.
MVD/GTV server
set sv_mvd_enable 0(integer)
Enables MVD/GTV server functionality.- 0 - MVD server is disabled
- 1 - local MVD recording is allowed
- 2 - local MVD recording and remote GTV connections are allowed
set sv_mvd_maxclients 8(integer)
Total number of MVD/GTV client slots on the server.set sv_mvd_password ""(string)
Password used to authenticate MVD/GTV clients. If password is not set, only those clients can connect, whose IP address is added to the list of trusted MVD/GTV hosts using ‘addgtvhost’ command.set sv_mvd_nogun 1(boolean)
Reduce bandwidth usage by filtering on-screen gun updates out of MVD stream.set sv_mvd_noblend 0(boolean)
Reduce bandwidth usage by filtering on-screen blend effects out of MVD stream.set sv_mvd_nomsgs 1(boolean)
When enabled, MVD/GTV spectators in chasecam mode will not receive any text messages routed to their chase targets (which are normally on a team), but will receive messages routed to the dummy MVD observer.set sv_mvd_maxtime 0(float)
Maximum duration in minutes of the locally recorded MVD. Setting this to zero disables the limit.set sv_mvd_maxsize 0(float)
Maximum size in KB of the locally recorded MVD. Setting this to zero disables the limit.set sv_mvd_maxmaps 1(integer)
Specifies number of map changes local MVD recording is stopped after. Setting this to zero disables the limit.set sv_mvd_begincmd "wait 50; putaway; wait 10; help;"(string)
This command is issued on behaf of dummy MVD observer as soon as it enters the game. Do whatever preparations are needed here to make sure MVD observer enters an appropriate observing mode, opens the scoreboard, etc. MVD observer has it's own command buffer and eachwaitcycle lasts 100 ms there.set sv_mvd_scorecmd "putaway; wait 10; help;"(string)
This command is issued on behaf of dummy MVD observer each time no layout updates are detected for more than 9 seconds. Useful for reopening the scoreboard if the game mod closes it for some reason. MVD observer has it's own command buffer and eachwaitcycle lasts 100 ms there.set sv_mvd_suspend_time 5(float)
GTV connections are suspended after this period of time, in minutes, counted from the moment last active player disconnects or becomes inactive. Setting this to zero disables server side suspending entirely.
MVD/GTV client
set mvd_username "unnamed"(string)
Default username to use for outgoing GTV connections.set mvd_password ""(string)
Default password to use for outgoing GTV connections.set mvd_timeout 90(float)
Specifies MVD connection timeout value, in seconds.set mvd_suspend_time 5(float)
GTV connections are suspended after this period of time, in minutes, counted from the moment last MVD spectator disconnects. Setting this to zero disables client side suspending entirely.set mvd_wait_delay 20(float)
Time, in seconds, for MVD channel to buffer data initially. This effectively specifies MVD stream delay seen by observers.set mvd_wait_percent 50(float)
Maximum inuse percentage of the delay buffer when MVD channel stops buffering data to prevent overrun, ignoringmvd_wait_delayvalue.set mvd_default_map "q2dm1"(string)
Specifies default map used for the Waiting Room channel.set mvd_chase_prefix "xv 0 yb -64"(string)
Specifies POV info string position on the screen. This should be a valid fragment of the Quake 2 layout script.set mvd_stats_score 0(integer)
Specifies whatscorestats field should contain for MVD observers. This field is externally visible to server browsers, etc.- 0 - always zero
- 1 - MVD channel ID spectator is on
- 2 - score of the chase target
Hacks
set sv_oldgame_hack 0(boolean)
On UNIX-like systems, enables ABI compatibility mode which allows loading of game libraries built using ancient GCC versions. If you happen to run closed source game mod and your server crashes while loading a map, try enabling this variable.set sv_strafejump_hack 1(integer)
Enables FPS-independent strafe jumping mode for clients using R1Q2 and Q2PRO protocols. Values higher than 1 will force this mode for all clients, regardless of their protocol version.
Commands
Misc
stuff <userid> <text ...>
Stuff the given text into command buffer of the client identified by userid.stuffall <text ...>
Stuff the given text into command buffers of all connected clients.pickclient <address:port>
Sendpassive_connectpacket to the client at specified address and port. This is useful if the server is behind NAT or firewall and can not accept remote connections. Remote client must support passive connections (R1Q2 and Q2PRO clients do), must be in passive connection mode and the specified port must be reachable. Seepassiveclient command for more details.addban <address[/mask]> [comment ...]
Adds specified address to the ban list. Specify mask to ban entire subnetwork. If specified, comment will be printed to banned user(s) when they attempt to connect.delban <address[/mask]|id|all>
Deletes single matching address from the ban list. You can also specify numeric ID of the address/mask pair to delete, or use special keywordallto clear the entire list.listbans
Displays all address/mask pairs added to the ban list along with their IDs.kickban <userid>
Kick the specified client and add his IP address to the ban list (with a default mask of 32).addstuffcmd <connect|begin> <command> [...]
Adds command to be automatically stuffed to every client as they initially connect or each time they enter new map.delstuffcmd <connect|begin> <id|all>
Deletes command identified by numeric ID from the specified list. You can also specifyallto clear the whole stuffcmd list.liststuffcmds <connect|begin>
Enumerates all registered commands in the specified stuffcmd list.addfiltercmd <command> [ignore|print|stuff|kick] [comment ...]
Prevents client command otherwise unknown to the server from being interpreted by the game mod, and takes the specified action instead. For print and stuff actions comment argument is mandatory. Default action is ignore. Commands are matched in a case-insensitive way.delfiltercmd <id|cmd|all>
Deletes command identified by numeric ID or by name from the list of filtered commands. You can also specifyallto clear the whole filtercmd list.listfiltercmds
Enumerates all filtered commands along with appropriate actions and comments.
MVD/GTV server
mvdrecord [-hz] <filename>
Start local MVD recording intodemos/<filename>.mvd2.mvdstop
Stop local MVD recording.mvdstuff <text>
Execute the given text on behaf of dummy MVD observer.addgtvhost <address[/mask]>
Adds specified address to the list of trusted MVD/GTV hosts allowed to connect to this server without password. Specify mask to allow entire subnetwork.delgtvhost <address[/mask]|id|all>
Deletes single matching address from the list of trusted MVD/GTV hosts. You can also specify numeric ID of the address/mask pair to delete, or use special keywordallto clear the entire list.listgtvhosts
Displays all address/mask pairs added to the list of trusted MVD/GTV hosts along with their IDs.
MVD/GTV client
mvdplay [-hl:n:] <filename> [...]
Play the local MVD identified by filename.mvdconnect [-hi:n:] <address[:port]>
Connect to the specified GTV server. Separate MVD channel will be automatically created for this connection as soon as there is some data available, and MVD channel will be destroyed after the server suspends the connection.mvdisconnect [connection_id]
Disconnect the specified channel from the server (allowing it to replay any remaining data to spectators). There is no need to specifychanidif there is only one active channel.mvdkill [channel_id]
Kill the specified MVD channel (and any parent GTV connection). There is no need to specifychanidif there is only one active channel.mvdspawn
Put the server into MVD/GTV mode, creating the Waiting Room channel. This is equivalent to a full server restart. Done automatically when the very first GTV connection is established or local MVD file is replayed.mvdchannels
List all MVD channels (there may be none, if all GTV connections are suspended).mvdservers
List all GTV connections.
Anticheat
Q2PRO server supports r1ch.net anticheat server interface, and is capable of serving Win32 clients supported by the proprietary anticheat module.
Please see this forum thread for more information on how to setup your server to use the anticheat interface.
Q2PRO anticheat server interface is based on R1Q2 reference implementation. All R1Q2 variables and commands related to anticheat are supported, with the following exceptions:
sv_anticheat_nag_*sv_anticheat_client_restrictionssv_anticheat_force_protocol35