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 it’s 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 it’s 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 he’s 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 AI’s. 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 team’s players are fragged and can’t 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 can’t 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 don’t 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 don’t. If your server is infested with sweeper lovers that just can’t 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 don’t 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 server’s banner or pointers to your clan website.
nightdaytime
Range: 0 to “timelimit”
Default: 13
Set any time.
When to cycle day and night times on each map session.
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 don’t 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 won’t 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.
|
// dmflags |
|
|
// These turn features ON as opposed to banning them. |
|
|
DF_NO_HEALTH |
1 |
|
DF_NO_ITEMS |
2 |
|
DF_WEAPONS_STAY |
4 |
|
DF_NO_FALLING |
8 |
|
|
|
|
DF_INSTANT_ITEMS |
16 |
|
DF_SAME_LEVEL |
32 |
|
DF_SKINTEAMS |
64 |
|
DF_MODELTEAMS |
128 |
|
|
|
|
DF_NO_FRIENDLY_FIRE |
256 |
|
DF_SPAWN_FARTHEST |
512 |
|
DF_FORCE_RESPAWN |
1024 |
|
DF_NO_ARMOR |
2048 |
|
|
|
|
DF_ALLOW_EXIT |
4096 |
|
DF_INFINITE_AMMO |
8192 |
|
DF_QUAD_DROP |
16384 |
|
DF_FIXED_FOV |
32768 |
|
|
|
|
DF_REVENGE_FACTOR |
65536 |
|
DF_DAYNIGHT |
131072 |
|
DF_ANTICAMPER |
262144 |
|
DF_HIGHFRAGGER |
524288 |
|
|
|
|
DF_WEAPONHEAT |
1048576 |
|
|
|
|
// Weapon banning flags. |
||
|
//weaponbans |
||
|
WB_SUPERBLASTER |
0x00000001 |
//1 |
|
WB_SHOTGUN |
0x00000002 |
//2 |
|
WB_SNIPERGUN |
0x00000004 |
//4 |
|
WB_SUPERSHOTGUN |
0x00000008 |
//8 |
|
|
|
|
|
WB_FREEZEGUN |
0x00000010 |
//16 |
|
WB_MACHINEGUN |
0x00000020 |
//32 |
|
WB_MACHINEROCKETGUN |
0x00000040 |
//64 |
|
WB_BURSTMACHINEGUN |
0x00000080 |
//128 |
|
|
|
|
|
WB_CHAINGUN |
0x00000100 |
//256 |
|
WB_STREETSWEEPER |
0x00000200 |
//512 |
|
WB_GRENADE |
0x00000400 |
//1024 |
|
WB_CLUSTERGRENADE |
0x00000800 |
//2048 |
|
|
|
|
|
WB_RAILBOMB |
0x00001000 |
//4096 |
|
WB_PLASMAGRENADE |
0x00002000 |
//8192 |
|
WB_NAPALMGRENADE |
0x00004000 |
//16384 |
|
WB_SHRAPNELGRENADE |
0x00008000 |
//32768 |
|
|
|
|
|
WB_GRENADELAUNCHER |
0x00010000 |
//65536 |
|
WB_BAZOOKA |
0x00020000 |
//131072 |
|
WB_ROCKETLAUNCHER |
0x00040000 |
//262144 |
|
WB_HOMINGROCKETLAUNCHER |
0x00080000 |
//524288 |
|
|
|
|
|
WB_HYPERBLASTER |
0x00100000 |
//1048576 |
|
WB_PLASMARIFLE |
0x00200000 |
//2097152 |
|
WB_RAILGUN |
0x00400000 |
//4194304 |
|
WB_FLAMETHROWER |
0x00800000 |
//8388608 |
|
|
|
|
|
WB_BFG10K |
0x01000000 |
//16777216 |
|
|
|
|
// Banning flags for the WoD:LOX weapon extensions
|
//loxweaponban |
|
|
LWB_AIRFIST |
0x00000001 //1 |
|
LWB_SWORD |
0x00000002 //2 |
|
LWB_PULSERIFLE |
0x00000004 //4 |
|
LWB_NAILGUN |
0x00000008 //8 |
|
|
|
|
LWB_BUCKY |
0x00000010 //16 |
|
LWB_SKIPPERHOMINGROCKET |
0x00000020 //32 |
|
LWB_CATACLYSMDEVICE |
0x00000040 //64 |
|
LWB_GUIDEDNUKE |
0x00000080 //128 |
|
|
|
|
LWB_GUIDEDMISSILE |
0x00000100 //256 |
|
LWB_POSITRON |
0x00000200 //512 |
|
LWB_STICKGRENADELAUNCHER |
0x00000400 //1024 |
|
LWB_ICECUBEGUN |
0x00000800 //2048 |
|
|
|
|
LWB_DURG |
0x00001000 //4096 |
|
LWB_LIGHTNINGGUN |
0x00002000 //8192 |
|
LWB_DOUBLEIMPACT |
0x00004000 //16384 |
|
LWB_FBFG |
0x00008000 //32768 |
|
|
|
|
LWB_DISINTEGRATOR |
0x00010000 //65536 |
|
LWB_VACUUMMAKER |
0x00020000 //131072 |
|
LWB_ENERGYVORTEX |
0x00040000 //262144 |
|
LWB_SPIRALROCKETLAUNCHER |
0x00080000 //524288 |
|
|
|
|
LWB_SONICRAILGUN |
0x00100000 //1048576 |
|
LWB_EXPLOSIVESHOTGUN |
0x00200000 //2097152 |
|
LWB_EXPLOSIVESUPERSHOTGUN |
0x00400000 //4194304 |
|
LWB_EXPLOSIVEMACHINEGUN |
0x00800000 //8388608 |
|
|
|
|
LWB_KAMINIT |
0x01000000 //16777216 |
|
LWB_WALLPIERCINGRAILGUN |
0x02000000 //33554432 |
|
LWB_NUKE |
0x04000000 //67108864 |
|
LWB_FLOATINGMINELAUNCHER |
0x08000000 //134217728 |
|
|
|
|
LWB_ANTIMATTERCANNON |
0x10000000 //268435456 |
|
LWB_SUPERRAILSHOTGUN |
0x20000000 //536870912 |
|
LWB_FREEZATRON |
0x40000000 //1073741824 |
|
//loxtrackerban |
|
|
LTB_BFG10K |
0x00000001 //1 |
|
LTB_FBFG |
0x00000002 //2 |
|
LTB_FREEZEGUN |
0x00000004 //4 |
|
LTB_NAILGUN |
0x00000008 //8 |
|
|
|
|
LTB_BUCKY |
0x00000010 //16 |
|
LTB_RAILGUN |
0x00000020 //32 |
|
LTB_ENERGYVORTEX |
0x00000040 //64 |
|
LTB_KAMINIT |
0x00000080 //128 |
|
|
|
|
LTB_SNIPERGUN |
0x00000100 //256 |
|
LTB_POSITRON |
0x00000200 //512 |
|
LTB_STICKGRENADELAUNCHER |
0x00000400 //1024 |
|
LTB_ICECUBEGUN |
0x00000800 //2048 |
|
|
|
|
LTB_DURG |
0x00001000 //4096 |
|
LTB_LIGHTNINGGUN |
0x00002000 //8192 |
|
LTB_DOUBLEIMPACT |
0x00004000 //16384 |
|
LTB_DISINTEGRATOR |
0x00008000 //32768 |
|
|
|
|
LTB_PULSERIFLE |
0x00010000 //65536 |
|
LTB_EXPLOSIVESHOTGUN |
0x00020000 //131072 |
|
LTB_EXPLOSIVESUPERSHOTGUN |
0x00040000 //262144 |
|
LTB_EXPLOSIVEMACHINEGUN |
0x00080000 //524288 |