QuakeWorld Console Commands


Below, you'll find everything you ever needed to know about console commands for
QuakeWorld. All commands are in alphabetical order, and have all valid arguments
listed. Please report any errors in documentation directly to qwc@stomped.com.



[s] - designates a server command [c] - designates a client command



Many thanks to John Carmack, who put up with an endless barrage of questions
during beta testing to develop this document. -R.


------------------------------------------------------------------------


_windowed_mouse <n> (0=off; 1=on) [c]



Turns mouse support in windowed modes off and on. Default is off.



+showteamscores [c]



When used as a CLI argument, +showteamscores displays a team score summary at
intermission and death screens. The [tab] key toggles between this display and
the normal scoreboard when used in this fashion.

Usage:



qwcl +showteamscores



Binding this command to a key will allow you to view the team score summary when
said key is pressed.

For example:



bind y +showteamscores



would bind the display of the screen to the [y] key.



addip <IP#> [s]



Adds an IP to the banlist. The ban will not be permanent unless a writeip is
issued. Bans can be in the format x.x.x.x, or, to filter out a domain, specify
the first 3 components of the IP number as x.x.x.

For example:



addip 192.246.40



would keep everyone from id software off your server.

Note: Bans can only be in IP format. you cannot ban, for example, *.some_isp.com.

see also: listip, removeip, status, writeip



allow_download (0=off; 1=on) [s]



Tells the server whether it should allow downloads or not. Setting the flag to 0
disables server downloads, whereas 1 allows them. The default setting is 1.



allow_download_skins (0=off; 1=on) [s]



Tells the server whether it should allow skin downloads or not. Setting the flag
to 0 disables skin downloads, whereas 1 allows them. The default setting is 1.

see also: allow_download_models, allow_download_sounds, allow_download_maps



allow_download_models (0=off; 1=on) [s]



Tells the server whether it should allow model downloads or not. Setting the flag
to 0 disables model downloads, whereas 1 allows them. The default setting is 1.

see also: allow_download_skins, allow_download_sounds, allow_download_maps



allow_download_sounds (0=off; 1=on) [s]



Tells the server whether it should allow sound downloads or not. Setting the flag
to 0 disables sound downloads, whereas 1 allows them. The default setting is 1.

see also: allow_download_skins, allow_download_models, allow_download_maps



allow_download_maps (0=off; 1=on) [s]



Tells the server whether it should allow map downloads or not. Setting the flag
to 0 disables map downloads, whereas 1 allows them. The default setting is 1.

see also: allow_download_skins, allow_download_models, allow_download_sounds



bottomcolor <#> [c]



Sets the players bottom color (see also color). Valid values are 0-15.

see also: color, topcolor.



cl_hightrack (0=off, 1=on) [c]



Enables/disables "chasecam" view of the player with the highest frags while in
spectator mode.

see also: spectator



cl_nodelta <n>(0=off; 1=on) [c]



Enables/disables player delta compression."0" allows compression, "1" disables
it. If you have an isp with a poor connection, and are getting U_REMOVE warnings,
set cl_nodelta to "1".



cl_predict_players (0=off; 1=on) [c]



Turns enemy player prediction on and off. Default is on.



cl_warncmd (0=off; 1=on) [c]



Turns warning message surpression on and off (essentially eliminating the
"unknown command" messages seen in versions prior to 1.64.) The default setting
is 0.



cmd msg <0, 1, 2, 3> [c]



Sets the message level that the server will transmit to the client. "0" is
everything. "3" is nothing. "1" and "2" are degrees in between.



color <#> <#> [c]



Behaves like the original quake command, setting both topcolor and bottomcolor.
Default color is 0,0 (white).



deathmatch <1, 2, 3> [s]



Selects the deathmatch options for the server.

Deathmatch 1 is normal deathmatch; all items, weapons, and powerups can be picked
up and respawn. Ammo respawns after 30 seconds. Deathmatch 1 is the server
default.

Deathmatch 2 leaves weapons on the map. You can only pick up a weapon once.
Ammunition, artifacts and armor do not respawn.

Deathmatch 3 combines deathmatch 1 and deathmatch 2. You can pick up a weapon
only once. Ammunition respawns every 15 seconds. All other items respawn
normally.



edict <number> [s]



Dumps a single edict structure for debugging. 0 is the world, 1-32 are players,
etc.



edictcount [s]



Returns counts of some entity classifications.



edicts [s]



Dumps everything in the world.

WARNING: This command will dump a large amount of data to the console display.
You will require a large scrollback buffer to view it all. For this reason, a
logfile is recommended when using edicts.

see also: logfile



filterban (0=off; 1=on) [s]



If filterban is set to 0, then only addresses matching the list will be allowed.
This lets you easily set up a private game, or a game that only allows players
from your local network.

If filterban is set to 1 (the default), then ip addresses matching the current
list will be prohibited from entering the game. This is the default setting.



fraglogfile [s]



Turns on or off the logging of kills to a logfile and reporting to external frag
polling programs.



gamedir <gamedir> [c] [s]



Changes the qw addon, or "game", directory.

A new level should be started after setting gamedir for the changes to take
effect. For example, if you want to change the server from normal quake into a
Threewave Capture the Flag server, you should execute the following commands at
the console:



gamedir ctf map ctf1



see also: map



give <userid> <entity> [s]



Gives the specified <entity> to the user specified by the <userid>.

The give command will only be valid if the server was launched with the -cheats
command line parameter. A cheating enabled quake server will have "*cheats on" in
its serverinfo for everyone to see.

An example would be:



give 57 6



This would give user 57 a grenade launcher.



god <userid> [s]



Gives the player specified by the <userid> god mode.

The god command will only be valid if the server was launched with the -cheats
command line parameter. A cheating enabled quake server will have "*cheats on" in
its serverinfo for everyone to see.



heartbeat [s]



Forces a heartbeat message to be sent to all listed masters. Mostly used for
debugging.



hostname <name> [s]



Sets the name of the server that appears within the qPlug and QWFE interfaces.



kick <userid> [s]



Kicks the specified user off the server. A valid <userid> must be used for the
kick to work. The <userid> can be obtained using the status (server) or users
(client) commands.

see also: status, users



listip [s]



Lists the current banlist to the console display.

see also: addip, removeip, status, writeip



logfile [c]



This turns on or off the logging of console text to the file qconsole.log in the
current game directory.



map <mapname> [s]



Changes the map the server is running to the mapname specified, taking all
connected clients along.



maxclients <#> [s]



Sets the maximum number of clients that can join a server.

see also: maxspectators



maxspectators <#> [s]



Sets the maximum number of clients that can join as spectators. The maxpectators
variable cannot exceed the value of the maxclients variable.

see also: maxclients



messagemode2 [c]



Sents a message to teammates only (see "team", "teammode"). It has a distinct
"say_team:" prompt. This command is not bound to a key by default. You can do so
by adding a line to your autoexec.cfg or config.cfg :



bind <key> "messagemode2"



where <key> is the key you wish to assign the chat prompt to.



name <name> [c]



Assigns the player a name. Default is "unnamed"



noaim (0=off; 1=on) [c]



Turns on/off aiming assistance. "0" allows autoaim. "1" diasbles it.



noclip <userid> [s]



Allows the player specified by the <userid> to walk through walls.

The noclip command will only be valid if the server was launched with the -cheats
command line parameter. A cheating enabled quake server will have "*cheats on" in
its serverinfo for everyone to see.



noskins (0=off; 1=on) [c]



Turns on/off dynamic skin downloading. "0" allows downloads. "1" prevents
downloads.



password <password> [c] [s]



client: Assigns a specified password to the password variable. This variable must
be set prior to joining a password protected server or you will not be admitted
into the game.

server: Assigns a password to a server. Clients attempting to join must have a
valid matching password variable set to connect.



playdemo <file> [c]



Plays back a previously recorded demo file. (v 1.64)

see also: record



pushlatency -<time in milliseconds> [c]



Sets the amount of reverse prediction (in milliseconds) you wish to use with
QWCL. Simply stated, the QuakeWorld client will make educated guesses as to
condition changes in the gaming world in the moments it loses contact with the
server between game packets. The result of this is smoother gameplay on the
client end. Always set pushlatency to negative values.



quit [c] [s]



client: Disconnects the client from the server and terminates QWCL.

server: Kicks all connected clients off the server and terminates QWSV.



rate <#> [c]



Sets the datastreaming rate to your client from the server. 2500 is the default
setting, and should be sufficient for most modem/ppp users. ISDN or better
connections should set rate to 5000.



rcon_password <password> [c] [s]



client: Sends the specified password to the server requesting access to server
console commands.

server: Sets the rcon_password to the specified string. This variable must be set
from the console of the server if you wish to allow remote sysadmin functions
from connected clients.



reconnect [c]



Disconnects and reconnects you to the current/last server to which QWCL was
connected.



record <file> <server> [c]



Starts a demo recording to the specified file (no extension needed), and connects
the client to the specified server. (v 1.64)

Note: The .qwd demo files recorded by the QW client are not compatible with the
demo files recorded by DOS/Win/GLQuake.

Note: Autodownloads are disabled during demo recording sessions.

see also: playdemo



removeip [s]



Removes a mask from the banlist. The ban to be removed must be in the same format
it was issued in with the addip command.

see also: addip, listip status, writeip



r_netgraph (0=off; 1=on) [c]



Shows a graphical display of the datastream between the client and the server.
Yellow lines are intentionally dropped packets due to rate. Red lines are packets
dropped by network errors. Blue lines indicate bad delta compression offsets. If
you see a lot of blue lines, you may need a new ISP.



samelevel (0=off; 1=on) [s]



Tells the server to repeat the map if exited by a player. The default is
samelevel 0.

samelevel 0 allows player to change levels via teleporter

samelevel 1 repeats the level

samelevel 2 is the same as noexit 1-- it kills a player attempting to exit the
level.

samelevel 3 is the same as noexit 2-- it kills a player attempting to leave the
level unless the level is start.bsp.



say <text> [c] [s]



client: Sends a chat message to any connected clients.

server: Sends a chat message from console to any connected clients.

see also: messagemode2



serverinfo <key> <value> [s]



With no parameters, dumps all the the serverinfo key/value pairs. "serverinfo
<key> <value>" will set an arbitrary value. To remove a key/value pair, do
serverinfo <key> "".

An example of this would be



serverinfo admin qwc@stomped.com



This would display the key/value pair "admin: qwc@stomped.com" to anyone using
the qPlug or qspy interfaces in the serverinfo window.

One of the new serverinfo key/pairs in 1.50 is rj. This serverside variable
controls a multiplier variable that will modify the "splash kick" used for rocket
jumping in QuakeWorld. "1" is the default value. Increasing the value adds kick,
decreasing it cuts it back. For example:



serverinfo rj 6



would make a rocketjumper fly 6 times higher than in normal QW! Of course, the
splash would also slam you into walls and off precipices more often as well.



setinfo <key> <value> [c]



With no parameters, dumps all the the setinfo key/value pairs. "setinfo <key>
<value>" will set an arbitrary value. To remove a key/value pair, do setinfo
<key> "".

An example of this would be



setinfo e-mail qwc@stomped.com



This would display the key/value pair "e-mail: qwc@stomped.com" to anyone using
the qspy interface in the player info window.



skin <skin_filename> [c]



Assigns a skin model to the the player. The default skin is always base.pcx.



setmaster <masteraddress 1> <masteraddress 2> <masteraddress 3>... [s]



Tells the server to report it's status to the specified master(s). A server can
report when it is up or down to up to eight seperate master server lists.



spectator <1 or password> [c]



To join a server as an observer, set this variable to "1". If the server has a
password on observer mode, set this variable to match the server's
spectator_password.

Spectators can fly and walk through walls, however, they cannot interact with
other players or the environment.

This variable must be set prior to joining the server.

see also: spectator_password.



spectator_password <password> [s]



Assigns a spectator password to the server. Clients wishing to connect the server
as an observer must have the spectator flag enabled as well as provide the
correct spectator_password.

see also: spectator



status [s]



Returns information about system load and detailed information on connected
users, including IPs (used for banlists), and aversage ping response times.

Note: If the system load exceeds 90%, the maxclients variable should be lowered.

see also: addip, listip, maxclients, removeip, writeip



sv_gamedir [s]



allows servers to report a gametype to a client, which can then use the
appropriate local game directory.

An example would be:



gamedir teamfort sv_gamedir tf



the first command, tells the server to use the physical directory "teamfort", and
the sv_gamedir command tells the server to pass the variable "tf" to the the
client, which will then use the appropriate gamedir on their local drive.

see also: gamedir



sv_spectalk (0=off, 1=on) [s]



Controls spectator chatting capablity. If off, spectators messages are echoed to
all players, if on, spectators can only talk to other spectators. Default is 1.



team <teamname> [c]



Assigns a 4 character string as the players team on teammode 1, teammode 2 and
teammode 3 servers. 'Team' is now used to assign a player to a team instead of
bottomcolor. Valid team names would be "id", "red" or "u8it"



teamplay <0, 1, 2, 3> [s]



Selects the teamplay options for the server.

Teamplay 0 is straight Deathmatch, your shots hurt everyone-- including yourself.

Teamplay 1 allows you only to hurt players on a team other than your own. You
cannot hurt yourself or your teammates.

Teamplay 2 allows you to hurt anyone. If you kill yourself or a teammate, you
lose a frag.

Teamplay 3 is a combination of teamplay 1 and 2. You cannot hurt your teammates,
but you can hurt yourself. This option is usually used on Threewave Capture the
Flag servers.



topcolor <#> [c]



Sets the players top color. Valid values are 0-15.

see also: color, bottomcolor



user <userid> [s]



Dumps the userinfo data for a specific player to the console display. A valid
<userid> must be specified. Userids can be obtained using the status command.

see also: status



windows [c]



Swaps a client in full screen mode to windows.



writeip <ip> [s]



Dumps the active banlist to listip.cfg so it can be execed at a later date. You
must execute this command to save any bans you wish to be permanent.

see also: addip, listip, removeip, status

<Picture>

<? INCLUDE "../banners/adgen1.html">

The QuakeWorld Server To run a QuakeWorld server you will require an installed
REGISTERED version of Quake on a Windows95 or WindowsNT system with a MINIMUM of
16 megabytes of RAM. To install the server component of QuakeWorld, unzip
qwsv0812.zip into your Quake directory. Inside your Quake directory create a QW
directory, then inside the QW directory, create a SKINS directory. Move the
PROGS.DAT file that came with QWSV into the QUAKE/QW directory. Move any skin
files (the files with a .pcx extension) into the QUAKE/QW/SKINS directory. You
are now ready to start the server.

Note: Persons considering running QuakeWorld servers should be aware that
connections less than a 256K T1 will cause substantial performance problems for
the clients. Unlike Quake servers, all QuakeWorld servers run in dedicated mode
only.

Starting and Running QWSV.EXE From the command prompt, enter your Quake
directory, type "qwsv", and hit [enter]. This will start a QuakeWorld server
using the default settings. When executing QWSV, you can use any of the following
command line parameters:



-master <IP address>

Connects to the master server located at the specified IP address. By default,
QWSV starts in a masterless mode.

-port <port number>

Specifies an alternate port for the server to listen to for connections from
clients. By default, QWSV listens to port 27500.

+gamedir <path>

Specifies the location of alternate progs.dat, map, model, and/or skins
directories. This option is most often used for servers running modifications
such as Powerball, Threewave’s Capture the Flag, or Clanring Server mods. By
default, QuakeWorld uses the QW directory.

-cheats

Enables the give, god, and noclip commands. See the console commands section for
instructions on their use. Intended for debugging purposes only.

When cheats are active, the server will display the locked key/value pair
"*Cheats Active" in qPlug and QWFE.





You can also use any of the console commands as startup arguments by preceeding
them with a "+". An example would be:


qwsv +gamedir ctf +maxclients 32



Which would start a CTF server allowing a maximum of 32 players into the game.

Once the server is up and running, you may wish to set a few operational
parameters, such as:

deathmatch <1, 2, 3>



Selects the deathmatch options for the server. Deathmatch 1 is the server
default.

Deathmatch 1 is normal deathmatch; all items, weapons, and powerups can be picked
up and respawn. Ammo respawns after 30 seconds.

Deathmatch 2 leaves weapons on the map. You can only pick up a weapon once.
Ammunition, artifacts and armor do not respawn.

Deathmatch 3 combines deathmatch 1 and deathmatch 2. You can pick up a weapon
only once. Ammunition respawns every 15 seconds. All other items respawn
normally.



gamedir <gamedir>



Changes the qw add-on, or "game", directory.

A new level should be started after setting gamedir for the changes to take
effect. For example, if you want to change the server from normal quake into a
Threewave Capture the Flag server, you should execute the following commands at
the console:



gamedir ctf map ctf1



hostname <name>



Sets the name of the server that appears within the qPlug and QWFE interfaces.



maxclients <#>



Sets the maximum number of clients that can join a server.



maxspectators <#>



Sets the maximum number of clients that can join as spectators. The maxpectators
variable cannot exceed the value of the maxclients variable.



password <password>



Assigns a password to a server. Clients attempting to join must have a valid
matching password variable set to connect.



rcon_password <password>



Sets the rcon_password to the specified string. This variable must be set from
the console of the server if you wish to allow remote sysadmin functions from
connected clients.



serverinfo rj <#>



Sets the rocket jump multiplier for the server. Valid settings are 1 and greater.
The default setting is 1 (normal).



More settings can be viewed in the console commands section of Quakewold Central.

The server.cfg File <Picture>

Another useful tool built into the QuakeWorld is the server.cfg file. If the file
exists in your main quake directory, it is automatically executed each time the
server is spawned. Just as an autoexec.cfg maintains player preferences for the
client, server.cfg automatically executes any console commands that the server
admin wants run every time the server is started. Useful settings which are
typically found in the server.cfg file are: maxclients, maxspectators,
servername, password, spectator_password, rcon_password, deathmatch options, and
teamplay options. You can download a sample server.cfg file in the files section
of QuakeWorld Central.

Server Administration <Picture>

The QuakeWorld server has several options for security. The above section
mentioned methods of making password protected servers; this section deals with
how to create and andministrate filterlists that will allow you to ban and allow
clients on more "public" servers.

You can add or remove addresses from the filter list with: addip and removeip,
respectively.

The ip address is specified in standard dot format, and any unspecified digits
will match any value, so you can specify an entire class C network with addip
XXX.XXX.XX.

IPs are removed from the banlist by using the removeip command. Removeip will
only remove an address specified in exactly the same way it was added to the
banlist with the addip command. You cannot addip a subnet, then removeip a single
host.

The listip command will display a listing of the current filters in effect to the
console screen.

The writeip command dumps current filter list to the file listip.cfg so it can be
exec-ed at a later date. This command must be issued if you wish the filters to
be saved!

The filterban command dictates how the information in the filter listing is used.
It can be set up in one of two ways:

If the filterban flag is set to 0, then only addresses matching the list will be
allowed. This lets you easily set up a private game, or a game that only allows
players from your local network.

If the filterban flag is set to 1, then ip addresses matching the current list
will be prohibited from entering the game. This is the default setting.

A detailed description of these and other console command may be found on the
console commands section of QuakeWorld Central.

QuakeWorld Server CVARS <Picture>

The following is a listing of cvars set up at the server, and their default
settings. They may be changed at your discression from the console.



sv_aim 0.93 sv_mintic 0.03 sv_maxtic 0.1 developer 0 deathmatch 1 timeout 65
zombietime 2 rcon_password "" password "" spectator_password "" allow_download 1
fraglimit 0 timelimit 0 teamplay 0 samelevel 0 maxclients 8 maxspectators 8
hostname unnamed filterban 1 sv_gravity 800 sv_maxvelocity 2000 cl_rollspeed 200
cl_rollangle 2.0 sys_nostdout 0



Shutting Down the Server <Picture>

To terminate the server, type quit at the console.



