QuakeWiki
June 11, 2021

QuakeWorld Server Console Commands

Abstract

Author: JakFrost
Email: jakfrost(at)planetquake(dot)com
Web Site: http://www.planetquake.com/console/
Created: April 13, 1997
Last Modified: May 18, 2000
Based On: QuakeWorld v2.30
Source: http://www.planetquake.com/console/commands/quakeworld_server.html

Copyright (C) 1997-2000 JakFrost, All Rights Reserved

This is the complete list of console commands, console variables, and command line parameters for QuakeWorld Server. All console commands and variables are identified, documented, tagged, and classified. This document has been designed to help out all those people who want to customize the game to their liking.


Table Of Contents

  1. Introduction
  2. Command Types Key
  3. Console Commands List
  4. Command Line Parameters List
  5. Version Information
  6. Legal
    1. Copyright
    2. License
    3. Trademarks and Servicemarks
    4. Warranty Disclaimer

1. Introduction

This is the complete list of commands for the QuakeWorld Client. All commands are identified, documented, tagged, and classified. With permission, I have used the work of Daniel “Prog” Rinehart and information from his web site – Quake Console Command Pages – to complete my list. I have also visited the QuakeWorld Central Console List a few times to gain some insight into a couple of troubling commands.

2. Command Types Key

Command:
Performs a command, sometimes with extra parameters. The default syntax is “command“.
Parameter:
Command line parameter used upon launching the executable file. The Type: field is not shown for parameters because of the seperate list. The default syntax is “-parameter“.
Toggle:
Toggles the setting between known attributes, usually on and off only. The default syntax is “command (0|1)“.
Variable:
Allows for the change of a game variable with numeric input. The default syntax is “command (value)“.

3. Console Commands List

addip

Type: Command

Syntax: addip (IP address)

Description: Add a single IP or a domain of IPs to the IP list of the server. Very useful for banning people or for specifing which IPs only have access to the server.

Example:
addip 123.123.123.123
addip 123.123.123

alias

Type: Command

Syntax: alias (name) “(command list)”

Description: Used to create a reference to a command or list of commands. When used without parameters it displays all current aliases.

Note: Enclose multiple commands within double-quotes (“) and seperate each command with a semi-colon (;).

Example:
alias
alias quickaxe “impulse 1;wait;+attack;wait;-attack”
alias sayhi “say Hi foo!”

allow_download

Type: Toggle

Default: 1

Description: Toggle if clients can download game data from the server. Useful for protecting commerial game data from being download by users or when restricting the use of the server to people who only have the necessary files.

allow_download_maps

Type: Toggle

Default: 1

Description: Toggle if clients can download maps files (.BSP) from the server.

allow_download_models

Type: Toggle

Default: 1

Description: Toggle if clients can download model files (.MDL) from the server.

allow_download_skins

Type: Toggle

Default: 1

Description: Toggle if clients can download skin files (.PCX) from the server.

allow_download_sounds

Type: Toggle

Default: 1

Description: Toggle if clients can download sound files (.WAV) from the server.

cl_rollangle

Type: Variable

Default: 2.0

Description: * Non-functional. How much a player’s screen tilts when strafing.

cl_rollspeed

Type: Variable

Default: 200

Description: * Non-functional. How quickly a player straightens out after strafing.

deathmatch

Type: Toggle

Syntax: deathmatch (1|2|3)

Default: 1

Description: Sets the rules for weapon and item respawning.

Values:
1 – Does not leave weapons on the map. You can pickup weapons and items and they will respawn.
2 – Leaves weapons on the map. You can only pick up a weapon once. Picked up items will not respawn.
3 – Leaves weapons on the map. You can only pick up a weapon once. Picked up items will respawn.

developer

Type: Toggle

Default: 0

Description: Toggle verbose output of server information. Useful for diagnosing problems and learning more about the server.

echo

Type: Command

Syntax: echo (string)

Description: Display text to the console.

Note: Quotes around the string are not neccessary for this command. This is an excpetion.

Example: echo I love Quake!

edict

Type: Command

Syntax: edict (edict number)

Description: Report information on a given edict in the game.

Example: edict 128

edictcount

Type: Command

Syntax: edictcount

Description: Display summary information on the edicts in the game.

edicts

Type: Command

Syntax: edicts

Description: Display information on all edicts in the game.

exec

Type: Command

Syntax: exec (filename)

Description: Execute a script file containing commands and aliases.

Example: exec mysetup.cfg

filterban

Type: Toggle

Syntax: filterban (0|1)

Default: 1

Description: Determines the rules for the IP list. Useful for limiting the access to the server in a very specific way based on IP addresses.

Values:
0 – Only IP addresses on the Ban list will be allowed onto the server.
1 – Only IP addresses NOT on the Ban list will be allowed onto the server.

floodprot

Type: Command

Syntax: floodprot (number of messages) (number of seconds) (silence time in seconds)

Default: 4 4 10

Description: Sets the options for flood protection. Useful for keeping those people that constantly repeat messages in check.

Example:
floodprot 4 8 30
floodprot 2 1 10

floodprotmsg

Type: Command

Syntax: floodprotmsg “(string)”

Description: Sets the message displayed after flood protection is invoked.

Example: floodprotmsg “Shut up foo!”

flush

Type: Command

Syntax: flush

Description: Flush the server cache.

fraglimit

Type: Variable

Default: 0

Description: Amount of frags a player must attain in order to exit the level.

fraglogfile

Type: Command

Syntax: fraglogfile

Description: Enables logging of kills to a file. Useful for external frag polling programs. The file name is frag_##.log.

gamedir

Type: Command

Syntax: gamedir (directory)

Description: Specifies the directory where the QWPROGS.DAT file is found and other additional files such as maps, models, sound, and skins for Quake modifications.

Note: This command can be specified while a game is in progress, after the current map ends this command will take effect. This command is very useful for changing the Quake mod type without restarting the server. Any connected players will still remain on the server after the map change and they will be able to play the new mod.

Example:
gamedir ctf
gamedir fortress

give

Type: Command

Syntax: give (user id) (item) (amount)

Description: Give user a certain amount of an item.

Items:
1 – Axe
2 – Shotgun
3 – Double-Barrelled Shotgun
4 – Nailgun
5 – Super Nailgun
6 – Grenade Launcher
7 – Rocket Launcher
8 – ThunderBolt
C – Cells
H – Health
N – Nails
R – Rockets
S – Shells

Note: The -cheats parameter must be used to launch the server to use the give command. Also the key and value *cheats ON will be displayed in the serverinfo information.

Example:
give 1234 R 99
give 1234 7

god

Type: Command

Syntax: god (user id)

Description: Toggle god mode for a certain user. Useful for testing levels or features.

Example: god 1234

heartbeat

Type: Command

Syntax: heartbeat

Description: Force a heartbeat to be sent to the master server. A heartbeat informs the master server of the server’s IP address thus making sure that the master server knows that the server is still alive.

hostname

Type: Command

Syntax: hostname “(string)”

Description: Report or sets the server name.

Example: hostname “The Foo Pit”

kick

Type: Command

Syntax: kick (user id)

Description: Remove a user from the server. Use the status command to receive the user’s id.

Example: kick 1234

listip

Type: Command

Syntax: listip

Description: Print out the current list of IPs on the server list. Not to be confused with the status command which prints out the list of the IPs of the connected players.

localinfo

Type: Command

Syntax: localinfo (key) “(value)”

Description: Shows or sets localinfo variables. Useful for mod programmers who need to allow the admin to change settings. This is an alternative storage space to the serverinfo space for mod variables. The variables stored in this space are not broadcast on the network. This space also has a 32-kilobyte limit which is much greater then the 512-byte limit on the serverinfo space.

Special Keys: (current map) (next map) – Using this combination will allow the creation of a custom map cycle without editing code.

Example:
localinfo dm2 dm4
localinfo dm4 dm6
localinfo dm6 dm2

logfile

Type: Command

Syntax: logfile

Description: Toggles logging of console text. The file name is qconsole.log.

map

Type: Command

Syntax: map (filename)

Description: Change to a new map.

Example: map dm2

maxclients

Type: Variable

Default: 8

Description: Sets how many clients can connect to your server, this includes spectators and players.

maxspectators

Type: Variable

Default: 8

Description: Sets how many spectators can connect to your server. The maxclients value takes precidence over this value so this value should always be equal-to or less-then the maxclients value.

noclip

Type: Command

Syntax: noclip (user id)

Description: Toggle no-clipping mode for a player.

Example: noclip 1234

password

Type: Command

Syntax: password “(string)”

Description: Assigns a password to a server. Players attempting to join must have a valid matching password variable set to connect. Also if the password is equal to none then the password function is disabled.

Example:
password “foo”
password “none”

path

Type: Command

Syntax: path

Description: Report what file paths the server is using.

profile

Type: Command

Syntax: profile

Description: Report information about QuakeC stuff.

quit

Type: Command

Syntax: quit

Description: Shutdown and exit the server disconnecting all clients.

rcon_password

Type: Command

Syntax: rcon_password “(string)”

Description: Set the remote control password. This is required when doing remote control of a server. Very useful is the server is in a different physical location than the administrator. All server functions can be performed remotelly when the remote client uses the rcon command.

Example: rcon_password “foo”

registered

Type: Toggle

Default: 1

Description: Toggle if the game is registered or not. This will affect the default level cycle and the accessibility of other episodes through the start map.

Example: rcon_password “foo”

removeip

Type: Command

Syntax: removeip (IP address)

Description: Remove an IP address from the server IP list.

Example:
removeip 123.123.123.123
removeip 123.123.123

samelevel

Type: Toggle

Syntax: samelevel (0|1|2|3)

Default: 0

Description: Determines the rules for level changing and exiting.

Values:
0 – Allows advancing to the next level.
1 – The same level will be played until someone exits.
2 – The same level will be played and the exit will kill anybody that tries to exit.
3 – The same level will be played and the exit will kill anybody that tries to exit, except on the Start map.

say

Type: Command

Syntax: say (string)

Default: 0

Description: Send a message to all connected players on your server.

Note: Quotes around the string are not neccessary for this command. This is an excpetion.

Example: say I love Quake!

serverinfo

Type: Command

Syntax: serverinfo (key) “(value)”

Description: Reports or sets information about server. The information stored in this space is broadcast on the network to all players.

Values:
dq – Drop Quad Damage when a player dies.
dr – Drop Ring of Shadows when a player dies.
rj – Sets the multiplier rate for splash damage kick.
needpass – Displays the passwords enabled on the server.
watervis – Toggle the use of r_watervis by OpenGL clients.

Note: Keys with (*) in front cannot be changed. Maximum key size cannot exceed 64-bytes. Maximum size for all keys cannot exceed 512-bytes.

Example:
serverinfo
serverinfo dq 1
serverinfo admin “admin@foo.com”

setmaster

Type: Command

Syntax: setmaster (IP:port #1) (IP:port #2) … (IP:port #8)

Description: Lists the server with up to eight masters. When a server is listed with a master, the master is aware of the server’s IP address and port and it is added to the list of current server connected to a master. A heartbeat is sent to the master from the server to indicated that the server is still running and alive.

Example:
setmaster 192.246.40.12:27002
setmaster 192.246.40.12:27002 192.246.40.12:27004

showdrop

Type: Toggle

Default: 0

Description: Toggle reporting on which clients are dropping packets.

showpackets

Type: Toggle

Default: 0

Description: Toggle the display of all network packets.

spawn

Type: Toggle

Default: 0

Description: * Non-functional.

spectator_password

Type: Command

Syntax: spectator_password “(string)”

Description: 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.

Example: spectator_password “foo”

status

Type: Command

Syntax: status

Description: Report information on the current connected clients and the server. Very useful command for every server administrator.

stuffcmds

Type: Command

Syntax: stuffcmds

Description: Execute all command which were specified command line with the + parameter.

sv_accelerate

Type: Variable

Default: 10

Description: Sets the acceleration value for the player.

sv_aim

Type: Variable

Default: 2

Description: Sets the value for auto-aiming leniency.

sv_airaccelerate

Type: Variable

Default: 0.7

Description: Sets how quickly the player accelerates in air.

sv_friction

Type: Variable

Default: 6

Description: Sets the friction value for the player.

Note: Default friction value for regular Quake is 4.

sv_gamedir

Type: Command

Syntax: sv_gamedir (directory)

Description: Displays or determines the value of the serverinfo *gamedir variable.

Note: Useful when the physical gamedir directory has a different name than the widely accepted gamedir directory.

Example:
gamedir tf2_5; sv_gamedir fortress
gamedir ctf4_2; sv_gamedir ctf

sv_gravity

Type: Variable

Default: 800

Description: Sets the global value for the amount of gravity.

sv_highchars

Type: Toggle

Default: 1

Description: Toggle the use of high character color names for players.

sv_mapcheck

Type: Toggle

Default: 1

Description: Toggle the use of map checksumming to check for players who edit maps to cheat.

Note: A player who has edited his map files to cheat by removing textures from walls will not be able to join the server and play.

sv_maxspeed

Type: Variable

Default: 320

Description: Sets the maximum speed a player can move.

sv_maxtic

Type: Variable

Default: 0.1

Description: The maximum amount of time in seconds before a client a receives an update from the server.

Note:The default time of 0.1 means that at least a packet must be send to the client every 100-milliseconds. If the value was 0.5 then it would stand for 500-milliseconds.

sv_maxvelocity

Type: Variable

Default: 2000

Description: Sets the maximum velocity an object can travel.

sv_mintic

Type: Variable

Default: 0.03

Description: The minimum amount of time the server will wait before sending packets to a client.

Note: The default time of 0.03 means that if possible a packet can be send to the client every 30-milliseconds. If the value was 0.07 then it would stand for 70-milliseconds. It is best to set the value to 0.05 if the server is available to modem players, this will limit the amount of packets that the server has to send out and will make modem players happier. Also, there is a weird phenomenon that happens if the value is changed drastically, projectiles seem to move slower and their movement becomes jumpier.

sv_phs

Type: Toggle

Default: 1

Description: * Unknown. Has something to do with the table which is build at the loading time of the map.

sv_spectalk

Type: Toggle

Default: 1

Description: Toggles the ability of spectators to talk to players.

sv_spectatormaxspeed

Type: Variable

Default: 500

Description: Sets the maximum speed a spectator can move.

sv_stopspeed

Type: Variable

Default: 100

Description: Sets the value that determines how fast the player should come to a complete stop.

sv_wateraccelerate

Type: Variable

Default: 10

Description: Sets the water acceleration value.

sv_waterfriction

Type: Variable

Default: 1

Description: Sets the water friction value.

sys_nostdout

Type: Toggle

Default: 0

Description: Toggles console screen output.

teamplay

Type: Toggle

Syntax: teamplay (0|1|2|3)

Default: 0

Description: Determines teamplay rules.

Values:
0 – No teams. You can hurt yourself and others.
1 – You cannot hurt yourself nor your teammates.
2 – You can hurt yourself, your teammates, and you will lose one frag for killing a teammate.
3 – You can hurt yourself but you cannot hurt your teammates.

timelimit

Type: Variable

Default: 0

Description: Sets the amount of time in minutes that is needed before advancing to the next level.

timeout

Type: Variable

Default: 65

Description: Sets the amount of time in seconds before a client is considered disconnected if the server does not receive a packet.

user

Type: Command

Syntax: user (user id)

Description: Report information about a given user id.

Example: user 1234

wait

Type: Command

Syntax: wait

Description: Wait a game tic. Useful for alias scripts.

writeip

Type: Command

Syntax: writeip

Description: Record all IP addresses on the server IP list. The file name is listip.cfg.

zombietime

Type: Variable

Default: 2

Description: The number of minutes that the server will keep the character of a player on the map who seems to have disconnected.


4. Command Line Parameter List

+

Type: Parameter

Syntax: +(console command)

Description: Allow for the passing of console commands from the command line to the console.

Example:
+map dm2
+exec server.cfg
+rcon_password “foo”

-basedir

Type: Parameter

Syntax: -basedir (directory)

Description: Point to the Quake directory.

Example: -basedir c:\games\quake

-cheats

Type: Parameter

Description: Enable cheat commands.

Note: Note: Will also display the message *Cheats ON in the serverinfo parameters.

-game

Type: Parameter

Syntax: -game (directory)

Description: * Non functional. Used to specify the directory where mod files were stored.

-minmemory

Type: Parameter

Syntax: -minmemory (kilobytes)

Description: Allocate the minimum amount of memory for Quake.

Example: -minmemory 16384

-nocdaudio

Type: Parameter

Description: * Not implemented. Left over code that was supposted to disable Quake’s ability to play CDs.

-nojoy

Type: Parameter

Description: * Not implemented. Left over code that was supposed to disable joystick support.

-nolan

Type: Parameter

Description: * Not implemented. Disable networking support.

-nomouse

Type: Parameter

Description: * Not implemented. Disable mouse support.

-nosound

Type: Parameter

Description: * Not implemented. Disable sound support.

-port

Type: Parameter

Syntax: -port (port)

Default: 27500

Description: Specify the port number that the server should run on.

Example: -port 27501

-safe

Type: Parameter

Description: * Not implemented. Start Quake in safe mode.

-stdvid

Type: Parameter

Description: * Not implemented.


5. Version Information

May 18, 2000

  • Updated the legal and licensing terms of this document and it is now released under the Free Software Foundation’s GNU Free Documentation License, Version 1.1.
  • Removed the links to the Cascading Style Sheet file which was providing the stylistic markup for this document in order to solve an existing major problem with troublesome web serving software and to promote better accessibility and availability of this document for the future at the price of removing the coloring and formatting markup from this document.
  • Changed the format of my email address from URL format to a proprietary format in order to defeat the automatic gathering of my email address by web crawler software and to prevent the increasingly annoying barrage of unsolicited commercial advertisements that I have been receiving.
  • Removed all other HTML LINK tags to prevent future problems with web serving software.
  • Renamed the Index section to Table Of Contents to correct this long lasting mistake.

November 6, 1998

  • New legal terms for this document. It is now released under the Free Software Foundation’s GNU General Public License Version 2.

September 29, 1998

  • Updated the HTML markup in the document. This should be the last such update because I think I solved all of the previous problems with HTML and the correct display of this document.
  • Added my email address to the Abstract section. It was been removed long time ago because of too many emails, and I hope that this isn’t the case this time.
  • Updated the HTML 4.0 deceleration to include the URI of the DTD, as stated in the standard.
  • Added the MIME Content-Type and Content-Language fields to explicitly set the character set encoding and language information.
  • Added HTML meta information to each document to include all necessary header information to help search engines.
  • Changed the Modified: field to Last Modified:, and Location: to Source: to avoid ambiguity.
  • Changed the formatting for the lists of commands and parameters from heading section based formatting into definition list formatting with each command or parameter being the definition term and the fields being the definition data. This is the proper way to display this information in HTML avoiding excessive H3 and BLOCKQUOTE tags which were not being used correctly in the previous versions of this document.
  • Changed the usage of bold and italic stylistic markup in order to facilitate better display of this document in browsers which do not support Cascading Style Sheets.
  • Updated the document because of QuakeWorld v2.30 release.
  • Added the sv_mapcheck command.

July 20, 1998

  • I have removed my email address from this document because I was getting unwanted emails. If you want to contact me, go to my web site.

July 16, 1998

  • Changed the internal HTML style for indentations and also to space out the fields for easier reading.
  • Added subsection 6.4. Trademarks in the 6. Legal section to take care of any trademark legalities.
  • Added a copyright notice to the Abstract section along with a short description about this document.

June 19, 1998

  • Updated document because of QuakeWorld v2.21 release.
  • Added the serverinfo watervis variable.
  • Changed the default value for the sv_aim variable.

June 9, 1998

  • Modified the document because of the site redesign.
  • Revised parts of the Legal section to enforce stricter standards for the display and distribution of this document.

May 23, 1998

  • Changed the HTML formatting that was used to display the fields for each of the console commands. This new style will conserve a lot more space.

March 16, 1998

  • Fixed the time rates for the sv_maxtic and sv_mintic commands so that milliseconds now stand for 1,000 of a second not 100. Thanks to Connor O’ Gorman and his arguable friend for pointing this out.

March 13, 1998

  • Made some formatting changes.
  • Added the Abstract section to identify this document.
  • Added links to each individual command.

January 19, 1998

  • Made a few HTML changes.

December 27, 1997

  • Updated the zombietime command with new information.

October 26, 1997

  • Made a few more minor HTML changes and incorporated support for Cascading Style Sheets into the document.

October 22, 1997

  • Made a major change to the HTML structure.
  • Removed all stylistic HTML tags to achieve 100% HTML compliance.

August 27, 1997

  • Rewrote the whole document into HTML.
  • Modified each and every part of the document to fix up a few things and rewrite other things

August 10, 1997

  • Update for version 2.0 of the server.
  • Added the following commands: floodprot, floodprotmsg, localinfo, sv_accelerate, sv_airaccelerate, sv_friction, sv_highchars, sv_maxspeed, sv_phs, sv_spectatormaxspeed, sv_stopspeed, sv_wateraccelerate, sv_waterfriction.
  • Modified the descritpion for the profile command.

July 29, 1997

  • Added a list of command line parameters.

July 18, 1997

  • Updated the “serverinfo needpass” variable.
  • Updated the “spawn” command.

June 14, 1997

  • Updated for version 1.64 of the QuakeWorld Server.
  • Added commands: allow_download_maps, allow_download_models, allow_download_skins, allow_download_sounds, spawn, sv_spectalk, sv_gamedir, serverinfo dq, serverinfo dr.

April 14, 1997

  • A few changes here and there.

April 13, 1997

  • Original version.

6. Legal

6.1. Copyright

This work is copyrighted pseudonymously by the author under all applicable laws. The author reserves all rights to this work. The copyright statement for this work is “Copyright (C) 1997-2000 JakFrost, All Rights Reserved”.

6.2. License

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. You can access the license at http://www.gnu.org/copyleft/fdl.html or you can write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA to request a copy. Please preserve all authorship and contact information when distributing or modifying this work. All derivative works or works containing parts of this work must be released under the same license or a later version of it.

6.3. Trademarks and Servicemarks

All trademarks and servicemarks used in this work are acknowledged and are the property of their rightful owners.

6.4. Warranty Disclaimer

THIS WORK IS PROVIDED “AS IS” WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THE AUTHOR IS NOT LIABLE FOR ANY RESULTS ARRISING FROM THE USE OF THIS WORK. ALL RISKS AND RESULTS THEREOF FALL ON THE USER.


Copyright (C) 1997-2000 JakFrost, All Rights Reserved