LOX Quake 2 Server Console Variables
For LOX version 1.12.8
written by: QwazyWabbit
Pg.1 - Pg.2 - Pg.3 - Pg.4
This is a list of the console variables (CVARS) available to
LOX server administrators for LOX versions 1.12.8 and higher. At the time this
document is being completed LOX is at version 1.12.8. You should make sure this list is the correct one
for your version of LOX since earlier versions use different values for some of
the weapon and feature bans and you will get unexpected results if you use the
wrong values. The current list of weapon ban constants is found in the server_readme.txt accompanying the LOX
binary you downloaded. Not all constants are available in all versions of the
mod. Not all server variables are listed here.
See the original Quake 2 CVAR list and any special lists for custom game
engines like r1q2 for variables beyond the scope of this list.
To test the existence of a CVAR, type its name in the
console or RCON. For example, type loxweaponban
in the console to get the current value of the loxweaponban CVAR. If you type loxtest in the console the server
will respond with Unknown command loxtest. You would normally type the
constants without quotes. If you use quotes around the CVAR the server will
respond just as well as without quotes. When the CVAR is setting a string value
that string MUST be in quotes. CVAR set commands are always preceded with the
word set. Typing set loxweaponban 0
sets the value to zero. Some values can be set while the server is running and
some must be set before the server begins, either by setting them on the
command line that starts the server or else in the server.cfg file.
Numeric values can be expressed in decimal, hexadecimal or
octal bases by following the C Language syntax: Numbers beginning with 1
through 9 are interpreted as decimal as in 1234, or 9500. The range of decimal
digits is 0 through 9. Numbers beginning with 0 are interpreted as octal as in
01777 or 064377. The range of octal digits is 0 thru 7. Numbers beginning with
0x are interpreted as hexadecimal numbers as in 0x8AFF or 0x1EE8 or
0xDEADBEEF. The range of hexadecimal digits is 0 through 9 and A through F
which represents the 16 values a hexadecimal digit can contain. Sometimes its
more convenient to represent very large decimal numbers as an 8-digit
hexadecimal string. For example the decimal number 3735928559 is the
hexadecimal 0xDEADBEEF.
Each CVAR in the server.cfg file should be entered in a line
by itself. Comments can be added by using the C++ comment delimiter //.
Examples of this can be found in the sample server.cfg files as well as this
document. Blank lines are permitted in the server.cfg file but if the line is
not blank and not controlling a CVAR, it must be a comment line. The format of
this document outlines the name of the CVAR, the default value the server will
set, the range of values the CVAR can assume and what feature the CVAR controls
and whether the CVAR can be modified while the game is running.
When changing cvars with RCON or through the console on an
active server its important to know that if you ban a weapon the effect of the
ban may not become immediately apparent. The weapon and feature bans do not
apply once a player has that item in his inventory. If a player already has the
banned weapon he will be able to continue to use it until hes fragged. Once he
re-spawns he will be denied the weapon or feature that was banned.
campertime
Range: 5 to 600
Default: 60
Set any time.
The number of seconds a player can stand in one spot before
he's warned about camping. There is a 5 second countdown after the warning
before the server kills him. This value is used only if DF_ANTICAMPER is set in
DMFLAGS.
coop
Range: 0|1
Default: 0
Latched. Value is set at startup only.
Make it a cooperative game. Human players vs. Strogg AIs.
This game is restricted to the original 48 single-player maps. No custom maps
allowed, set maplist 0. This is mutually exclusive with deathmatch and ctf
modes. Only set one of them to 1 at a time.
ctf
Range: 0|1
Default: 0
Latched. Value is set at startup only.
Make it a CTF (Extinction) game. Multi-player mode with
teams. This mode pits teams against each other for spawn pads and territory.
Red team vs. Blue team, the object is to tag spawn pads for your teams color
until all pads are converted to your color while killing the opposing team.
Once all pads are converted the game is won when all the other teams players
are fragged and cant respawn. This is mutually exclusive with deathmatch and
coop modes. Only set one of them to 1 at a time.
custom_ents
Range: 0|1
Default: 0
Set any time.
This allows deathmatch games to spawn custom entities from
the .ent files for each map on your server. This flag takes effect only after a
map change. See the documentation on how to create a custom ent file for
details. Use this feature to add more weapons or powerups to maps without the
need for changing the actual maps. In Extinction mode this flag has no effect.
deathmatch
Range: 0|1
Default: 0
Latched. Value is set at startup only.
Make it a deathmatch game. This is the classic multiplayer
mode. This is a free-for-all (FFA) mode or server can be set to recognize teams
by model or teams by skin. Mutually exclusive with coop and ctf modes. Only set
one of them to 1 at a time. Example: set deathmatch 1, set ctf 0, set coop 0 if
running a deathmatch server.
debugmodels
Range: 0|1
Default: 0
Set any time.
Print model debug info to server & client consoles. This
causes the server to print a debug message about the number of model indexes
consumed by the game in progress. Usually not used on a live server. Quake 2
limits the number of model indexes to 256. When this limit is exceeded some
games can crash the server. The LOX mod checks the model indexes and when the
limit is about to be reached it forces an EndDMLevel and cycles the game into
the next map in order to avoid server crashes. Use this CVAR only to check a
game map that seems to cause premature timeouts. Avoid using maps in your
server that cause this scenario.
dmflags
Range: 0 … 0xffffffff
Default: 0
Set any time.
Standard Quake 2 dmflags plus the additional LOX flags
listed here. See server_readme.txt for more current information.
DF_REVENGE_FACTOR = 65536
DF_DAYNIGHT = 131072
DF_ANTICAMPER = 262144
DF_HIGHFRAGGER =
524288
DF_WEAPONHEAT =
1048576
electallowveto
Range: 0 or 1
Default: 0
Set any time.
This controls whether a single NO vote can cancel an
election. This allows a single player to cause the election to terminate by
simply voting no. This can be abused. A majority of players may want a map
change, but a single player can veto the map change if this is set. If you want
elections to be unanimous, set electpercentage to 100.
electduration
Range: 10 to 120
Default: 30
Set any time.
This controls the duration of an election. Once an election
starts only those players that were in the game at the start of the election
can vote. The number of votes needed for the election to pass is set at the
start of the election. The player will have electduration seconds to type yes
or no in the consoles in order to vote. The election will remain open until
this time expires or it becomes mathematically impossible for it to pass. If
the vote passes the election action will take place immediately. At this time
the only item that can be voted is map change.
electpercentage
Range: 0 to 100
Default: 55
Percent of players required for a map change vote to pass.
Use 0 to inhibit map voting. When a map vote is initiated with the vote map
command the server counts the number of players, this count, times the
percentage, determines how many yes votes are needed for the vote to pass.
electreminders
Range: 0 to 6
Default: 3
Set any time.
This controls the number of reminders that will be sent
during an election. The interval is controlled by electduration divided by
electreminders.
electstarts
Range: 1 to 6
Default: 2
Set any time.
This controls the number of times per map a player can
initiate an election. This prevents vote spamming. A counter is kept for each
player and it is reset when a new map begins.
ext_devt
Range: 0 or 1
Default: 0
Latched, set at startup only.
Normally 0, set this to 1 to enable extinction map
development. This causes the server to print the names and locations of weapons
on the console when you run over them. Use the laser tripwire command to
identify particular map coordinates for placement of entities in ent files. Run
this with a dedicated server, setting the game as you nomally would, then
connect to the game and explore the map. The special server messages will be
displayed in your console and you can then condump the information and use it
for creating special ent files for adding weapons or other items to that map
without modifying the map file itself. Never set this to 1 in a live server.
featureban
Range: 0 to 0xffffffff
Default: 5
Set any time.
This is a 32-bit integer representing the bitmap
featurebans. Set the bit to ban the feature designated in the server_readme.txt
file.
fragban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap fragbans.
Set the bit to ban frags designated in the server_readme.txt file. Frag banning
is an interesting way to allow the weapon in the game but to discourage
frequent use of that weapon by preventing scoring for kills made with that
weapon.
fraglimit
Range: 0 …unlimited
Default: 0
This sets the score that will end a game map session. Any
reasonable limit is supported, set this above 100 at your own peril. Players
condemned to eternal game sessions have been known to hunt down admins. Setting
fraglimit to 0 sets no limit. When using coop mode timelimit and fraglimit
should be set to zero to allow the players to progress through the game scenes
along the story line.
gravity
Range: 0…65535
Default: 800
Set any time.
Formerly sv_gravity,
this controls the server gravity constant. 800 is full gravity. This CVAR is
reset to default on each map change. Maps can change server gravity as well,
for example, space.bsp sets server gravity to 100. Setting gravity to 0 leads
to some very freaky spider-man effects, letting you cling or walk on vertical
surfaces, etc. Setting gravity to a value greater than 32767 creates a negative
gravity effect. The defining gravity parameter for physics in Q2 is a two-byte
quantity (a short int), therefore the gravity is positive only when this number
is less than 32767.
g_nukes_takedamage
Range: 0 or 1
Default: 0
Set any time.
Setting this to 1 allows guided nukes to take damage and be
shot down.
g_rockets_takedamage
Range: 0 or 1
Default: 0
Set any time.
Setting this to 1 allows guided rockets to take damage and
be shot down.
highfraggerreward
Range: 0 to ?
Default: 2
This is the number of bonus points awarded to a player for
fragging the current high fragger. Set DF_HIGHFRAGGER in dmflags to enable this
feature.
homerseekowner
Range: 0|1
Default: 0
Determines whether homing and skipper rockets will seek the
player who launched them if a better target cant be found.
hostname
Range: any text
"Server Name"
Set the server's name string. This is the name of the server
as it will appear in game browsers like GameSpy or AllSeeingEye.
kamifrozen
Range: 0|1
Default: 0
This allows clients to go kamikaze if frozen or become
kamikaze from the kaminit weapon if they are frozen.
logarstats
Range: 0|1|2
Default: 0
This tells the server to log ARSG compatible frag and
statistical information. See http://www.alteredrealms.com/
for more information. Setting logarstats to 0 turns it off, 1 makes the server
log the data to lox/arsg.log and 2 makes it thread the statistics in the
qconsole.log file with the other logged information. You should leave it off or
log it separately. If you dont care to collect player statistics, leave it
off. This feature was added at special request but soon thereafter support of ARSG
by AlteredRealms was discontinued. We were told that ARSG would be modified to
include support for LOX but this did not materialize. At this late stage in the
life of Q2 it was not surprising.
logfile_name
Range: any valid filename
Default: qconsole.log
Set anytime. Usually set in server.cfg.
This tells the server what file name to use when logging
game information such as chats, kills, statistics, RCON commands, etc. in
dedicated server mode. This is a server engine CVAR not a LOX CVAR. Refer to
your server documentation.
logstats
Range: 0|1
Default: 0
This tells the server to log summary player statistics in
the server log between maps. This information is distinct from the ARSG
statistics.
loxarmorban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap
loxarmorbans. Set the bit to ban the armor designated in the server_readme.txt
file.
loxgrenadeban
Range: 0 to 0xfffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap grenade
bans. Set the bit to ban the grenade type designated in the server_readme.txt
file.
loxfeatureban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap
featurebans. Set the bit to ban the feature designated in the server_readme.txt
file.
loxsweeperban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap
loxsweeperbans. Set the bit to ban the sweeper designated in the
server_readme.txt file. Sweepers are the most-loved and the most-hated weapon
in LOX. You love it when you have it and you hate it when you dont. If your
server is infested with sweeper lovers that just cant learn about the other
fine weapons in LOX, this is your control.
loxtrackerban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap tracker
bans. Set the bit to ban the feature designated in the server_readme.txt file.
Trackers are mini-bots in the LOX game. Think of them as smart grenades. They
are deployed with the tracker command and the weapon they fire is the same
class of weapon the player was holding when the tracker was deployed. When a
tracker is banned it cannot be launched while holding a weapon of the banned
class. This makes it possible to allow a weapon but ban its use as a tracker.
Several weapons are permanently banned in LOX and they do not appear in the
tracker bans.
loxturretban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap turret bans.
Set the bit to ban the feature designated in the server_readme.txt file.
Turrets are mini-bots in the LOX game and they are sticky trackers. They can be
stuck on walls or ceilings where players are likely to be but not be likely to
see in time. They are deployed with the turret command and the weapon they
fire is the same class of weapon the player was holding when the turret was
deployed. When a turret is banned it cannot be launched while holding a weapon
of the banned class. This makes it possible to allow a weapon but ban its use
as a turret. Several weapons are permanently banned in LOX and they do not
appear in the turret bans.
loxweaponban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap loxweaponbans.
Set the bit to ban the LOX weapon associated with that weapon as designated in
the server_readme.txt file. This CVAR is used to control what LOX weapons are
available in the game when those weapons dont fit another category of bans.
maplist
Range: 1 to ??
Default: 0
Set any time.
This is both a Boolean value and an index to the line in the
server maplist.txt file. When set to zero, map list rotation will not occur.
This is used for coop servers where the standard map exits are used to change
maps instead of a custom map list. When set to 1 or greater, it allows the
server to use the maplist.txt file for selection of custom map rotation. This
value is incremented with every map change and points to the current map in the
maplist.txt file.
maplistfile
Range: text
Default: maplist.txt
Set any time.
This is the name of the maplist
file you want to use for the map rotation. The default is maplist.txt and the maplist variable points to the line in
the file naming the current map. The names of the maps are entered, one per
line, without the .bsp extension. The server will select the maps from this
file in sequence until the end of the file and then begin again at line 1.
maxclients
Range: 0 to 64
Default: 4
This sets the maximum number of clients that can be
connected to the server. The upper limit of this is 64 players or the limit of
your hosting server.
maxfloatingmines
Range: 0 to 10
Default: 7
This sets the maximum allowed floating mines per user. It
limits the number of deployed floating mines a player can have out at a time.
maxlasertrips
Range: 0 to 10
Default: 4
Allowed max laser tripwire per user. This controls the
number of deployed tripwires a player can have out at a time.
maxspectators
Range: 0 to maxclients
Default: 4
This controls the maximum number of spectators that can be
connected to the server. The upper limit is the active number of maxclients.
maxtrackers
Range: 0 to 10
Default: 3
Allowed max trackers per user. This controls the number of
deployed trackers a player can have out at a time.
maxturrets
Range: 0 to 10
Default: 3
Allowed max turrets per user. This controls the number of
deployed turrets a player can have out at a time.
motdfile
Range: any valid filename
Default: motd.txt
Controls the name of the motto of the day (motd) file the
server will display when a new player connects to the server. Fill the motd
file with your servers banner or pointers to your clan website.
nightdaytime
Range: 0 for off, 0.5 to timelimit to enable
Default: 0
Set any time.
This controls the time in minutes for one day-night-day cycle during a match. Set it equal to "timelimit" for one day per timelimit. Set it to 1/2 timelimit for 2 cycles per timelimit, etc. Default value is 0 minutes, if you set it to 0 the day-night cycle is disabled. You can set it down to 1 or even a fraction of a minute for some really bizarre effects, but keep in mind that doing this causes the server to send a new configstring broadcast at every brightness change and this can cause lag. Changing this cvar controls the daynight cycle immediately. If you set timelimit to less than the current nightdaytime, the nightdaytime is automatically adjusted at the next map change to equal the new lower timelimit so you get at least one daynight cycle in a time limited game.
minlevel
Range: 0 to 2
Default: 0
Set any time.
This controls the minimum light level that will be sent at "midnight" of the day/night cycle. 0 is near total darkness, only the sky emits much light, 1 and 2 represent twilight levels, allowing pads and powerups to glow. Max is 2, if you really don't want it brighter than that don't bother cycling day/night. The number of server frames per light level is adjusted to keep the day/night cycle at the value determined by nightdaytime. Changing this cvar controls the daynight cycle immediately.
password
Range: text
Default: empty
Set any time.
Causes server to require a password from clients in order to
connect. Typically used for tournament games or private servers.
public
Range: 0|1
Default: 0
Set any time.
Causes server to send heartbeats and announce itself as a
public server to be listed on master servers. Not a LOX CVAR, this is listed
here for reference. This is a Quake 2 server CVAR.
respawn_protect
Range: 0 to 6
Default: 5
Set any time.
Spawning players remain invulnerable for the number of
seconds specified in this constant. The purpose of spawn protection is to allow
re-spawned players time to grab the nearest weapon and get into the action.
Increase or decrease this value according to your own criteria for game action.
Too high, and the protection favors re-spawners who might select the best
default weapon and frag vulnerable players in range. Too low, and re-spawning
players dont have enough time to get to weapons and powerups.
revengereward
Range: 0 to 6
Default: 1
This sets the number of frags a player gets for scoring
against another player while flying the angle of revenge.
setmaster
Range: any text
Usually q2master.planetquake.com master0.gamespy.com
satan.idsoftware.com udp.speakeasy.net or other master servers. This is the
list of master servers the server will send heartbeats to if public is 1.
skill
Range: 1 to 3
Default: 1
Latched.
This sets the skill level of the game in single player mode
or in cooperative mode. This controls the intelligence, number and accuracy of
the monsters. Set skill to 3 for maximum monster effects in coop. As it is, the
monsters wont stand a chance against the LOX weaponry.
spectator_password
Range: Text
Default: empty
Set any time.
Sets the password required from a client in order to become
a spectator. Usually used for tournament games or to restrict spectator mode to
authorized players.
timelimit
Range: 0… ?
Default: 0
Set any time.
This sets the time that a map will be played if no player
hits the frag limit. Any reasonable limit is supported, set this above 60 at
your own peril. Players condemned to eternal game sessions have been known to
hunt down admins. Setting timelimit to 0 sets no limit. When using coop mode
timelimit and fraglimit should be set to zero to allow the players to progress
through the game scenes along the story line.
weaponban
Range: 0 to 0xffffffff
Default: 0
Set any time.
This is a 32-bit integer representing the bitmap weaponbans.
Set the bit to ban the weapon designated. See server_readme.txt for
documentation of the bits.