# Quake Console Commands

## Abstract

Author: JakFrost
Email: jakfrost(at)planetquake(dot)com
Web Site: http://www.planetquake.com/console/
Created: July 23, 1998
Last Modified: May 18, 2000
Based On: GLQuake v1.09, WinQuake v1.09
Source: http://www.planetquake.com/console/commands/quake.html

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

This is the complete list of console commands, console variables, and command line parameters for Quake. 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 or just learn more about the console.

## Table Of Contents

1. Introduction
   1. Questions
   2. Corrections
2. The Key
   1. Fields
   2. Commands
   3. Variables
3. Console Commands List
4. Command Line Parameters
5. Credits and Thanks
6. Version Information
7. Legal
   1. Copyright
   2. License
   3. Trademarks and Servicemarks
   4. Warranty Disclaimer

## 1. Introduction

I decided to finally write this document because I have always wanted to write about the Quake Console Commands but was always too busy. I have been delaying in making this document because I never really found the time nor the need to write up this document. I also realized that my collection of documents would never be complete without this document so this pushed me to do the work. Even though the document was made one year too late I think that it will still be beneficial to a couple of people and to the future generations who will want to study the revolution that was Quake. I put in a ton of work into making this document, I listened to many CDs while working on it and I have drank much Pepsi to keep me going. I have to say that this is probably the best work that I have done about the console. I included a lot of beneficial information into this document which I have gathered though all of this time playing this great game. This document is packed with little tidbits of important information which I have remembered though all of this time and heard from all over the community. I hope that at least a couple of people can use the information in this document and that they learn something beneficial.

### 1.1. Questions

If you have any questions regarding console commands or console variables please do not contact me because I don't have the time to answer them. If you want to find out more about what a certain console command does or what it could be used for the go ahead and experiment with that console command on your own until you can answer your own questions. I don't have the time nor the patience to answer any technical support questions, if you have a problem then please don't ask me how to fix it because I won't help you. Basically, if you have a problem with something then solve the problem on your own and do the necessary work to answer your own questions. Do not send me any emails with questions or asking for basic help because I will not read them and I will just delete them. There is a reason why I spend so much time writing such detailed documents, and that is to avoid emails like that.

### 1.2. Corrections

If you are reading this document and you find any errors in it please contact me and tell me exactly where you found the error. I appreciate any corrections sent in because I want to make this document as accurate as possible. Any person who sends me corrections to the document will be acknowledged, except spelling and grammatical corrections which would be too many to list.

## 2. The Key

Below there are explanations to all of the different fields which are used to describe each command. It is good to know what the information in each field contains and refers to. The fields that I have used to describe each command and variable are a way of standardizing information among each command and to make sure that all of the information is given in an orderly fashion.

I have also taken upon myself to classify all of those console commands and console variables. These classifications are in no way related to how the game feels about the various types of commands and variables. The game only distinguishes between commands and variables. The names of each class are only meant to identify the different type of a command or variable, and give some insight into it's syntax and what type of parameters it accepts. Basically if a user knows that a given variable is classified as a toggle, he won't try to use negative numbers or fractions as input, or if a command is classified as an operation he will know not to use any parameters. These classifications are just here to help you with the syntax recognition and to remove unnecessary syntax fields.

### 2.1. Fields

Status:
  This field only appears for some of the commands and variables. This field holds the information about the status of the command. A status of Disabled will identify the command as still existing in the game but the command is no longer used, does not serve any function, or is broken. A status of Unknown means that the function of the command is not known. A status of Internal means that the command exist in the console but is only used internally by the game and it does not work when used by itself.
Game:
  This field only appears for some of the commands and variables. This field is used to inform that the command is used only for the certain version of the game. In case of this document a value of GLQuake is used to identify commands which are only used for the GLQuake version of the game. A value of WinQuake is used to identify the command as only to be found in the WinQuake version of the game. If this field is omitted, then the command appears in both versions of the game.
Type:
  This field appears for all commands and variables. The information in this field classifies the command or variable based on it's syntax. The inclusion of this field also allows for the shortening of this document by specifying one syntax for a whole class of commands or variables and not having to display the identical syntax for each command or variable. Further explanation about all of the different types of commands and variables that have been classified is included in the section below.
Syntax:
  This field only appears for the class of function commands since each of those commands has it's own syntax. It displays the parameters that the command accepts and any other special characters. The convention of using words in parenthesis, i.e. `(filename)`, designates that a single value should be specified which is described by the phrase inside the parenthesis and that it is necessary for the proper execution of a command, i.e. `base1.bsp`. When a parameter is in brackets, i.e. `[relative path]` then this parameter is optional for the execution of a the command. A syntax such as '`play [relative path/](sound file)[.wav]`' can be expanded into a command such as '`play misc/water3`' or '`play sndfile.wav`'. Also, when the syntax includes the `[relative path/]` parameter the `/` character can also be substituted by the `\` character.
Default:
  This field only appears for the variables. It displays the default value that is used by the game when it is started for the first time. The information in this field displays the default value for any given variable which can be referenced when it is necessary to restore that variable to it's original setting.
Range:
  This field only appears for register variables. It displays the minimum and maximum values that a given register is able to accept. This field will only appear for special registers which have a preset range for values which they can accept. Also, sometimes an interval value will appear after the number range. If this field does not appear then it means that the given register is able to accept all values or that the range for that variable cannot be determined. A range might look like '`30 - 120`' meaning that the variable is able to take a value which is between `30` and `120`.
Binding:
  This field appears for all commands which are bound to keys when the game is started for the first time. The information in this field lists the keys to which the commands are bound. The information about the default bindings is contained inside the `default.cfg` file inside the `pak0.pak` file.
Description:
  This field appears for all commands and variables. It displays a short description of the command or variable. This is just a reference field for a quick glance at what the command or variable does and it's general purpose. For a more detailed description and some other information refer to the Note: field if it exists for a given command.
Note:
  This field appears for some commands and variables. It displays a long, detailed description of the command or variable. Usually a lot of background information is displayed in this field if the command or variable has some special functions or special syntax is necessary. Sometimes I also include some personal recommendations about commands or the recommendations of other players.
Example:
  This field only appears for the class of function commands since each of those commands has it's own syntax. It displays some examples of how the syntax should be used. For some commands this field is very necessary because some function commands have a very weird syntax.
List:
  This field only appears for some of the commands. It displays a listing of all parameters that the command is able to use. This field will also be used for all toggle commands which have more settings than `0` and `1`. Sometimes a description of each item is provided for each item and sometimes the items are just listed in a comma separated format if the items do not require a description.
Output:
  This field only appears for certain commands which produce output to the console. It is sometimes necessary to show the output of the command to allow for a better visualization of the descriptions given to commands which produce interesting output to the console.

### 2.2. Commands

Action:
  An action command performs an action when the `+action` part of the command is executed and terminates that action when the `-action` part of the command is executed. When an action command is bound to a key, the `+action` is executed when the key is pressed, and the `-action` is executed when the key is released. The default syntax for an action is '`+command`' or '`-command`'. The syntax field is skipped for all action commands.
Function:
  A function command performs a single function based on the parameters included for that operation. A function usually has extra parameters and they are usually necessary for proper execution. The default syntax for a function is '`command (parameter)`'. The syntax field is present for all function commands since each one has it's own unique syntax.
Operation:
  An operation command performs a single function in the game every time the command is executed. It does not use any parameters. The default syntax for an operation is '`command`'. The syntax field is skipped for all operation commands.
Parameter:
  A command line parameter is a variable which is set from a command line. The reason for setting a variable from the command line, is that some settings can only be used before the game actually loads up. Command line parameters are usually used to enable or disable a handful of features before loading up the game. The default syntax is '`game.exe -parameter`' and the syntax field will be skipped for all parameters which do not accept any values. Sometimes the command line parameter requires a value then the syntax will be displayed.

### 2.3. Variables

Register:
  A register variable is able to store any type of numeric information. Register variables are used for numeric data which does not have clearly defined boundaries. The default syntax for a register variable is '`variable (value)`'. Allowable values for a register variable include integers, fractions, and negative values.
String:
  A string variable is able to store any type of text information. The default syntax for a string variable is '`variable "(text)"`'. Allowable values for a string variable include all numbers and all text characters.
Toggle:
  A toggle variable is able to turn a feature on, off, or set it to an alternative setting. The values for a toggle are usually only `0` and `1`. Sometimes there are alternative settings for a toggle, in which case subsequent numbers are used such as 2, 3, 4, and so on. The default syntax is '`variable (value)`'. Allowable values for a toggle variable include integers only in increments of 1.

## 3. Console Commands List

+attack

  Type: Action

  Binding: `CTRL`, `MOUSE1`

  Description: When used the player will start to fire the gun.

  Note: This is the primary command used to make the player fire the gun. For as long as the key that is bound to this command is held down and this command is active the player will keep on firing the gun.

+back

  Type: Action

  Binding: `DOWNARROW`

  Description: When used the player will start to move back.

+forward

  Type: Action

  Binding: `UPARROW`, `MOUSE2`

  Description: When used the player will start to move forward.

+jump

  Type: Action

  Binding: `SPACE`, `ENTER`

  Description: When used the player will start to jump.

  Note: This command can also be used to make the player swim up in liquids.

+klook

  Type: Action

  Binding: `INS`

  Description: When used the forward and back keys will make the player look up and down.

  Note: When this command is active the keys that are bound to the `+forward` and `+back` will now function as if they were bound to the `+lookup` and `+lookdown`. This command is useful if the player needs to look at objects which are above or below him.

+left

  Type: Action

  Binding: `LEFTARROW`

  Description: When used the player will start to turn left.

+lookdown

  Type: Action

  Binding: `DEL`, `Z`

  Description: When used the player will start to look down.

+lookup

  Type: Action

  Binding: `PGDN`, `A`

  Description: When used the player will start to look up.

+mlook

  Type: Action

  Binding: `\`, `MOUSE3`

  Description: When used the mouse forward and back movement will make the player look up and down.

  Note: This command is very useful if the player needs to look at objects which are above or below him. Most players execute this command and never remove it. This way they can use the keyboard to move the player forward and back and strafe left and right, while using the mouse to turn the player left and right and to make him look up and down. In order to have this command set permanetnly you will have to create a file called `autoexec.cfg` in the `id1/` directory and put in the line `+mlook` into that file. By doing this the game will automatically execute the `autoexec.cfg` file and it will also active that command.

+movedown

  Type: Action

  Binding: `C`

  Description: When used the player will start to move down in liquids.

+moveleft

  Type: Action

  Binding: `,`

  Description: When used the player will start to move left.

+moveright

  Type: Action

  Binding: `.`

  Description: When used the player will start to move right.

+moveup

  Type: Action

  Binding: `D`

  Description: When used the player will start to move up in liquids.

+right

  Type: Action

  Binding: `RIGHTARROW`

  Description: When used the player will start to turn right.

+showscores

  Type: Action

  Binding: `TAB`

  Description: When used the score screen will appear.

  Note: When this command is used in single-player games it will display some information about the current level that the player is playing on. It will display the name of the map that he is currently playing, the amount of time that the player has been playing, the number of monsters killed, the total number of monsters on the level, the number of secrets that the player has found, and the total number of secrets for this map. When this command is used during a multiplayer game it will show information about all of the players currently connected to the server. The information will show the shirt and pants colors that each player is wearing, their score, and their name. It will also show the name of the map and the amount of time that the player has been playing on the server.

  Output:

      Monsters:   6 / 23      Time: 1:31
      Secrets :   2 /  6 The Slipgate Complex

+speed

  Type: Action

  Binding: `SHIFT`

  Description: When used the player will run.

  Note: When this command is activated the values in the `cl_forwardspeed` and `cl_backspeed` variables will be multiplied by the value in the `cl_movespeedkey` in order speed up the player's movement. Most players like to set this command automatically and never turn it off. If you wish to set this command automatically every time that you play you will have to create a file called `autoexec.cfg` in the `id1/` directory and put in this `+speed` command on an empty line. Whenever the game starts the `autoexec.cfg` file will be executed and this command will be activated.

+strafe

  Type: Action

  Binding: `ALT`

  Description: When used the turn left and turn right keys will make the player move left and move right.

  Note: The keys bound to the `+left` and `+right` will function as if they were bound to `+moveleft` and `+moveright`. This command will also affect the mouse, so that when the mouse was moved left and right the player looked left and right, now the player will move left and right instead.

+use

  Status: Disabled

  Type: Action

  Description: When used it will activate objects in the game.

  Note: This command is obsolete because is serves no function in the game. It exists as a place holder in case mod authors might want to use this command to enables players to manually open doors or push switches.

-attack

  Type: Action

  Description: When used the player will stop to fire the gun.

-back

  Type: Action

  Description: When used the player will stop to move back.

-forward

  Type: Action

  Description: When used the player will stop to move forward.

-jump

  Type: Action

  Description: When used the player will stop to jump.

-klook

  Type: Action

  Description: When used the forward and back keys will stop to make the player look up and down.

-left

  Type: Action

  Description: When used the player will stop to turn left.

-lookdown

  Type: Action

  Description: When used the player will stop to look down.

-lookup

  Type: Action

  Description: When used the player will stop to look up.

-mlook

  Type: Action

  Description: When used the mouse forward and back movement will stop to make the player look up and down.

-movedown

  Type: Action

  Description: When used the player will stop to move down.

-moveleft

  Type: Action

  Description: When used the player will stop to move left.

-moveright

  Type: Action

  Description: When used the player will stop to move right.

-moveup

  Type: Action

  Description: When used the player will stop to move up.

-right

  Type: Action

  Description: When used the player will stop to turn right.

-showscores

  Type: Action

  Description: When used the score screen will disappear.

-speed

  Type: Action

  Description: When used the player will walk.

-strafe

  Type: Action

  Description: When used the turn left and turn right keys will once again perform their original functions.

-use

  Status: Disabled

  Type: Action

  Description: When used it will stop to activate objects in the game.

_cl_color

  Type: Register

  Default: `0`

  Description: The value for the color of the player's shirt and pants.

  Note: This single value is able to hold both of the colors required for the player's shirt and pants. In order to store the value for the colors the following equation has to be used: '`((shirt color) * 16) + (pants color)`'.

_cl_name

  Type: String

  Default: `Player`

  Description: The name of the player.

  Note: It is recommended to use the `name` command to set the player's name instead of this command.

_config_com_baud

  Status: Disabled

  Type: Toggle

  Default: `57600`

  Description: The baud rate for the COM port.

  Note: This command is obsolete do to the removal of multiplayer modem code.

_config_com_irq

  Status: Disabled

  Type: Register

  Default: `4`

  Description: The IRQ for the COM port.

  Note: This command is obsolete do to the removal of multiplayer modem code. The COM1 port uses IRQ `4`, COM2 port uses IRQ `3`, COM3 port uses IRQ `4`, COM4 port uses IRQ `3`.

_config_com_modem

  Status: Disabled

  Type: Toggle

  Default: `1`

  Description: Toggle the use of the COM port for modem connection.

_config_com_port

  Status: Disabled

  Type: Register

  Default: `1016`

  Description: The I/O port number for the COM port.

  Note: The value for this variable are written in the decimal format, when the values for the I/O ports always use hexadecimal values. The value of `1016` really is `3F8`, which is COM1 port. You can use the prefix of `0x` to set the values in this variable in hexadecimal format. So that you can pass a value of this variable like `0x2F8` which will set this variable to use the COM2 port.

_config_modem_clear

  Status: Disabled

  Type: String

  Default: `ATZ`

  Description: The command to clear the modem.

_config_modem_dialtype

  Status: Disabled

  Type: String

  Default: `T`

  Description: The command suffix for the dial tone type.

  Note: There are only two types of dial tones, the very old pulse which is not used anymore, and the new DTMF tones which can be found on all new telephones. The default values sets is to use the DTMF tones that's why it's set to `T`, if you need to use the old pulse dialing type you need to set this variable to `P`.

_config_modem_hangup

  Status: Disabled

  Type: String

  Default: `AT H`

  Description: The command to hang up the modem.

  Note: The default value is just fine for most modems. Although some modems might require the `ATH0` command to actually hang up but that is rare.

_config_modem_init

  Status: Disabled

  Type: String

  Default: `""`

  Description: The command to initialize the modem.

  Note: Use a command to initialize the modem and set it to enable hardware RTS/CTS flow control, enable compression and enable error correction. You should consult the manual that came with your modem for the correct initialization string.

_snd_mixahead

  Type: Register

  Default: `0.1`

  Description: The amount of time in seconds to delay sound playback.

_vid_default_mode

  Type: Toggle

  Default: `0`

  Description: The default video mode for full screen.

  Note: A list of video modes is not provided for this variable because the list is generated automatically by the game depending on the video card used in the system.

_vid_default_mode_win

  Type: Toggle

  Default: `0`

  Description: The default video mode for windowed display.

  Note: A list of video modes is not provided for this variable because the list is generated automatically by the game depending on the video card used in the system.

_vid_wait_override

  Type: Toggle

  Default: `0`

  Description: Toggle the synchronization of the game display with the vertical sync signal from the monitor.

  Note: By default this variable is set to `0` which leads to the fastest possible performance because the game redraws the screen as fast as possible without waiting for the vertical sync signal. However if screen glitching occurs it is recommended to enable this variable with a setting of `1` to make the game wait for the vertical sync signal from the monitor before redrawing the game screen. When this toggle is enable the maximum number of frames-per-second is limited to the vertical refresh rate of the monitor.

_windowed_mouse

  Type: Toggle

  Default: `0`

  Description: Toggle the use of mouse input for game movements when game is in windowed screen mode.

  Note: When this toggle is enabled and the game is in windowed screen mode the mouse input will be used exclusively for the character movements in the game, which means that you will not be able to use the mouse to control the desktop. To escape this mode use the `ALT+TAB` or `CTRL+ESCAPE` key sequence to switch to another application or to the task bar.

alias

  Type: Function

  Syntax:
  `alias`
  `alias (name) "(commands)"`

  Description: Used to create a reference to a command or list of commands.

  Note: When used without parameters, it will display all current aliases. To create an alias which executes multiple commands, it is necessary to surround the commands with double-quotes (`"`) and separate each command with a semicolon (`;`). An alias works like a command function since it cannot accept any parameters. Also, aliases are executed as if they were regular commands.

  Example:
  `alias`
  `alias sayhi "say Hi foo!"`
  `alias jumpshot "+jump;+attack;wait;-attack;-jump"`

  Output:

      Current alias commands:
      jumpshot : +jump;+attack;wait;-attack;-jump

      sayhi : say Hi foo!

      zoom_out : sensitivity 4;fov 5;wait;fov 10;wait;fov 30;wait;fov 50;wait;fov 70;wait;fov 90;bind F11 zoom_in; sensitivity 3

      zoom_in : sensitivity 2;fov 90;wait;fov 70;wait;fov 50;wait;fov 30;wait;fov 10;wait;fov 5;bind F11 zoom_out

ambient_fade

  Type: Register

  Default: `100`

  Description: The speed at which sounds fade in and out.

  Note: Higher values for this command will make sounds fade in and out quicker.

ambient_level

  Type: Register

  Default: `0.3`

  Description: The relative volume for ambient sounds heard throughout a map.

  Note: This value is relative to the actual volume at which normal sounds play. The default value of `0.3` means that ambient sounds will only be played at 30% of the normal volume.

ban

  Type: Function

  Syntax:
  `ban (ip address) [mask]`
  `ban off`

  Description: Prevent players from joining your server.

  Note: Use this command to ban people from your server. Unfortunately, this command only allows for the banning of a single IP or a single domain. When this command is used without parameters '`ban`' it will display the list of bans. If you want to disable banning then use the command '`ban off`'. If you want to ban a single address then use that command with just that address. If you want to ban a whole domain of IP addresses then you will have to substitute the number `0` for the part of the domain that you wish to ban and you will also have to use a mask for that domain which means that you will have to enter the IP address twice.

  Example:
  `ban`
  `ban off`
  `ban 123.123.123.123`
  `ban 123.123.0.0 123.123.0.0`

  Output:

      Trying...
      You have been banned.

begin

  Status: Internal

  Type: Operation

  Description: This command is used by the client to inform the server to begin sending game information.

bf

  Type: Operation

  Description: Perform a background screen flash.

  Note: The background screen flash is the same one that is produced when the player picked up a powerup in the game. This command basically serves no useful function except when people want to use it in scripts to give the user some visual feedback when an aliases is used.

bgmbuffer

  Type: Register

  Default: `4096`

  Description: The amount of memory in bytes used for buffering the music from the CD.

  Note: The default value is usually fine when playing the game. If the music from the CD starts to glitch or when the game starts to slow down then this variable should be increased to `16384`. This will enlarge the memory buffer used for holding the music data from the CD during playback.

bgmvolume

  Type: Register

  Default: `1`

  Description: The volume at which the music from the CD is played.

  Note: Use fractional values such as `0.5` if you want to decrease the volume for the music from the CD.

bind

  Type: Function

  Syntax: `bind (key) "[command]"`

  Description: Assign a command or a set of commands to a key.

  Note: To bind multiple commands to a key, enclose the commands in double-quotes (`"`) and separate them with semicolons (`;`). To bind bind keys which do not produce any characters use the key's name to bind to it. Also, I have provided a listing of all the names for the keys which do not print any output to the console. The `ESCAPE`, and `~` (tilde) keys can only be bound from an external configuration file.

  Example:
  `bind h "echo Hi Foo!"`
  `bind mouse1 "+attack;+jump;wait;-jump;-attack;echo Foo!"`

  List: `ALT, AUX1, AUX10, AUX11, AUX12, AUX13, AUX14, AUX15, AUX16, AUX17, AUX18, AUX19, AUX2, AUX20, AUX21, AUX22, AUX23, AUX24, AUX25, AUX26, AUX27, AUX28, AUX29, AUX3, AUX30, AUX31, AUX32, AUX4, AUX5, AUX6, AUX7, AUX8, AUX9, BACKSPACE, CTRL, DEL, DOWNARROW, END, ENTER, ESCAPE, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, HOME, INS, JOY1, JOY2, JOY3, JOY4, LEFTARROW, MOUSE1, MOUSE2, MOUSE3, MWHEELDOWN, MWHEELUP, PAUSE, PGDN, PGUP, RIGHTARROW, SEMICOLON, SHIFT, SPACE, TAB, UPARROW`.

block_switch

  Status: Unknown

cd

  Type: Function

  Syntax: `cd (command) [parameter]`

  Description: Control the playback of music from the CD.

  Note: For the command to be available the CD-ROM drive has to be idle at the time that the game starts, or else this command will be disabled. When playing CDs at the same time that the game is being played there is a noticeable decrease of performance in the game. If you want to listen to a CD while playing the game, it is recommended to use the play feature of your CD-ROM drive or use an external program such as the CD Player that comes with Windows.

  Example:
  `cd info`
  `cd play 3`
  `cd remap 4 5 1 2 7 8`
  `cd remap`

  List:
  `close` - Close the CD-ROM drive door.
  `eject` - Eject the CD from the drive.
  `info` - Display the number of music tracks on the CD and the current status.
  `loop (track)` - Play the same track over and over.
  `off` - Disable CD music.
  `on` - Enable CD music.
  `pause` - Pause the current playback.
  `play (track)` - Play the track.
  `remap` - Display the remapped order of tracks.
  `remap (track) (track)` ... `(track)` - Change the playback order of tracks.
  `reset` - Reset the CD functions.
  `resume` - Resume play.
  `stop` - Stop the current playback.

centerview

  Type: Operation

  Binding: `END`

  Description: Centers the player's view.

  Note: This command only works when the `+mlook` function is disabled. This command is basically used along with the `+klook` command to help to center the view.

changelevel

  Type: Function

  Syntax: `changelevel (map)`

  Description: Change the map without dropping the connected clients from the server.

  Note: This command is used by the server to manually change the map without kicking the connected clients from the server. If you are managing the server you should use this command instead of the usual `map` command.

chase_active

  Type: Toggle

  Default: `0`

  Description: Toggle the use of a chase camera.

  Note: This command can be used to enable a chase camera so that the view is actually behind the player from a 3rd person perspective instead of the default 1st person perspective. Currently this command has a problem that when enabled the player will only see the weapon and the firing graphic moving around the level and not the player figure.

chase_back

  Type: Register

  Default: `100`

  Description: The distance that the chase camera should be behind the player.

chase_right

  Type: Register

  Default: `0`

  Description: The distance that the chase camera should be to the right of the player.

chase_up

  Type: Register

  Default: `16`

  Description: The distance that the chase camera should be above the player.

cl_anglespeedkey

  Type: Register

  Default: `1.5`

  Description: The speed at which you turn when running.

  Note: This command allows the player to turn faster when he's running. This is kind of a reverse of real world physics, but it works very well in the game world.

cl_backspeed

  Type: Register

  Default: `200`

  Description: The speed at which the player moves backward.

  Note: You can set this variable to a much higher value such as `500` just in case you join a server on which the administrator allows the players to move at a faster speed.

cl_bob

  Type: Register

  Default: `0.02`

  Description: The distance that you weapon moves up and down on the screen when running.

  Note: If you want your weapon to stay steady when running set this variable to `0`. Most hardcore players use this setting to give them a better aim when shooting on the run.

cl_bobcycle

  Type: Register

  Default: `0.6`

  Description: The time in seconds that it takes the weapon to move up and down on the screen.

  Note: If you want your weapon to stay steady when running set this variable to `0`. Most hardcore players use this setting to give them a better aim when shooting on the run.

cl_bobup

  Type: Register

  Default: `0.5`

  Description: The time in seconds that the weapon stays in the up position.

  Note: If you want your weapon to stay steady when running set this variable to `0`. Most hardcore players use this setting to give them a better aim when shooting on the run.

cl_forwardspeed

  Type: Register

  Default: `200`

  Description: The speed at which the player moves forward.

  Note: You can set this variable to a much higher value such as `500` just in case you join a server on which the administrator allows the players to move at a faster speed.

cl_movespeedkey

  Type: Register

  Default: `2.0`

  Description: The multiplier value for the player movement speeds when using the `+speed` command.

  Note: The value from this variable is used to multiply the values in the `cl_backspeed` and `cl_forwardspeed` variables when the `+speed` command is used. If you set this variable to a value lower than it is you can make the player walk slower or even crawl.

cl_nolerp

  Type: Toggle

  Default: `0`

  Description: Toggle the prediction of movement of entities.

  Note: This value is a reverse toggle where the values are actually reversed. When this toggle is enabled the game will not predict the movements of entities and all moving objects in the game will seem to jump from one point to another instead of moving in a smooth motion.

cl_pitchspeed

  Type: Register

  Default: `150`

  Description: The speed at which the commands `+lookup` and `+lookdown` work.

  Note: This command is basically used to control the speed at which the player looks up and down when using keys bound to the above mentioned commands. If you feel that player is not looking up and down fast enough you should increase this value. This variable is only used when using the keyboard and has no effect on the speed of other controllers when using a mouse or a joystick to control the player.

cl_rollangle

  Type: Register

  Default: `2.0`

  Description: The angle in degrees at which the player tilts when strafing right and left.

  Note: Some hardcore players set this variable to `0` in order to prevent the player from tiling when he's moving left and right. This enables them to switch rotations during circle strafing battles without throwing off their aim.

cl_rollspeed

  Type: Register

  Default: `200`

  Description: The speed at which the player recovers to a straight posture after tilting left or right.

  Note: If you feel that the player is not recovering fast enough after strafing left and right you should set this variable to a lower value.

cl_shownet

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about network packet transmissions.

  Note: This toggle was basically used during the game's development to gather information about network packets.

cl_sidespeed

  Type: Register

  Default: `350`

  Description: The speed at which the player moves left and right.

  Note: You can set this variable to a much higher value such as `500` just in case you join a server on which the administrator allows the players to move at a faster speed.

cl_upspeed

  Type: Register

  Default: `200`

  Description: The speed at which the player moves up and down.

  Note: You can set this variable to a much higher value such as `500` just in case you join a server on which the administrator allows the players to move at a faster speed.

cl_yawspeed

  Type: Register

  Default: `140`

  Description: The speed at which the `+left` and `+right` commands make the player turn left and right.

  Note: This command is basically used to control the speed at which the player looks left and right when using keys bound to the above mentioned commands. If you feel that player is not looking left and right fast enough you should increase this value. This variable is only used when using the keyboard and has no effect on the speed of other controllers when using a mouse or a joystick to control the player.

clear

  Type: Operation

  Description: Clears the console screen of any text.

cmd

  Type: Function

  Syntax: `cmd (command) [value]`

  Description: Send a command directly to the server.

  Example:
  `cmd status`
  `cmd msg 2`

  List:
  `kill` - Make the player commit suicide.
  `msg (value)` - Control the messages that the player sees.
  `prespawn (entity) (respawn spot)` - Internal command. Find a spawn spot for the player entity.
  `spawn (entity)` - Internal command. Spawn the player entity.
  `status` - Report the current status of the game.

cmdline

  Type: Operation

  Description: Display the parameters used on the command line to start the game.

  Note: With this command you can take a look at the parameters that were used to start the game. If you started the game with the command '`game.exe -nosound +map mymap +volume 0.7`', this command would give you output like '`-nosound +map mymap +volume 0.7`'.

color

  Type: Function

  Syntax: `color [shirt color] [pants color]`

  Description: Set the color for the player's shirt and pants.

  Note: If you use this command without any parameters it will report the current shirt and pants color for the player. If you use this command with a single parameter for the color both, the shirt and pants colors will match. If you use two different parameters for this command you will be able to set the shirt and pants colors individually. The available colors in the game range from `0` to `13`. All colors above that just make the player look blue.

  Example:
  `color`
  `color 4`
  `color 4 13`

  List:
  `0` - White
  `1` - Brown
  `2` - Aqua
  `3` - Green
  `4` - Red
  `5` - Light Yellow
  `6` - Gold
  `7` - Pale
  `8` - Purple
  `9` - Pink
  `10` - Gray
  `11` - Teal
  `12` - Yellow
  `13` - Blue

con_notifytime

  Type: Register

  Default: `3`

  Description: The time in seconds that messages are displayed on the screen.

  Note: The default value is usually adequate. If it is desired that messages should stay on the screen for a long time then the value should be increased. If this variable is set to a negative number the message will not be displayed on the screen but instead they will just appear in the console.

connect

  Type: Function

  Syntax:
  `connect (ip address)`
  `connect (hostname)`
  `connect (server name)`

  Description: Connect to a game server.

  Note: This command can be used to connect to a server by it's IP address, DNS hostname, or the server's name if the server is on the local network. By default the port that this command will connect to is `26000`. If you want to connect to a server which is using a different port you will have to set the `port` variable to the port number that the server is using in order to connect. If you want to find all of the servers on your local network you might want to use the `slist` command.

  Example:
  `connect 123.123.123.123`
  `connect port 26001; 123.123.123.123`
  `connect quake.somewhere.com`
  `connect port 26002; quake.somewhere.com`
  `connect TheServer`

coop

  Type: Toggle

  Default: `0`

  Description: Toggle the usage of the cooperative game mode.

  Note: The cooperative game mode is used by the server to allow a group of players to cooperatively play the game against the monsters just like a single-player game. This mode is the opposite of the deathmatch game mode where all of the players play against each other.

crosshair

  Type: Toggle

  Default: `0`

  Description: Toggle the display of an aiming crosshair.

  Note: The crosshair graphic is actually the `+` character drawn in the middle of the screen. The crosshair is quite helpful when you need to make precise long-range shots. Most hardcore players enable the crosshair because it allows them for precise aiming when taking shots from far away.

d_mipcap

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: The level of detail for rendering textures on the map.

  Note: To increase rendering performance it is advisable to lower the detail level for rendering the textures on the map. There will be a significant loss of quality for the textures rendered on the map but all objects and players on the map will still be rendered in high quality textures in order to make it easier to distinguish objects from their surroundings

  List:
  `0` - Highest detail.
  `1` - High detail.
  `2` - Medium detail.
  `3` - Low detail.
  `4` - Lowest detail.

d_mipscale

  Game: WinQuake

  Type: Register

  Default: `1`

  Description: The drop off scale of quality for rendering texutres on the map.

  Note: This variable controls the scale of quality for rendering textures on walls which are far away from the player. In order to keep the performance of the game at an acceptable level the game will render all far away walls with lower quality textures in order to minimize on the texture sizes. If this variable is set to `0` all textures will be rendered in high quality textures which will cause a performance hit in the game.

deathmatch

  Type: Toggle

  Default: `0`

  Description: Toggle the deathmatch game mode.

  Note: It is recommended to use the setting of `3` when setting up a public server. Most people don't like to play in free-for-all games where the weapons disappear. When playing a one-on-one match most people use the original setting of `1` because it allows for a new type of a strategy which deals with the control of crucial weapons on the map. The setting of `2` is never used anymore, it's a left over setting from the old days of Doom deathmatch games.

  List:
  `0` - Deathmatch is disabled.
  `1` - Deathmatch is enabled. Picked up weapons will disappear, ammo and powerups will respawn.
  `2` - Deathmatch is enabled. Picked up weapons will not disappear, ammo and powerups will not respawn.
  `3` - Deathmatch is enabled. Picked up weapons will not disappear, ammo and powerups will respawn.

demos

  Type: Operation

  Description: Play demos which have been queued with the `startdemos` command.

developer

  Type: Toggle

  Default: `0`

  Description: Toggle the use of developer mode and the display of internal game information.

  Note: If this toggle is enabled the game will output a lot of developer mode information and internal game information. This mode is used by developers to track the progress of the game and to find any bugs. The information presented by this command is not very useful to a casual player that's why this toggle is disabled by default.

  Output:

      Sending clc_disconnect
      SpawnServer: e1m1
      Clearing memory
      Programs occupy 403K.
      33 entities inhibited
      Server spawned.
      CL_EstablishConnection: connected to local
      Client LOCAL connected
      VERSION 1.09 SERVER (24778 CRC)Serverinfo packet received.

      the Slipgate Complex
      CL_SignonReply: 1
      CL_SignonReply: 2
      CL_SignonReply: 3
      12.1 megabyte data cache
      CL_SignonReply: 4

disconnect

  Type: Operation

  Description: Disconnect from a game server.

  Note: This command is primarily used to disconnect from a game server. However, this command can also be used to stop a single-player game or to stop the playback of startup demos.

echo

  Type: Function

  Syntax: `echo [text]`

  Description: Print text on the console.

  Note: If this command is used without parameters it will print a blank line on the console. If parameters are provided for this command they will be printed to the console without any alterations. The character `"` cannot be printed using this command. Also some characters such as `(`, `)`, `{`, `}`, `:` will have a heading and a trailing space when printed so a string like '`{this(is:a)test}`' would be printed as '`{ this ( is : a ) test }` '. Also the character combination `//` starts a comment line and anything after those characters will not be printed to the console.

  Example:
  `echo`
  `echo This is a test!`
  `echo Testing... // This is a comment`

  Output:

      This is a test!
      Testing...

edgefriction

  Type: Register

  Default: `2`

  Description: The amount of imaginary friction when standing on an edge.

  Note: This variable controls the amount of friction when the player is standing on an edge. This variable was necessary in order to prevent players from slipping off edges and falling to their doom.

edict

  Type: Function

  Syntax: `edict (number)`

  Description: Display information about a game entity.

  Note: This command will output all of the information about a given entity object on the map. This command is used by map makers to get information about the objects on their maps. Some of the information that describes entities is their size, their position in the world, the model file that represents them, if they are solid objects, if they are visible objects, the function that they execute when activated, the angle which they are facing, or their type. Entities are objects such as the player, an ammo box, a door, a monster, or virtually any object which moves or is not part of the map.

  Example: `edict 1`

  Output:

      EDICT 1:
      modelindex      56.0
      absmin         '527.0 271.0   3.0'
      absmax         '561.0 305.0  61.0'
      movetype         3.0
      solid            3.0
      origin         '544.0 288.0  28.0'
      oldorigin      '544.0 288.0  28.0'
      angles         '  0.0  90.0   0.0'
      classname      player
      model          progs/player.mdl
      frame           13.0
      mins           '-16.0 -16.0 -24.0'
      maxs           ' 16.0  16.0  32.0'
      size           ' 32.0  32.0  56.0'
      think          player_stand1()
      nextthink        2.5
      health         100.0
      weapon           1.0
      weaponmodel    progs/v_shot.mdl
      currentammo     25.0
      ammo_shells     25.0
      items          4353.0
      takedamage       2.0
      view_ofs       '  0.0   0.0  22.0'
      v_angle        '  0.0  90.0   0.0'
      netname        Player
      flags          4616.0
      colormap         1.0
      team            14.0
      max_health     100.0
      watertype       -1.0
      th_pain        player_pain()
      th_die         PlayerDie()
      walkframe        2.0
      attack_finished  1.4
      jump_flag      -68.7
      air_finished    14.5
      dmg              2.0

edictcount

  Type: Operation

  Description: Display the number of entities on the map.

  Note: This command will show the total number of entities on the map, it will also show how many entities are still active, how many the player can actually see, how many the player can actually interact with, and how many are solid to the player.

edicts

  Type: Operation

  Description: Display information about all of the entities on the map.

  Note: This command will print out screens of information about all of the entities on the map. The information printed out is the same as the information from the `edict` command.

  Output:

      EDICT 48:
      modelindex      30.0
      absmin         '1183.0 1695.0  15.0'
      absmax         '1217.0 1761.0  89.0'
      movetype         7.0
      solid            4.0
      classname      func_wall
      model          *29
      mins           '1184.0 1696.0  16.0'
      maxs           '1216.0 1760.0  88.0'
      size           ' 32.0  64.0  72.0'
      use            func_wall_use()
      spawnflags     2048.0

      EDICT 49:
      absmin         '703.0 303.0  23.0'
      absmax         '705.0 305.0  25.0'
      origin         '704.0 304.0  24.0'
      angles         '  0.0  90.0   0.0'
      classname      info_player_deathmatch

      EDICT 50:
      absmin         '191.0 1167.0 -41.0'
      absmax         '193.0 1169.0 -39.0'
      origin         '192.0 1168.0 -40.0'
      angles         '  0.0 270.0   0.0'
      classname      info_player_deathmatch

entities

  Type: Operation

  Description: Display a list of all the visible entities on the map.

  Note: This command will print out a list of all the entities that are currently visible to the player. The list will contain information about the location of the entity on the map, it's orientation, and the model that is used to represent it. This command should be very useful to map developers who want to measure the amount of objects that a player can see at the same time from a given location. The lower the number of objects that the player can see the lower the number of entity packets that the server has to send to the client thus the improved network performance. If too many entities are visible at the same time, some entities will not be rendered on the player's screen. Each line of the put put gives information about the location and filename of the model, the current frame currently being displayed, the location of the model on the map, and the angle that the model is facing on the map.

  Output:

      0:maps/start.bsp: 0  (  0.0,  0.0,  0.0) [  0.0   0.0   0.0]
      1:progs/player.mdl:13  (544.0,288.0, 28.0) [  0.0  89.6   0.0]
      2:EMPTY
      3:EMPTY
      30:progs/zombie.mdl:197  (708.0,992.0, 52.0) [  0.0   0.0   0.0]
      31:progs/zombie.mdl:196  (708.0,1116.0,120.0) [  0.0   0.0   0.0]
      32:EMPTY
      83:EMPTY
      84:progs/lavaball.mdl: 0  (836.4,999.5,185.6) [  0.0   0.0   0.0]
      84:EMPTY

envmap

  Game: GLQuake

  Type: Operation

  Description: Create an environmental map.

  Note: When this command is executed it will take environmental information in each of the 6 directions. The files will be named `env0.rgb` through `env5.rgb` and they will be stored in the `id1\` directory.

exec

  Type: Function

  Syntax: `exec [relative path/](filename).(extension)`

  Description: Execute a console script file.

  Note: This command is used to execute a script file which contains console commands. All lines in a script file will be executed. If lines are prefixed with the `//` character combination all text after that will be treated as a comment and will not be executed. Console scripts can have any extension, but the extensions `.cfg` and `.rc` are the most popular. Scripts can be executed by their filename or by providing a path relative to the current path and then the filename. Also using the character `\` or `/` is permissible for separating the path names. The character combination of `..` is used to signify one directory higher than the current directory and can be used in a relative path. The current path can be determined with the use of the `path` command in order to determine the relative paths to other script files. Usually the current path is `quake/id1/`. Absolute paths such as `c:\quake` or `d:/games/quake/ctf` cannot be used by this command.

  Example:
  `exec script.cfg`
  `exec ../game/script.cfg`
  `exec game\script.cfg`

flush

  Type: Operation

  Description: Empty the game memory cache of all game information and objects.

  Note: This command is usually used by developers to flush the memory of all game information and objects to test if the mechanism which handles the loading of the necessary files into memory works properly. Sometimes the game cache can become filled with unnecessary information and may need to be flushed manually. This is usually not necessary since the game automatically flushes all the data between every map.

fly

  Type: Operation

  Description: Enable the fly cheat mode.

  Note: When this command is used once it will enable the fly cheat mode when it is used again it will disabled it. This cheat mode is usually used by map makers to test their maps or by players who are eager to explore the map from up high. Use the `+jump` command to fly up and use the `+movedown` command to descent.

force_centerview

  Type: Operation

  Description: Center the player's screen.

  Note: This command was created because of the original `centerview` command did not work when `+mlook` was enabled. This command will center the screen in any mode no matter commands are active.

fov

  Type: Register

  Default: `90`

  Description: The size in degrees of the field-of-vision that the player sees.

  Note: The minimum value for this variable is `10`, the maximum value is `170`. The Players can use this variable to enlarge or shrink the amount of space that the player sees to his left and right. By default the player sees 45 degrees to his left and 45 to his right, thus making his complete field of vision 90 degrees. If the field-of-vision is enlarged the player will see more area and objects will appear further away from the player. If the field-of-vision is decreased the player will see less area and objects will appear closer to the player. This command has been used by many players to create aliases which enable the player to zoom onto far away objects by shrinking the field-of-vision.

fraglimit

  Type: Register

  Default: `0`

  Description: The amount of kills necessary to proceed to the next map in deathmatch games.

  Note: This variable is usually set by server administrators to allow the cycling of maps after a player receives a certain number of kills on that map. A good number to set the `fraglimit` to is `30` because it allows the players to play for a little while before changing the map, you might also wish to set the `timelimit` variable to `20`. Settings the variable too high or too low will result in annoying the players with short maps or boring them with maps that never seem to end.

gamecfg

  Status: Unknown

gamma

  Type: Register

  Default: `1.0`

  Description: The brightness level for the game screen.

  Note: The lower the variable the brighter the game screen. This variable is very helpful because the game might be just too dark on some of the systems and this variable will allow the screen to be brightened.

give

  Type: Function

  Syntax: `give (item) [amount]`

  Description: Give the player a certain item.

  Note: This is a cheat mode command which allows the giving of items to a player. This command was mostly used by the game developers to test certain parts of the game in single-player mode without having to go though the whole game just to gain the items. Also, the maximum number of ammo that the player can hold is 255 for each type, and the maximum for the player's health is 32768.

  Example:
  `give 7`
  `give c 200`

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

gl_affinemodels

  Status: Unknown

  Game: GLQuake

  Default: `0`

gl_clear

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the clearing of the screen between each frame.

  Note: This toggle should only be enabled during map development when the map maker must fly outside of the map to look has his map from the outside. Enabling this toggle will clear the areas which are not rendered outside of the map thus preventing the flickering effect when images repeat themselves over and over.

gl_cull

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the use of internal OpenGL functions for removing covered objects.

  Note: When this toggle is enabled the game will depend on the OpenGL driver to use it's culling functions to remove certain objects from the calculations because they are covered up and would not be seen anyways. It is a good idea to leave this toggle enabled because it will increase rendering performance.

gl_finish

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the calling of the `gl_finish()` OpenGL function after each rendered frame.

gl_flashblend

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the rendering of a ball of light around dynamic light sources.

  Note: When this toggle is enabled every dynamic light source will have a sphere of light surrounding it. When this toggle is disabled the light sources will not have the ball of light around them and lighting will be displayed properly on walls, just like in WinQuake. When this toggle is enabled there will be a slight decrease in game performance, but it's a small price to pay for having light sources rendered correctly It is recommended that this toggle be disabled.

gl_keeptjunctions

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggles the removal of colinear vertexes upon level loadup.

gl_max_size

  Game: GLQuake

  Type: Toggle

  Default: `255`

  Description: The maximum size of loaded textures.

gl_nobind

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the binding of textures to the appropriate walls and objects.

  Note: When this toggle is enabled the correct textures will not be bound to the walls or objects thus creating a kaleidoscope of textures to appear all over. You can get some funny looking levels if you enable this toggle.

gl_nocolors

  Status: Unknown

  Game: GLQuake

  Type: Toggle

  Default: `0`

gl_picmip

  Game: GLQuake

  Type: Register

  Default: `0`

  Description: The level of detailed for textures used on walls.

  Note: You can use this variable to lower the texture detail used on walls thus increasing the game's performance.

  List:
  `0` - Original size.
  `1` - One-half the original size.
  `2` - One-fourth the original size.
  `...`

gl_playermip

  Game: GLQuake

  Type: Register

  Default: `0`

  Description: The level of detail for texures used on player models.

  Note: If you are experiancing a noticable slowdown during multiplayer games when a lot of players appear on the screen at the same time you might need to increase this variable in order to shrink the textures for the player models. You will lose a lot of detail but at least your name will be faster. The recommended setting for this variable is `2`.

  List:
  `0` - Original size.
  `1` - One-half the original size.
  `2` - One-fourth the original size.
  `...`

gl_polyblend

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the use of pallet color blending and flashing effects.

  Note: When this toggle is enabled the player's screen will change color when the player is hurt or when he's submersed in water. If you wish to disable the color changing effects you can disable this toggle. If you disable this toggle you might find it hard to notice when you are being hurt because your screen will not change color to the usual red to alert you.

gl_reporttjunctions

  Status: Unknown

  Game: GLQuake

  Type: Toggle

  Default: `0`

gl_smoothmodels

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the smoothing of textures used for models.

gl_subdivide_size

  Game: GLQuake

  Type: Register

  Default: `128`

  Description: The value used to divide the sky into individual brushes.

  Note: The sky is dynamically divided into individual brushes by the game. This variable controls the size of the individual brushes. It is a good idea to set this variable to `256` in order to limit the number of brushes used for the sky thus increasing the game's performance.

gl_texsort

  Game: GLQuake

  Type: Register

  Default: `0`

  Description: The value used internally for texture sorting functions in OpenGL.

gl_texturemode

  Game: GLQuake

  Type: String

  Default: `GL_LINEAR_MIPMAP_NEAREST`

  Description: The mode used for rendering textures.

  Note: It is best to leave this variable at the default setting because this is the setting that gives the higher level of performance. You might however want to experiment with other modes to achieve a level of detail for distant textures.

  List:
  `GL_NEAREST` - This will enable nearest neighbor interpolation and will therefore appear similar to WinQuake.
  `GL_LINEAR` - This will enable linear interpolation and will appear to blend in objects that are closer than the resolution that the textures are set as.
  `GL_NEAREST_MIPMAP_NEAREST` - Nearest neighbor interpolation with mipmapping for bilinear hardware. Mipmapping will blend objects that are farther away than the resolution that they are set as.
  `GL_LINEAR_MIPMAP_NEAREST` - Linear interpolation with mipmapping for bilinear hardware.
  `GL_NEAREST_MIPMAP_LINEAR` - Nearest neighbor interpolation with mipmapping for trilinear hardware.
  `GL_LINEAR_MIPMAP_LINEAR` - Linear interpolation with mipmapping for trilinear hardware.

gl_triplebuffer

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the use of triple buffering for video modes that support it.

  Note: If this toggle is enabled the game will try to use triple buffering for the video modes that support this feature. Triple buffering will increase the level of performance of the game but at the cost of video memory.

gl_ztrick

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the use of a trick to prevent the clearning of the z-buffer between frames.

  Note: If this toggle is enabled the game will not clear the z-buffer between frames. This will result in increased performance but might cause problems for some display hardware.

god

  Type: Operation

  Description: Enable the God mode cheat.

  Note: Use this command once to enable the cheat, and again to disable it. When you are in God mode you cannot be hurt by anything the game. This cheat mode is mainly used by map makers to test out their levels without having to fight the monsters every time they try to get somewhere. There are a few special circumstances where the player will still die even when in god mode.

help

  Type: Operation

  Binding: `F1`

  Description: Display the help screen.

  Note: This command will provide the player with a couple of screens which inform the player about a couple of basic things in the game such as movement, orientation, hazardous environments, interaction with the game, and also how to buy the game.

host_framerate

  Type: Register

  Default: `0`

  Description: The time adjustment value for the game.

  Note: The default value of `0` sets the game time to proceed at normal speed. If the value is set to a fraction such as `0.01` game time will pass more slowly, if the value is set to a large fraction such as `0.5` the game time pass quicker. You can use this command to tailor the game to the speed that you wish to play it at. This command is also useful when playing back demos so that you can play a demo in slow motion or in super speed.

host_speeds

  Type: Toggle

  Default: `0`

  Description: Toggle the display of the game engine's performance statistics.

  Note: When this toggle is enabled the game will print out a constant list of performance times for the game engine. The values displayed show the time in milliseconds that it takes the game engine to complete certain tasks. In the listing the first number represents the total time that it took the engine to render a single frame, the next number represents the time taken for calculating all of the game information, the number after that represents the time that it took to render the frame, and the last number represents the amount of time which was spend on producing the sound for that frame. Also, in order to receive the correct statistics on sound playback you will need to enable the `snd_noextraupdate` toggle.

  Output:

      26 tot   2 server  24 gfx   0 snd
      26 tot   2 server  25 gfx   0 snd
      24 tot   1 server  23 gfx   0 snd
      25 tot   3 server  22 gfx   0 snd
      26 tot   3 server  23 gfx   0 snd
      30 tot   3 server  27 gfx   0 snd
      30 tot   2 server  28 gfx   0 snd
      28 tot   1 server  27 gfx   0 snd
      33 tot   1 server  32 gfx   0 snd
      30 tot   3 server  27 gfx   0 snd

hostname

  Type: String

  Default: `""`

  Description: The name of the server.

  Note: This variable holds the name of the server as it should appear to other players that want to connect to it. Usually, the name of the server is setup by the administrator to identify his server, names such as '`The Mosh Pit`' are assigned to the servers. If the server is running some kind of a custom modification game then the name of the server could be '`DeathPit Capture The Flag`'. Its usually a good idea to give a meaningful name to the server to inform the players what they might be getting into.

impulse

  Type: Function

  Syntax: `impulse (number)`

  Description: Pass an impulse to the server to perform a game function.

  Note: It is necessary to use impulses in order for the client to communicate with the server. The impulse command is passed to the server and the server executes the desired function assigned to an impulse. There is a maximum of 255 impulses available. The idea behind impulses was to allow mod authors to let the player perform some special new functions for a mod and not have to intoduce any new commands into the game's console. Also, the number keys which select the weapons all have impulse commands bound to them to allow the player to switch weapons.

  Example: `impulse 7`

  List:
  `1` - Select Axe.
  `2` - Select Shotgun.
  `3` - Select Super Shotgun.
  `4` - Select Nailgun.
  `5` - Select Super Nailgun.
  `6` - Select Grenade Launcher.
  `7` - Select Rocket Launcher.
  `8` - Select ThunderBolt.
  `9` - Give all weapons and ammo cheat.
  `10` - Select the next weapon.
  `11` - Give rune cheat.
  `12` - Select the previoius weapon.
  `255` - Give Quad Damage cheat.

joyadvanced

  Type: Toggle

  Default: `0`

  Description: Toggle the use of advanced joystick features.

  Note: This Function will toggle the use of all the joystick commands.

joyadvancedupdate

  Type: Operation

  Description: Initialize the joystick's advanced features.

  Note: It is necessary to issue this command after making any changes to the other joystick commands. This command will initialize all of the settings.

joyadvaxisr

  Type: Register

  Default: `0`

  Description: Mapping of the joystick r-axis.

  Example:
  `joyadvaxisr 2`
  `joyadvaxisr 18`

  List:
  `0` - Axis not used.
  `1` - Axis is for forward and backward movement.
  `2` - Axis is for pitch.
  `3` - Axis is for side to side movement.
  `4` - Axis is for yaw.
  `16` + `?` - Axis mapping is relative (no stop points).

joyadvaxisu

  Type: Register

  Default: `0`

  Description: Mapping of the joystick u-axis.

  Example:
  `joyadvaxisu 2`
  `joyadvaxisu 18`

  List:
  `0` - Axis not used.
  `1` - Axis is for forward and backward movement.
  `2` - Axis is for pitch.
  `3` - Axis is for side to side movement.
  `4` - Axis is for yaw.
  `16` + `?` - Axis mapping is relative (no stop points).

joyadvaxisv

  Type: Register

  Default: `0`

  Description: Mapping of the joystick v-axis.

  Example:
  `joyadvaxisv 2`
  `joyadvaxisv 18`

  List:
  `0` - Axis not used.
  `1` - Axis is for forward and backward movement.
  `2` - Axis is for pitch.
  `3` - Axis is for side to side movement.
  `4` - Axis is for yaw.
  `16` + `?` - Axis mapping is relative (no stop points).

joyadvaxisx

  Type: Register

  Default: `0`

  Description: Mapping of the joystick x-axis.

  Example:
  `joyadvaxisx 2`
  `joyadvaxisx 18`

  List:
  `0` - Axis not used.
  `1` - Axis is for forward and backward movement.
  `2` - Axis is for pitch.
  `3` - Axis is for side to side movement.
  `4` - Axis is for yaw.
  `16` + `?` - Axis mapping is relative (no stop points).

joyadvaxisy

  Type: Register

  Default: `0`

  Description: Mapping of the joystick y-axis.

  Example:
  `joyadvaxisy 2`
  `joyadvaxisy 18`

  List:
  `0` - Axis not used.
  `1` - Axis is for forward and backward movement.
  `2` - Axis is for pitch.
  `3` - Axis is for side to side movement.
  `4` - Axis is for yaw.
  `16` + `?` - Axis mapping is relative (no stop points).

joyadvaxisz

  Type: Register

  Default: `0`

  Description: Mapping of the joystick z-axis.

  Example:
  `joyadvaxisz 2`
  `joyadvaxisz 18`

  List:
  `0` - Axis not used.
  `1` - Axis is for forward and backward movement.
  `2` - Axis is for pitch.
  `3` - Axis is for side to side movement.
  `4` - Axis is for yaw.
  `16` + `?` - Axis mapping is relative (no stop points).

joyforwardsensitivity

  Type: Register

  Default: `-1.0`

  Description: Determines the ramp-up speed for moving forward and backward.

  Note: Negative values will reverse movement.

joyforwardthreshold

  Type: Register

  Default: `0.15`

  Description: Controls the dead-zone for moving forward and backward.

joyname

  Type: String

  Default: `joystick`

  Description: The name given to the joystick.

joypitchsensitivity

  Type: Register

  Default: `1.0`

  Description: Speed that you look up and down.

  Note: Negative values will reverse movement.

joypitchthreshold

  Type: Register

  Default: `0.15`

  Description: Dead-zone for looking up and down.

joysidesensitivity

  Type: Register

  Default: `-1.0`

  Description: Ramp-up speed for moving side to side.

  Note: Negative values will reverse movement.

joysidethreshold

  Type: Register

  Default: `0.15`

  Description: Dead-zone for moving side to side.

joystick

  Type: Toggle

  Description: Toggle the use of joystick.

  Note: It is not recommended to use the joystick to play the game. The use of the joystick should be only an alternative if a mouse or a trackball is not available. The mouse or a trackball are the recommended to play the game. If you are using a joystick or just the keyboard to play the game, I strongly recommend that you switch into using the mouse and the keyboard.

joywwhack1

  Status: Unknown

joywwhack2

  Status: Unknown

joyyawsensitivity

  Type: Register

  Default: `-1.0`

  Description: Speed that you look left to right.

  Note: Negative values will reverse movement.

joyyawthreshold

  Type: Register

  Default: `0.15`

  Description: Dead-zone for looking left and right.

kick

  Type: Function

  Syntax:
  `kick (player name) [message]`
  `kick # (player number) [message]`

  Description: Remove a player from the server.

  Note: This command can be used by server administrators to remove certain players from the game. This command should be used if the player has become extremely abusive to the server or to the other players. The administrator can use the `status` command to get the player's number and kick him using that information instead of the player's name. It is also possible to pass a message the the player that was kicked to explain the reason why he was kicked.

  Example:
  `kick Player`
  `kick Player Don't kill your teammates!`
  `kick # 3`
  `kick # 3 This is a private match, stay out and don't come back.`

  Output:

      Kicked by Console
      Kicked by Console: Don't kill your teammates!
      Kicked by Console: This is a private match, stay out and don't come back.

kill

  Type: Operation

  Description: Make the player commit suicide.

  Note: This command should be used if the player became stuck somewhere in on the map or if cannot continue any longer When this command is used in deathmatch games 1 kill will be subtracted from the player's score. If this command is used in a single-player game the map will restart and the player will have to continue from the beginning all over again.

lcd_x

  Type: Register

  Default: `0`

  Description: The distance of that the picture for the right eye is offset on the x-axis for 3D glasses.

  Note: This variable is used for special 3D glasses which can be used with the game. This variable controls the distance that the picture for the right eye is offset on the x-axis. By setting this variable to a value which is not `0` you enable the special display mode used for 3D glasses.

lcd_yaw

  Type: Register

  Default: `0`

  Description: The angle that the picture for the right eye is offset for 3D glasses.

  Note: This variable is used for special 3D glasses which can be used with the game. This variable controls the angle that the picture for the right eye is offset.

listen

  Type: Toggle

  Default: `0`

  Description: Toggle if the server will look for incoming connections.

  Note: This variable is used to tell the server if it should look for incoming connections from the network. It is necessary to set this variable to `1` if you wish to setup a game server and have other people connect to it.

load

  Type: Function

  Syntax: `load [relative path/](filename)[.sav]`

  Description: Load a saved game.

  Note: This command is used to load saved games. The saved game files are usually stored in the `quake/id1/` directory. The filenames for the saved games will start with `s0.sav` and go onto `s11.sav`. The save file from the Quick Save feature will have the filename `quick.sav`. It is possible to load saved games from other directories by appending path information to the filename for this command. The special character combination `..` can be used in the relative path to point to a directory higher than the current directory.

  Example:
  `load s0`
  `load s6.sav`
  `load ../id1/quick.sav`

loadas8bit

  Type: Toggle

  Default: `0`

  Description: Toggle the loading of sound samples in 8-bit mode.

  Note: When this toggle is enabled the sound samples will be loaded in 8-bit mode thus making them a little smaller. This will give a little performance boost when playing the game at the cost of quality for the sound samples.

lookspring

  Type: Toggle

  Type: 0

  Description: Toggle the centering of the screen after the `-klook` command.

  Note: When this toggle is enabled the screen will automatically center itself after the `-klook` command is issued and the player takes a single step in any direction. This is a command that basically helps out keyboard players when they have to look up or down manually.

lookstrafe

  Type: Toggle

  Default: `0`

  Description: Toggle the automatic strafing when the `+klook` command is used.

  Note: When this toggle is active and the player used the `+klook` command, the keys that are bound to the `+left` and `+right` commands will now act as if they were bound to `+moveleft` and `+moveright`. This command was put it in order to allow keyboard player to combine the `+strafe` and `+klook` commands into one. This command also has effect on the mouse controls. When this toggle is enabled moving the mouse left and right will make the player move left and right instead of making him turn left and right.

m_filter

  Type: Toggle

  Default: `0`

  Description: Toggle mouse input filtering.

  Note: When this toggle is enabled the values which are received from the mouse's input will first be averaged together and then that value will be used in the game. The reason for this command is that some mice had problems with sending sporadic coordinates which make the input from the mouse jerky. This toggle will smooth out the input but it will cause a little latency between the actual movement of the mouse and the actual response in the game. If you feel that your mouse movement is jerky in the game or that you have having problems with the mouse input then you should enable this toggle. The Windows operating system will only sample mouse input every 25ms, that is 40 times a second. If you are playing the game at frame rates above 40FPS it is recommended that you enable this toggle.

m_forward

  Type: Register

  Default: `1`

  Description: The level of precision when the mouse is used to move the player forward and back.

  Note: This variable can be used to control how fast the player should move forward and back when the mouse is moved forward and back. This command has no effect if the `+mlook` command is in effect because when the mouse is moved forward and back the players looks up and down instead of moving forward and back. Some players might want to set this variable to `0` if they happen not to use `+mlook` constantly and they only want to use the mouse to turn the player. Setting this variable to `0` will prevent the inadvertent movement of the player forward and back while trying to make precise turns with the mouse.

m_pitch

  Type: Register

  Default: `0.022`

  Description: The level of precision when the mouse is used to make the player look up and down while the `+mlook` command is in effect.

  Note: By default this variable is set in such a way that moving the mouse forward makes the player look up and moving the mouse backward makes the player look down. Some people prefer to have this movement inverted just like it is inverted for airplane controls. If you wish to use this inverted mouse movement then you should set this variable to a negative value `-0.022`. It is a matter of preference which movement method is used by players. Also lowering the value for this variable will increase the level of precision when the mouse is used to make the player look up and down. This variable can be used separately from the `sensitivity` variable to provide greater control over the mouse sensitivity for movement along the pitch. It is advisable to keep the value for this variable constant at `0.022` or `-0.022` and instead use the `sensitivity` variable to change the overall sensitivity of the mouse. Also, some script writers lower the value for this variable along with a lowered value for the `fov` variable in order to provide more precision when the `fov` variable is used to zoom.

m_side

  Type: Register

  Default: `0.8`

  Description: The level of precision when the mouse is used move the player left and right.

  Note: When the `+strafe` command is active or when the `lookspring` toggle is enabled this variable is used to control the level of precision when the mouse is moved left and right to make the player move left and right.

m_yaw

  Type: Register

  Default: `0.022`

  Description: The level of precision when the mouse is used to turn the player left and right.

  Note: Basically this command controls how fast the player turns left and right when the mouse is moved left and right. It is recommended that this variable be left alone and instead the `sensitivity` variable is used to change the level of precision. If you set this variable to a negative value you will reverse the mouse movement. Some script writers use this variable to increase the level of precision when the `fov` variable is used to zoom the screen.

map

  Type: Function

  Syntax: `map (map name)`

  Description: Change the current game map.

  Note: This command will change the map that is currently being played. When used on a server this command will disconnect all of the players from the server before changing the map. It is recommended that the `changelevel` command be used instead of this command to change maps for game servers. Additional maps should be put in the `id1/maps/` directory from where they can be loaded by the game.

  Example:
  `map e1m1`
  `map dm2`

  List:
  `start` - Introduction
  `e1m1` - Slipgate Complex
  `e1m2` - Castle of the Damned
  `e1m3` - The Necropolis
  `e1m4` - The Grisly Grotto
  `e1m5` - Gloom Keep
  `e1m6` - The Door To Chthon
  `e1m7` - The House of Chthon
  `e1m8` - Ziggurat Vertigo
  `e2m1` - The Installation
  `e2m2` - Ogre Citadel
  `e2m3` - Crypt of Decay
  `e2m4` - The Ebon Fortress
  `e2m5` - The Wizard's Manse
  `e2m6` - The Dismal Oubliette
  `e2m7` - Underearth
  `e3m1` - Termination Central
  `e3m2` - The Vaults of Zin
  `e3m3` - The Tomb of Terror
  `e3m4` - Satan's Dark Delight
  `e3m5` - Wind Tunnels
  `e3m6` - Chambers of Torment
  `e3m7` - The Haunted Halls
  `e4m1` - The Sewage System
  `e4m2` - The Tower of Despair
  `e4m3` - The Elder God Shrine
  `e4m4` - The Palace of Hate
  `e4m5` - Hell's Atrium
  `e4m6` - The Pain Maze
  `e4m7` - Azure Agony
  `e4m8` - The Nameless City
  `end` - Shub-Niggurath's Pit
  `dm1` - Place of Two Deaths
  `dm2` - Claustrophobopolis
  `dm3` - The Abandoned Base
  `dm4` - The Bad Place
  `dm5` - The Cistern
  `dm6` - The Dark Zone

maxplayers

  Type: Register

  Default: `1`

  Description: The maximum number of players allowed on the server.

  Note: For single-player games this variable will always be set to `1`. When a listen server is started the value for this variable will be set to `4`. When the server is started in dedicated mode with the usage of the `-dedicated` command line parameter this variable will be set to `8`. The maximum number of players allowed on a server is 16 and the only way to start a server like that is to use the `-listen 16` or `-dedicated 16` command line parameters. It is not recommended to run a listen server as a public access server.

mcache

  Type: Operation

  Description: Display information about all cached models.

  Note: This command will display information about all models which are currently loaded in the memory. The first model reported is always the map itself. The memory address at which the model is located is reported along with the path and filename for the specific model.

  Output:

      Cached models:
      00000000 : maps/e1m1.bsp
      00000000 : *1
      00000000 : *3
      016BD864 : progs/armor.mdl
      016E5CA4 : progs/soldier.mdl
      0170BAE4 : progs/g_nail.mdl
      00000000 : maps/b_nail0.bsp
      01714314 : progs/quaddama.mdl
      00000000 : maps/b_bh100.bsp
      00000000 : maps/b_bh10.bsp

menu_keys

  Type: Function

  Description: Display the key configuration menu.

  Note: This command is not bound to any key by default, but I think id Software just forgot to bind it to the `F7` key. In this menu you can use the arrow keys to move around, use the `ENTER` key to select a function to bind to, use `BACKSPACE` or `DEL` to clear out functions. The default configuration for this menu is displayed below. This is the configuration that comes standard with the game and is stored in the `default.cfg` file inside the `pak0.pak`. Below is a list of all the settings and the commands that they bind to the keys.

  List:
  `attack` - `+attack`
  `change weapon` - '`impulse 10`'
  `jump / swim up` - `+jump`
  `walk forward` - `+forward`
  `backpedal` - `+back`
  `turn left` - `+left`
  `turn right` - `+right`
  `run` - `+speed`
  `step left` - `+moveleft`
  `step right` - `+moveright`
  `look up` - `+lookup`
  `look down` - `+lookdown`
  `center view` - `centerview`
  `mouse look` - `+mlook`
  `keyboard look` - `+klook`
  `swim up` - `+moveup`
  `swim down` - `+movedown`

  Output:

          Customize

      Enter to change, backspace to clear

      attack          CTRL or MOUSE1
      change weapon   /
      jump / swim up  ENTER or SPACE
      walk forward    UPARROW or MOUSE2
      backpedal       DOWNARROW
      turn left       LEFTARROW
      turn right      RIGHTARROW
      run             SHIFT
      step left       ,
      step right      .
      look up         A or PGDN
      look down       Z or DEL
      center view     END
      mouse look      \ or MOUSE3
      keyboard look   INS
      swim up         D
      swim down       C

menu_load

  Type: Function

  Binding: `F3`

  Description: Display the load menu for saved games.

  Note: This menu gives the player access to all of the games which he has saved. The game allows the player to have 11 saved games. The items in the menu display the name of the map on which the saved game was created along with the number of monsters killed on that map and the total number of monsters on that map. The player can use the arrow keys to navigate the menu and use the `ENTER` key to load a saved game.

  Output:

          Load

      The Slipgate Complex    kills:  16/ 23
      Castle of the Damned    kills:  19/ 24
      The Necropolis          kills:  30/ 47
      The Grisly Grotto       kills:  40/ 42
      Glook Keep              kills:  39/ 39
      The Door to Chthon      kills:  21/ 24
      The House of Chthon     kills:   0/ 21
      Zigurat Vertigo         kills:  25/ 28
      --- UNUSED SLOT ---
      --- UNUSED SLOT ---
      --- UNUSED SLOT ---
      --- UNUSED SLOT ---

menu_main

  Type: Function

  Description: Display the main game menu.

  Note: This menu is the first menu that seen by the player. This menu leads to all of the other game menus. There is no key bound to this command but the `ESCAPE` key can always bring up this menu. Below is a list of all the submenus and the appropriate commands which invoke those menus.

  List:
  `Single Player` - `menu_singleplayer`
  `Multiplayer` - `menu_multiplayer`
  `Options` - `menu_options`
  `Help/Ordering` - `help`
  `Quit` - `menu_quit`

  Output:

          Main

      Q   Single Player
      u   Multiplayer
      a   Options
      k   Help/Ordering
      e   Quit
      id

menu_multiplayer

  Type: Function

  Description: Display the multiplayer menu.

  Note: The `F5` key is bound to this command by default. This menu leads to the other submenus will allow the player to configure the multiplayer aspect of the game.

  List:
  `Join a Game` - No command.
  `New Game` - No command.
  `Setup` - `menu_setup`

  Output:

          Multiplayer

      Q   Join a Game
      u   New Game
      a   Setup
      k
      e
      id

menu_options

  Type: Function

  Binding: `F4`

  Description: Display the options menu.

  Note: This command allows access to the options menu which allows the player to customize the game in many various ways. The default settings for this menu are displayed below. Also, you can access other submenus from this menu.

  List:
  `Customize control` - No command.
  `Go to the console` - `toggleconsole`
  `Reset to the defaults` - No command.
  `Screen Size` - `sizedown`, `sizeup`
  `Brightness` - `gamma`. Range `1.0` to `0.5`. Interval `0.05`.
  `Mouse Speed` - `sensitivity`. Range `1.0` to `11.0`. Interval `0.5`.
  `CD Music Volume` - `bgmvolume`. Range `0` to `1`. Interval `1`.
  `Sound Volume` - `volume`. Range `0.0` to `1.0`. Interval `0.1`.
  `Always Run` - On '`cl_forwardspeed 400`' and '`cl_backspeed 400`'. Off '`cl_forwardspeed 200`' and '`cl_backspeed 200`'.
  `Invert Mouse` - On '`m_pitch -0.022`'. Off '`m_pitch 0.022`'.
  `Lookspring` - On '`lookspring 1`'. Off '`lookspring 0`'.
  `Lookstrafe` - On '`lookstrafe 1`'. Off '`lookstrafe 0`'.
  `Video Options` - `menu_video`
  `Use Mouse` - On '`_windowed_mouse 1`'. Off '`_windowed_mouse 0`'.

  Output:

          Options

      Q      Customize controls
      u       Go to the console
      a   Reset to the defaults
      k             Screen Size   (%%%%%%%%#%%)
      e              Brightness   (#%%%%%%%%%%)
      id            Mouse Speed   (%%#%%%%%%%%)
                CD Music Volume   (%%%%%%%%%%#)
                   Sound Volume   (%%%%%%%#%%%)
                     Always Run    off
                   Invert Mouse    off
                     Looksprint    off
                     Lookstrafe    off
                  Video Options
                      Use Mouse    off

menu_quit

  Type: Operation

  Description: Display the exit game menu.

  Note: This menu will show the credits for the game and also the copyright. It will also ask the player to press the `Y` key if he wants to exit the game. This command is not bound to the `F10` key by default and instead the `quit` is bound. When that key is pressed and the `quit` command detects that the player is playing on a map this command will be invoked and the menu will be displayed.

menu_save

  Type: Operation

  Binding: `F2`

  Description: Display the save game menu.

  Note: The saved game files are usually stored in the `quake/id1/` directory. The filenames for the saved games will start with `s0.sav` and go onto `s11.sav`. If you are playing in a single-player game I recommend that you use this command as often as possible. It's always a good idea to save games every time you achieve an important goal on each level, that way if you die you won't have to go through each level all over again. Nothing hurts more than getting killed at the every end of the level and having to play that whole level from the beginning.

  Output:

          Save

      The Slipgate Complex    kills:  16/ 23
      Castle of the Damned    kills:  19/ 24
      The Necropolis          kills:  30/ 47
      The Grisly Grotto       kills:  40/ 42
      Glook Keep              kills:  39/ 39
      The Door to Chthon      kills:  21/ 24
      The House of Chthon     kills:   0/ 21
      Zigurat Vertigo         kills:  25/ 28
      --- UNUSED SLOT ---
      --- UNUSED SLOT ---
      --- UNUSED SLOT ---
      --- UNUSED SLOT ---

menu_setup

  Type: Operation

  Binding: `F5`

  Description: Display the menu for player settings.

  Note: This is the submenu of the Multiplayer menu which is available with the `menu_multiplayer` command. In this menu you can set the name of your game server, the name of the player, his shirt and pants color. Make sure that you press the Accept Changes button to save your settings.

menu_singleplayer

  Type: Operation

  Description: Display the single-player menu.

  Note: You can use this menu to start a new game, load a saved game, or save your current game. When you start a new game you will be put on the `start` map. This command will also detect if you are already in a game and it will ask you if you are sure that you want to start a new game. Below is a list of all the commands for the submenus.

  List:
  `New Game` - `map start`
  `Load` - `menu_load`
  `Save` - `menu_save`

  Output:

          Single

      Q   New Game
      u   Load
      a   Save
      k
      e
      id

menu_video

  Type: Operation

  Description: Display the video options menu.

  Note: From this menu you will be able to select the video mode that the game runs at. The fastest video mode is the fullscreen 320x200 video mode because of the small screen size and the optimized access to the VGA memory area. It is recommended that you run a VESA driver for your video card if you wish to have the best performance from the high resolution video modes. Also, some of the video modes support DirectDraw access. Use the arrow keys to navigate the menu. Before you set a video mode use the test feature by pressing the `T` key. Use the `ENTER` key to change video modes. If you like the video mode you can set it to be the default video mode when you start the game by pressing the `D` key.

  List:
  `320x240` - `vid_mode 0`
  `640x480` - `vid_mode 1`
  `800x600` - `vid_mode 2`
  `320x200` - `vid_mode 3`
  `320x400` - `vid_mode 4`
  `512x384` - `vid_mode 5`
  `640x400` - `vid_mode 6`
  `640x480` - `vid_mode 7`
  `800x600` - `vid_mode 8`
  `1024x768` - `vid_mode 9`
  `1280x1024` - `vid_mode 10`

  Output:

                 Video Modes

                 Windowed Modes
      320x240       640x480     800x600

               Full Screen Modes
      320x200      320x400      512x384
      640x400      640x480      800x600
      1024x768     1280x1024

             Press Enter to Set Mode

          T to test mode for 5 seconds

      D to set default: 320x200 fullscreen
       current default: 320x200 fullscreen

                 Esc to exit

messagemode

  Type: Operation

  Binding: `T`

  Description: Display the text line for sending messages to other players.

  Note: When you use this command you will have access to the line where you can type messages to all the players on the server. You can type in the message and then press the `ENTER` key to send the message. If you do not want to send a message press the `ESCAPE` key to exit this mode. You can also create bindings by using the `say` command so you don't have to manually type messages which are used often like "Hello all!".

  Example:
  `say: Hello All!`
  `say: This map is awesome.`
  `say: I'm outta here`

  Output:

      Player: Hello All!
      Player: This map is awesome.
      Player: I'm outta here

messagemode2

  Type: Operation

  Description: Display the text line for sending messages to players only on your team.

  Note: By default this command is not bound, but it is recommened that you bind this command to the `Y` key so you can send private messages to the players on your team. This command is very helpful in team games because it allows you to talk about strategy with your team without having the other team overhearing anything that you say. When you use this command your name will be displayed in parentheses `(Player)` so that the players on your team know that the message that you send them is only heard by the team. You can create bindings using the `say_team` command if you wish to have a couple of messages which you can use all the time to inform your team.

  Example:
  `say: I'm going for their flag.`
  `say: I have Quad Damage.`
  `say: I'm at Red Armor.`
  `say: Enemy with Pentagram!`
  `say: C'mon, let's play some defense.`
  `say: Rocket room secure and Rocket Launcher is up.`

  Output:

      (Player): I'm going for their flag.
      (Player): I have Quad Damage.
      (Player): I'm at Red Armor.
      (Player): Enemy with Pentagram!
      (Player): C'mon, let's play some defense.
      (Player): Rocket room secure and Rocket Launcher is up.

name

  Type: String

  Default: `Player`

  Description: The player's name.

  Note: You can use this variable to set your name which will be used in multiplayer games. Make sure that you come up with an original name before starting your multiplayer career. Common names such as Ace, Killer, Iceman, and Death have already been overused by newbies. Also, make sure that you change the name from Player because anybody that comes on a server with this name will be showing sure signs of newbieness and possibly lameness. Also some people use the initals of their clan in their name so that they have names like `BlackBear[AAG]` or `EM-RedHandKilla`. Sometimes you will also see players which names that have weird characters or in different colors. These players are using special utilities which produce high-ASCII characters in order to access those characters and different colors. If you wish to have a name like they have might want to visit the Quake Name Maker web site at http://www.planetquake.com/quake_names/ or the Quake Name Maker site at http://qnm.telefragged.com/. You should be aware, that some people look down on funky colored names with weird characters and label the players who use such names as being lame.

net_messagetimeout

  Type: Register

  Default: `300`

  Description: The maximum amount of time in seconds between receiving network packets before the client determines the connection to be lost.

  Note: The client will keep the game open waiting for another game packet to come through, if a packet does not come in the amount of time set by this variable the client will determine that the connection has been broken and that it is lost. The client will shutdown the current game and go back to the console.

net_stats

  Type: Operation

  Description: Display network statistics.

  Note: This command will display statistics about the network packets which have been send and received by the client. This command is mostly used by game developers to test the game for bugs and such. It can also be used by causal players to test the quality and performance of their network connection to the server. You can judge the quality of your network connection by looking at the values for the `packetsReSent`, `receivedDuplicateCount`, `shortPacketCount`, and `droppedDatagrams`. If you notice high numbers for any of those fields then you will need to investigate your network connection or find a server to which you have a better connection. Unreliable packets are the usual game packets for player movement and player actions. These packets can be lost during the transmission without having a negative effect on the game, because they will only cause some jerkyness in the movement of the player. The reliable packets are the ones that are sent which must arrive a the client or the server in order to keep the game synchronized and working properly. Reliable packets contain messages send by players, death messages, map change information, and information about objects picked up by the player. These messages must be send with a reliable method in order to keep the client updated about such important information.

  Output:

      unreliable messages sent   = 12849
      unreliable messages recv   = 9390
      reliable messages sent     = 5
      reliable messages received = 21
      packetsSent                = 12854
      packetsReSent              = 0
      packetsReceived            = 9420
      receivedDuplicateCount     = 1
      shortPacketCount           = 0
      droppedDatagrams           = 0

noclip

  Type: Operation

  Description: Toggle the free flying cheat mode.

  Note: When this toggle is enabled the player will be in a free flying cheat mode where he will be able to fly through the map and through all walls and objects. Use this command once to enable the mode, use it again to disable it. This is a cheat mode frequently used by map makers to allow them easy access to special places in the map to check for errors. When the player is outside of the map all of the areas which are not part of the map will be displayed in gray. You can also use the `r_clearcolor` command in order to set a different color. Set that variable to `0` to make that color black. In order to move around in this mode use the usual movment keys, use the `+movedown` command to move down and use the `+moveup` command to move up. The `+jump` command will not work in this mode to move up. Also, when in this mode you are invulnerable to all damage because objects pass through you.

noexit

  Type: Toggle

  Default: `0`

  Description: Toggle if players are allowed to exit the level in multiplayer games.

  Note: It is recommended that public servers set this toggle to `2` in order to prevent players from abusing the server and interfering with game play by constantly changing maps. This setting will also allow players to choose the episode that they wish to play when the server defaults to the `start` map.

  List:
  `0` - Players are allowed to exit the level and force a map change.
  `1` - Players are not allowed to exit the level and will die when they try to exit.
  `2` - Players are not allowed to exit the level and will die when they try to exit, except on the `start` map.

nomonsters

  Status: Disabled

  Type: Toggle

  Default: `0`

  Description: Toggle the presence of monsters on the map.

  Note: This command is supposed to remove all of the monsters from the map but it does not seem to work. You can use the `notarget` command instead, which will allow you to keep the monsters on the map but they will not react to the player.

nosound

  Type: Toggle

  Default: `0`

  Description: Toggle the playback of sound effects in the game.

  Note: When this toggle is enabled the game will not play any sound effects in the game. When this toggle is used while the player is currently in a game it will disable the playback of all sound effects except the environment sounds. In order to totally disable the playback of all sound effects the game needs to be restarted or maps must be changed.

notarget

  Type: Operation

  Description: Toggle the ability of monsters to detect the player.

  Note: When this command is used once it will prevent monsters from detecting the player. The player will be able to walk among the monsters without being attacked. However, if the player attacks a monster the monster will then detect the player and attack him. This command is very useful to map authors who want to check on the default locations of monsters on their map without being molested by them.

path

  Type: Operation

  Description: Display information about the current path locations used by the game.

  Note: This command will display the fully qualified paths which are being used by the game. The default paths always start in the `id1/` directory in order for the game to be able to find all of the necessary game files. Also, `.pak` files are considered to be path locations because they contain directory information inside them.

  Output:

      Current search path:
      C:\quake/id1/pak1.pak (85 files)
      C:\quake/id1/pak0.pak (339 files)
      C:\quake/id1

pausable

  Type: Toggle

  Default: `1`

  Description: Toggle the ability of the player to temporarily stop the game.

  Note: This toggle determines if the player is able to use the `pause` command to temporarily stop the game. When the game is in single-player mode this toggle is enabled. When the game is in multiplayer mode this toggle is disabled in order to prevent players from abusing the pausing feature of the game.

pause

  Type: Operation

  Binding: `PAUSE`

  Description: Temporarily stop the game.

  Note: The player can use this command to temporarily stop the game. This command will only be effective if the `pausable` toggle is set to `1`. Normally the player will be able to pause games in single-player mode only and not in multiplayer mode. Use this command once to pause the game, use it again to resume it.

ping

  Type: Operation

  Description: Display the network latency times for all players on the server.

  Note: This command will show the network latency or ping times for all the players. This command is useful because it allows the player to see the types of connections that each player has. The latency times are calculated by recording the time in milliseconds that it takes a game packet to be send from the server to the client, and then back again. If a player has a ping of 200ms then that means that it takes 0.2 seconds for a packet to make a round trip. It is better to play on servers which allow the player to have the lowest possible ping time because the lower the ping time the more responsive the game is to the player's movments. Normally, players will have all types of pings in all ranges. Ping times increase as the distance increases between the client and the server. Ping times also vary depending on the type of a connection that the client has. If the player is using a analog modem he will have pings above of 130ms because it takes about 60 milliseconds to modulate the information from analog to digital, and digital to analog. Some players will have pings as high has 350ms and more that means that they are a considerable distance from the server in physical terms. If a player has a ping of 0ms it means that he is running a listen server that is both a client and a server in the same program, that player has considerable advantage over all other players on the server. A ping of 999ms means that the server has lost connection with the player. Players with ping times of less than 150ms are commonly named LPBs which stands for "Low Ping Bastards". Players with pings of 150+ are usually nick named "High Ping Whiners" or HPWs. Sometimes they will be misnamed HPBs which would stand for "High Ping Bastards" because the player would derive the term from the term LPB. It is widely known that a lot of HPWs resent LPBs because of their lower pings and the advantage of lower pings.

  Output:

      Client ping times:
       196 Player
        56 HankTheDwarf
       269 Foo Master
       999 BadModemMan

play

  Type: Function

  Syntax: `play [relative path/](sound file)[.wav]`

  Description: Play a sound file.

  Note: You can use this command to listen through all of the sounds which come with the game. Most sound files are recorded in PCM Wave format at 11,025Hz in 8-bit mono mode. Some sound files are recorded at 22,050Hz in 16-bit mono mode. You can use the `loadas8bit` command to limit all files to 8-bit mode. You should be aware that by default all sound files are stored under the `sound/` directory so when you issue a command like '`play shamber\shurt2`' it actually plays the `sound\shambler\shurt2.wav` file. Keep in mind the `sound/` directory prefix when you decide to play your own sound files.

  Example:
  `play shambler\shurt2`
  `play misc\r_tele3.wav`

  List:
  `ambience\buzz1.wav, ambience\comp1.wav, ambience\drip1.wav, ambience\drone6.wav, ambience\fire1.wav, ambience\fl_hum1.wav, ambience\hum1.wav, ambience\suck1.wav, ambience\swamp1.wav, ambience\swamp2.wav, ambience\thunder1.wav, ambience\water1.wav, ambience\wind2.wav, ambience\windfly.wav, blob\death1.wav, blob\hit1.wav, blob\land1.wav, blob\sight1.wav, boss1\death.wav, boss1\out1.wav, boss1\pain.wav, boss1\sight1.wav, boss1\throw.wav, boss2\death.wav, boss2\idle.wav, boss2\pop2.wav, boss2\sight.wav, buttons\airbut1.wav, buttons\switch02.wav, buttons\switch04.wav, buttons\switch21.wav, demon\ddeath.wav, demon\dhit2.wav, demon\djump.wav, demon\dland2.wav, demon\dpain1.wav, demon\idle1.wav, demon\sight2.wav, dog\dattack1.wav, dog\ddeath.wav, dog\dpain1.wav, dog\dsight.wav, dog\idle.wav, doors\airdoor1.wav, doors\airdoor2.wav, doors\basesec1.wav, doors\basesec2.wav, doors\basetry.wav, doors\baseuse.wav, doors\ddoor1.wav, doors\ddoor2.wav, doors\doormv1.wav, doors\drclos4.wav, doors\hydro1.wav, doors\hydro2.wav, doors\latch2.wav, doors\medtry.wav, doors\meduse.wav, doors\runetry.wav, doors\runeuse.wav, doors\stndr1.wav, doors\stndr2.wav, doors\winch2.wav, enforcer\death1.wav, enforcer\enfire.wav, enforcer\enfstop.wav, enforcer\idle1.wav, enforcer\pain1.wav, enforcer\pain2.wav, enforcer\sight1.wav, enforcer\sight2.wav, enforcer\sight3.wav, enforcer\sight4.wav, fish\bite.wav, fish\death.wav, fish\idle.wav, hknight\attack1.wav, hknight\death1.wav, hknight\grunt.wav, hknight\hit.wav, hknight\idle.wav, hknight\pain1.wav, hknight\sight1.wav, hknight\slash1.wav, items\armor1.wav, items\damage.wav, items\damage2.wav, items\damage3.wav, items\health1.wav, items\inv1.wav, items\inv2.wav, items\inv3.wav, items\itembk2.wav, items\protect.wav, items\protect2.wav, items\protect3.wav, items\r_item1.wav, items\r_item2.wav, items\suit.wav, items\suit2.wav, knight\idle.wav, knight\kdeath.wav, knight\khurt.wav, knight\ksight.wav, knight\sword1.wav, knight\sword2.wav, misc\basekey.wav, misc\h2ohit1.wav, misc\medkey.wav, misc\menu1.wav, misc\menu2.wav, misc\menu3.wav, misc\null.wav, misc\outwater.wav, misc\power.wav, misc\runekey.wav, misc\r_tele1.wav, misc\r_tele2.wav, misc\r_tele3.wav, misc\r_tele4.wav, misc\r_tele5.wav, misc\secret.wav, misc\talk.wav, misc\trigger1.wav, misc\water1.wav, misc\water2.wav, ogre\ogdrag.wav, ogre\ogdth.wav, ogre\ogidle.wav, ogre\ogidle2.wav, ogre\ogpain1.wav, ogre\ogsawatk.wav, ogre\ogwake.wav, plats\medplat1.wav, plats\medplat2.wav, plats\plat1.wav, plats\plat2.wav, plats\train1.wav, plats\train2.wav, player\axhit1.wav, player\axhit2.wav, player\death1.wav, player\death2.wav, player\death3.wav, player\death4.wav, player\death5.wav, player\drown1.wav, player\drown2.wav, player\gasp1.wav, player\gasp2.wav, player\gib.wav, player\h2odeath.wav, player\h2ojump.wav, player\inh2o.wav, player\inlava.wav, player\land.wav, player\land2.wav, player\lburn1.wav, player\lburn2.wav, player\pain1.wav, player\pain2.wav, player\pain3.wav, player\pain4.wav, player\pain5.wav, player\pain6.wav, player\plyrjmp8.wav, player\slimbrn2.wav, player\teledth1.wav, player\tornoff2.wav, player\udeath.wav, shalrath\attack.wav, shalrath\attack2.wav, shalrath\death.wav, shalrath\idle.wav, shalrath\pain.wav, shalrath\sight.wav, shambler\melee1.wav, shambler\melee2.wav, shambler\sattck1.wav, shambler\sboom.wav, shambler\sdeath.wav, shambler\shurt2.wav, shambler\sidle.wav, shambler\smack.wav, shambler\ssight.wav, soldier\death1.wav, soldier\idle.wav, soldier\pain1.wav, soldier\pain2.wav, soldier\sattck1.wav, soldier\sight1.wav, weapons\ax1.wav, weapons\bounce.wav, weapons\grenade.wav, weapons\guncock.wav, weapons\lhit.wav, weapons\lock4.wav, weapons\lstart.wav, weapons\pkup.wav, weapons\ric1.wav, weapons\ric2.wav, weapons\ric3.wav, weapons\rocket1i.wav, weapons\r_exp3.wav, weapons\sgun1.wav, weapons\shotgn2.wav, weapons\spike2.wav, weapons\tink1.wav, wizard\hit.wav,wizard\wattack.wav, wizard\wdeath.wav, wizard\widle1.wav, wizard\widle2.wav, wizard\wpain.wav, wizard\wsight.wav, zombie\idle_w2.wav, zombie\z_fall.wav,` `zombie\z_gib.wav, zombie\z_hit.wav, zombie\z_idle.wav, zombie\z_idle1.wav, zombie\z_miss.wav, zombie\z_pain.wav, zombie\z_pain1.wav, zombie\z_shot1.wav`.

playdemo

  Type: Function

  Syntax: `playdemo [relative path/](filename)[.dem]`

  Description: Playback a recorded game demo.

  Note: The demo file is actually a collection of game information that would normally be send from the client to the server. Also, below is a list of the three demo files that come with the game. For more information about demo files and for information about their structure you can visit the Demo Specs web site at http://www.planetquake.com/demospecs/.

  Example:
  `playdemo demo1`
  `playdemo demo2.dem`

  List:
  `demo1` - The Necropolis, `e1m3`, 969 frames.
  `demo2` - The Grisly Grotto, `e1m4`, 985 frames.
  `demo3` - The Door to Chthon, `e1m6`, 1090 frames.

playvol

  Type: Function

  Syntax: `playvol [relative path/](filename)[.wav] (volume)`

  Description: Play a sound file at a given volume.

  Note: This command works exactly like the `play` command except that with this command you can specify the volume at which the sound file should be played at. You can refer to the list of sound files which is provided with the `play` file. The volume parameter for this file can only be between `0.0` and `1.0` because it is a percentage value of the general volume.

  Example:
  `playvol player/udeath 0.6`
  `playvol misc/water2.wav 0.85`

pointfile

  Type: Function

  Syntax: `pointfile [relative path/](filename)[.pts]`

  Description: Load a point file to display leaks on the map.

  Note: This command allows for the loading of a point file which is generated by QBSP in order to find leaks on the map. A leak will be displayed by a trail of little dots on the map. It is necessary to close all leaks on a map in order to avoid problems and possible crashes.

  Example:
  `pointfile id1/maps/points`
  `pointfile leaks.pts`

port

  Type: Register

  Default: `26000`

  Description: The UDP port used by the game for the TCP/IP network protocol.

  Note: By default the game uses the `26000` UDP port. Sometimes if there is more than one server running on the same computer each server can use a different port address. In order to start a server with a different port number you must use the `-port` command line parameter instead of this command. If you want to connect to a server which is using a different port number than the default you will have to set this variable to match the port number of the server before you can connect.

precache

  Type: Toggle

  Description: Toggle the preloading of all necessary sound files before the map starts.

  Note: Normally this toggle is enabled which in turn enables the game to load all of the necessary sound files for that specific map before the game starts. If this toggle is disabled the game will not preload the sound files during the start of the map, instead the sound files will only be loaded when they are necessary. The sound files will stay in memory after they are loaded in order to increase performance of the game by not having to reload the same sound files from the hard drive every time that the sound file is used.

prespawn

  Status: Internal

  Type: Function

  Syntax: `prespawn (entity) (respawn spot)`

  Description: Spawn the player entity on a given respawn spot.

  Note: This command is used internally by the game and it is send from the server to the client when the server determines that the client is ready to start the game. This command will spawn the player entity on a given respawn spot.

profile

  Type: Operation

  Description: Display information about the amount of CPU cycles spend on processing game information.

  Note: This command will display a list of program functions and the number of CPU cycles spend on executing each game function. The information for this command is updated every frame. This command was mostly used by the game programmers to check on the speed of the game code and to check for any problems with the code such as unnecessary processing or loops.

  Output:

        12027 FindTarget
         5291 PlayerPreThink
         4605 ai_stand
         4147 WaterMove
         3003 PlayerPostThink
         2736 ImpulseCommands
         2288 CheckRules
         2002 CheckPowerups
         1476 ai_walk
         1287 StartFrame

quit

  Type: Operation

  Binding: `F10`

  Description: Exit the game and return to the operating system.

  Note: This command is used to leave the game and return to the operating system. When this command is used and the player is in console mode the game will just exit normally. If the game is in regular mode this command will bring up the same menu as the `menu_quit` command.

r_aliastransadj

  Status: Disabled

  Game: WinQuake

  Type: Register

  Default: `100`

  Description: The adjustment value used for the clipping of model objects on the map.

  Note: Not much is known about this command except that it affects how objects are rendered on the screen. This variable is unused and I suspect that it was made non-functional right before the game was released.

r_aliastransbase

  Status: Disabled

  Game: WinQuake

  Type: Register

  Default: `200`

  Description: The adjustment value used for the clipping of model objects on the map.

  Note: Not much is known about this command except that it affects how objects are rendered on the screen. This variable is unused and I suspect that it was made non-functional right before the game was released.

r_ambient

  Game: WinQuake

  Type: Register

  Default: `0`

  Description: The amount of ambient lighting on the map.

  Note: This variable is able to change the amount of ambient lighting on the map. When this variable is increased the map will become brighter and all walls and objects will be rendered in a lighter color. This command can only be used in single-player mode and not in multiplayer mode because it could be used as a cheat in order to see players in dark corners.

r_clearcolor

  Game: WinQuake

  Type: Register

  Default: `2`

  Description: The color for drawing clear areas outside of the map during when `noclip` is enabled.

  Note: You can use this variable to change the color for the areas which are not part of the map when the player is free flying outside of the map during `noclip` mode. Changing the color is sometimes beneficial to map makers who would like to look at their map from outside of it to look for design errors. The value for this variable represents the number of a specific color in the pallet used by the game. Below is a list of some of the more useful colors from the pallet.

  List:
  `0` - Black
  `2` - Gray
  `144` - Pink
  `192` - Bright Yellow
  `208` - Bright Blue
  `244` - Bright Aqua
  `251` - Bright Red
  `254` - Bright White

r_drawentities

  Type: Toggle

  Default: `1`

  Description: Toggle the display of object entities on the map.

  Note: When this toggle is disabled the game will not draw any object entities on the map. This command is useful to map authors who wish to have a look at their map without drawing any objects such as lifts, buttons, or items. Mostly used for testing the maps.

r_drawflat

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the drawing of textures on the map.

  Note: This command is used to test the maps without drawing textures on the walls. This command is mostly used by map makers to test out the architecture of the map before they place individual textures on the walls. Every individual brush will have a unique texture. This command does not work during multiplayer games.

r_draworder

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the correct order of rendering walls.

  Note: This toggle will change the order which is used to properly render the visible walls on a map. The default rendering order first renders the walls which are far away and then renders the walls which are close to the player thus the walls that are closer to the player will cover up the far away walls. When this toggle is enabled the rendering order will be reversed, so that the player will be able to see right through the walls which are close to him creating a x-ray type effect. This toggle allows map makers to see how much of the map is actually rendered and which parts of the map are rendered but would not be seen by players. This allows map authors to optimize the maps by limiting limiting the number of far away walls which are rendered. This command does not work during multiplayer games.

r_drawviewmodel

  Type: Toggle

  Default: `1`

  Description: Toggle the rendering of the player's weapon.

  Note: When this toggle is disabled it will cause the rendered not to display the weapon model in front of the player. Some players like to disable this toggle which allows them to see more of the game screen and instead they depend on the crosshair for aiming.

r_dspeeds

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of renderer speed statistics.

  Note: This command will output a list numbers which represent the renderer speeds for each frame. The first number represents the total time in milliseconds that it took the renderer to draw the frame. The meanings of the other numbers is still unknown but it is probable that they represent the times of individual functions of the rendering system.

  Output:

       13  0.2p   2w  0.2b   8s  0.7e  1.0v
       13  0.0p   2w  0.2b   8s  0.7e  1.0v
       12  0.0p   2w  0.2b   7s  0.5e  1.2v
       12  0.0p   2w  0.2b   7s  0.7e  1.2v
       12  0.0p   2w  0.2b   8s  0.5e  1.2v
       12  0.0p   2w  0.2b   7s  1.0e  1.0v
       28  0.2p   2w  0.2b  23s  0.7e  1.0v
       12  0.0p   1w  0.2b   8s  0.7e  1.0v
       13  0.0p   2w  0.2b   9s  0.7e  1.0v
       12  0.0p   2w  0.2b   8s  0.7e  1.0v

r_dynamic

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the rendering of dynamic lighting.

  Note: When this toggle is disabled the game will not render any dynamic lighting, this means that when a rocket is flying or when it explodes no light will be emitted. There is a considerable amount of performance to be gained when this toggle is disabled.

r_fullbright

  Type: Toggle

  Default: `0`

  Description: Toggle the use of lights at full brightness on the map.

  Note: When this toggle is enabled the renderer system will render all textures on the map at full brightness. This will allow map authors to remove all of the lighting effects from the map. This command does not work in multiplayer games in order to prevent cheating.

r_graphheight

  Game: WinQuake

  Type: Register

  Default: `10`

  Description: The vertical size in pixles of the graph displayed by the `r_timegraph` command.

r_maxedges

  Game: WinQuake

  Type: Register

  Default: `2400`

  Description: The maximum number of plane surface edges to be rendered.

  Note: This value for this variable is used as the cut off point for the renderer when drawing complex maps. Once the renderer draws the maximum number of edges specified by this command it will stop rendering any more edges which in turn could results in areas of the map that become clear and walls will start disappearing. When playing on complex maps it is sometimes necessary to increase the value to prevent the disappearing of far away walls on the map. A good number to set this variable to is `4000` or any number which is 4 times the value of `r_maxsurfs`.

r_lightmap

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of all light sources on the map.

r_maxsurfs

  Game: WinQuake

  Type: Register

  Default: `800`

  Description: The maximum number of plane surfaces to be rendered.

  Note: This variable limits the number of surfaces that will be rendered. This variable is used along with the `r_maxedges` variable in order to limit the renderer from drawing too much of the map and to increase performance. Sometimes it is necessary to increase the value for this variable, a good number to use is `1000`.

r_mirroralpha

  Status: Disabled

  Game: GLQuake

  Type: Register

  Default: `1`

  Range: `0.0 - 1.0`

  Description: The level of reflection from special textures.

  Note: When this register is set to a value which is lower than `1` certain textures will take on the function of mirrors. This variable has been disabled because it was causing problems with the renderer.

r_norefresh

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the redrawing of the game screen.

  Note: When this toggle is enabled the game will not redraw the game screen and will leave the player bind to everything that is going on in the game. This toggle was used for debugging.

r_novis

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the use of VIS information from the map data.

  Note: When this toggle is enabled the game will calculate it's own VIS information on the fly instead of using the information stored in the map data. This will cause a server drop in performance in the game. When this toggle is enabled and the variable `r_wateralpha` has a value lower than `1` the player will be able to see through liquids. This is a nice effect to see but it is not recommended to keep this toggle enabled because of the server performance penalty. It is possible to enable transparent water and still keep this toggle enabled. You would have to visit the official Water VIS site at http://www.sod.net/ and download the vispatch program along with the patch data files which you would use to update the VIS data for all of your game maps.

r_numedges

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about the number of edges currently being rendered.

  Note: This command will output a list of information about the number of edges. The first number displays the number of edges rendered. The next number displays the maximum number of edges that would be rendered which is determined by the value in the `r_maxedges`variable. The last number displays the total number of edges which are viewable from that location which is determined by the VIS data for that location. An entry in this list is produced every frame. The number of edges rendered is equal to or smaller than the number of total edges which would be viewable because the renderer cuts out edges which are covered up and would not normally be seen.

  Output:

      Used 931 of 2400 edges; 931 max
      Used 943 of 2400 edges; 943 max
      Used 1053 of 2400 edges; 1053 max
      Used 1159 of 2400 edges; 1159 max
      Used 1220 of 2400 edges; 1220 max
      Used 1197 of 2400 edges; 1220 max
      Used 1039 of 2400 edges; 1220 max
      Used 993 of 2400 edges; 1220 max
      Used 871 of 2400 edges; 1220 max
      Used 719 of 2400 edges; 1220 max

r_numsurfs

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about the number of surfaces which are being rendered.

  Note: This command will output information about the number of surfaces which the renderer is drawing with every frame. The first number represents the number of surfaces which are actually rendered. The second number represents the maximum number of surfaces that the render would draw which is determined by the value in the `r_maxsurfs` variable. The last number represents the total number of surfaces which are viewable from the given location according to the VIS data for that map. The number of surfaces which are actually rendered is equal to or smaller than the total number of surfaces which could be seen from that location.

  Output:

      Used 459 of 801 surfs; 459 max
      Used 453 of 801 surfs; 459 max
      Used 430 of 801 surfs; 459 max
      Used 435 of 801 surfs; 459 max
      Used 328 of 801 surfs; 459 max
      Used 273 of 801 surfs; 459 max
      Used 230 of 801 surfs; 459 max
      Used 211 of 801 surfs; 459 max
      Used 195 of 801 surfs; 459 max
      Used 174 of 801 surfs; 459 max

r_polymodelstats

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about the number of models being drawn.

  Note: This command will output a list for every frame which shows the number of models being rendered for that particular frame at that location on the map. A model is actually an entity which is visible to the player. The player's weapon is the first model which is drawn. This command is useful to map authors in order to determine he number of modems which are being drawn on the map. If the number of models exceeds a 64, some models will not be rendered and will start to disappear.

  Output:

       20 polygon model drawn
       20 polygon model drawn
       16 polygon model drawn
       16 polygon model drawn
        8 polygon model drawn
        8 polygon model drawn
        8 polygon model drawn
        9 polygon model drawn
        9 polygon model drawn
        9 polygon model drawn

r_reportedgeout

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about the number of edges which would be rendered outside of the map.

  Note: When this toggle is active and it display output it means that there are problems with the map.

r_reportsurfout

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about the number of surfaces which would be rendered outside of the map.

  Note: When this toggle is active and it display output it means that there are problems with the map.

r_shadows

  Game: GLQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the rendering of shadows for models.

  Note: When this toggle is enabled the game will try to render shadows under all objects and players. The shadows sometimes look out of place. The implementation of this toggle was only to see if the designers could create dynamic shadows and it wasn't meant for general use.

r_speeds

  Type: Toggle

  Default: `0`

  Description: Toggle the display of information about the renderer performance.

  Note: This command will give some statistics about the speed of the renderer. The information is displayed for every frame. The first value shows the total time required to render that frame, the next three values display the number of polygons which were rendered, and the last value is the number of surfaces which have been rendered.

  Output:

       18.7 ms 422/263/127 poly  12 surf
       18.1 ms 422/263/127 poly  12 surf
       35.2 ms 422/263/127 poly  12 surf
       17.7 ms 422/263/127 poly  12 surf
       20.7 ms 422/263/127 poly  12 surf
       17.9 ms 422/263/127 poly  12 surf
       19.7 ms 422/263/127 poly  12 surf
       18.2 ms 422/263/127 poly  12 surf
       18.0 ms 422/263/127 poly  12 surf
       18.4 ms 422/263/127 poly  12 surf

r_timegraph

  Game: WinQuake

  Type: Toggle

  Default: `0`

  Description: Toggle the display of a graph which shows the performance of the renderer in graphical format.

  Note: When this toggle is enabled a little graph will be shown in the middle of the screen. The vertical size of the graph can be controlled with the `r_graphheight` variable. Each line on the graph displays the time in milliseconds that it took to render that specific frame. Each vertical pixel on the graph represents 5ms that it took the renderer to draw that particular frame.

r_wateralpha

  Game: GLQuake

  Type: Toggle

  Default: `1`

  Range: `0.0 - 1.0`

  Description: The level of transparency for liquids.

  Note: When the `r_novis` toggle is enabled and this variable is set to a value which is lower than `1` the player will be able to see objects and walls through liquids. This is a very nice feature to have in the game. For more information refer to the `r_novis` command.

r_waterwarp

  Game: WinQuake

  Type: Toggle

  Default: `1`

  Description: Toggle the use of the screen warping effect when the player is submerged in liquids.

  Note: When this toggle is enabled the screen will wobble when the player is submerged in liquids. Some players choose to disable this effect in order to have a clearer picture when in water and making their aim better.

reconnect

  Type: Operation

  Description: Reconnect to the server.

  Note: If you become disconnected from the server you can use this command to quickly reconnect to the server without having to use the `connect` command again. This is very useful if you overflow from the server or when your network connection fails.

record

  Type: Function

  Syntax: `record [directory/](filename)[.dem] [(map) [cd track]]`

  Description: This command will start the recording of a game demo.

  Note: You can use this command to record demos of single-player games and of multiplayer deathmatches. If you wish to record a demo of a single-player game you must specify the map that you wish to record the demo on so that the game can automatically start the server process. If you wish to record a demo of a multiplayer game you will have to start recording the demo without specifying the name of a map and then connect to the game server manually. Also, you cannot use the `..` character pair in the `[directory]` parameter for this command so you can only record demos to directories which are below `quake/id1/`. You can also specify the track on the CD that should be played when recording a demo during a single-player game. It is recommended that you create a seperate directory to hold all of your demos, he location of that directory should be `quake/id1/demos`. For more information about the demo file format visit Demo Specs web site at http://www.planetquake.com/demospecs/. It is also possible to alter demos which have been previous recorded and to edit them for content as if there were movies. Also a couple of clans and people have made some movie clips using recorded demos. If you want to edit demos to create little movies you should visit the KeyGrip site at http://www.planetquake.com/keygrip/.

  Example:
  `record mydemo dm2 4`
  `record demos/match03.dem; connect TheServer`

  Output:

      recording to C:\games\quake/id1/mydemo.dem.
      recording to C:\games\quake/id1/demos/match03.dem.

registered

  Type: Toggle

  Default: `1`

  Description: Toggle if the game is considered to be the full version or the shareware.

  Note: The value for this variable will be determined during the time that the game is first started. The game will check for the presence of the `pak1.pak` file and also the `gfx/pop.lmp` file and if those files exist it will be considered that the game is the registered full version and access to all of the episodes will be provided. This variable is only useful if you have the shareware version of the game and you wish to see the ThunderBolt weapon on the start level. You can enable this toggle, set the `deathmatch` variable to `1`, and then use the `map start` command to start the game. Proceed to the slipgate which leads to the 3rd episode and you will be able to see the ThunderBolt. The `gfx/pop.lmp` is supposed to be the proof-of-purchase file, it is only 256-bytes and it contains a ASCII picture of the letter "Q" as seen in Quake.

restart

  Type: Operation

  Description: Restart the current game.

  Note: When this command is used it will restart the current map in a single-player mode. This command is useful to map authors who have to reload their map constantly with new updates.

samelevel

  Type: Toggle

  Default: `0`

  Description: Toggle the constant cycling of the same map on a server.

  Note: When this toggle is enabled the game will play the same map over and over again all the time. If the players exit the map the game will end and the server will restart on the same map. This toggle might be useful if somebody wants to have a dedicated server which runs only one map all the time.

save

  Type: Function

  Syntax: `save [directory/](filename)[.sav]`

  Description: Save the current game to a file.

  Note: This command is used to save games. The saved game files are usually stored in the `quake/id1/` directory. The filenames for the saved games will start with `s0.sav` and go onto `s11.sav`. The save file from the Quick Save feature will have the filename `quick.sav`. You can use this command to create save games with any name. Also, you can only save games in the directories below the `quake/id1/` directory such as `quake/id1/save/`.

  Example:
  `save s0`
  `save s6.sav`
  `save save/mysave.sav`

  Output:

      Saving game to C:\quake/id1/s0.sav...
      done.

      Saving game to C:\quake/id1/s6.sav...
      done.

      Saving game to C:\quake/id1/save/mysave.sav...
      done.

saved1

  Status: Unknown

  Default: `0`

saved2

  Status: Unknown

  Default: `0`

saved3

  Status: Unknown

  Default: `0`

saved4

  Status: Unknown

  Default: `0`

savedgamecfg

  Status: Unknown

  Default: `0`

say

  Type: Function

  Syntax: `say (message)`

  Description: Send a message to all players on the server.

  Note: This command is very similar in usage to the `messagemode` command except that you can use this command inside aliases and in bindings to automatically send messages to other players with the press of a single key. Many players use this command and create bindings which send frequently uses messages, this saves them time typing in the same responses all the time.

  Example:
  `say Hello All!`
  `say This map is awesome.`
  `say I'm outta here`

  Output:

      Player: Hello All!
      Player: This map is awesome.
      Player: I'm outta here

say_team

  Type: Function

  Syntax: `say_team (message)`

  Description: Send a message to players only on your team.

  Note: This command is very similar in usage to the `messagemode2` command except that you can use this command inside aliases and in bindings to automatically send messages to other players with the press of a single key. Many players use this command and create bindings which send frequently uses messages, this saves them time typing in the same messages during team games, especially clan matches.

  Example:
  `say_team I'm going for their flag.`
  `say_team I have Quad Damage.`
  `say_team I'm at Red Armor.`
  `say_team Enemy with Pentagram!`
  `say_team C'mon, let's play some defense.`
  `say_team Rocket room secure and Rocket Launcher is up.`

  Output:

      (Player): I'm going for their flag.
      (Player): I have Quad Damage.
      (Player): I'm at Red Armor.
      (Player): Enemy with Pentagram!
      (Player): C'mon, let's play some defense.
      (Player): Rocket room secure and Rocket Launcher is up.

scr_centertime

  Type: Register

  Default: `2`

  Description: The amount of time in seconds that center printed messages stay on the screen.

  Note: It might be necessary to set this variable to a higher value in order to read some of the large messages which are displayed in the game. A good value to set this variable to is `5`, so that messages stay long enough on the screen in order to finish reading the completely.

  Output:

          This passage selects NIGHTMARE skill!

             This is the first episode:
              Dimension of the Doomed

          The mystical past comes alive...

              Walk into the Slipgate
              to start playing Quake!

scr_conspeed

  Type: Register

  Default: `300`

  Description: The speed at which the console screen lowers.

  Note: Some people prefer to have instantaneous access to the console, they usually set this variable to a very high value such as `100000`.

scr_ofsx

  Type: Register

  Default: `0`

  Description: The value in pixles that the game screen is offset on the x-axis.

  Note: This variable can be used to move the game screen on the x-axis relative to the position of the player thus enabling the player to view the game from a different perspective. The x-axis in the game is the axis on which the player moves forward and back. You can set this variable to a value such as `-100` to give the impression that the player is control a flying weapon while watching it remotely through a chasing camera.

scr_ofsy

  Type: Register

  Default: `0`

  Description: The value in pixles that the game screen is offset on the y-axis.

  Note: This variable can be used to move the game screen on the x-axis relative to the position of the player thus enabling the player to view the game from a different perspective. The y-axis in the game is the axis on which the player moves left and right. You can set this variable to a value such as `-75` which would give the impression that the player is holding the weapon in his right hand.

scr_ofsz

  Type: Register

  Default: `0`

  Description: The value in pixles that the game screen is offset on the z-axis.

  Note: This variable can be used to move the game screen on the x-axis relative to the position of the player thus enabling the player to view the game from a different perspective. The z-axis in the game is the axis on which the player moves up and down. You can set this variable to a value such as `-50` to give the impression that the player is driving a really small tank in the game.

scr_printspeed

  Type: Register

  Default: `8`

  Description: The speed at which the final message is displayed at the end of each episode.

  Note: You might want to increase the value for this variable because the default setting is just too slow. Also, below is the ending message from the first episode of the game.

  Output:

      As the corpse of the monstrous entity
      Chthon sinks back into the lava whence
      it rose, you grip the Rune of Earth
      Magic tightly. Now that you have
      conquered the Dimension of the Doomed,
      realm of Earth Magic, you are ready to
      complete your task. A Rune of magic
      power lies at the end of each haunted
      land of Quake. Go forth, seek the
      totality of the four Runes!

scratch1

  Status: Unknown

  Default: `0`

scratch2

  Status: Unknown

  Default: `0`

scratch3

  Status: Unknown

  Default: `0`

scratch4

  Status: Unknown

  Default: `0`

screenshot

  Type: Operation

  Binding: `F12`

  Description: Take a picture of the current game screen.

  Note: This is one of the most useful commands in the game. It allows you to take a still picture of the game to be used on your web site of just to show your friends how cool this game really is. Clans also like to use this command to take a picture of the final score at the end of clan matches as proof of the game. The screen shots will be named consecutively by the game with filenames starting with `quake00` and going to `quake99`. When this command is used with WinQuake it will store a picture in Zsoft Paintbrush 8-bit color format with the `.pcx` extension in the `quake/id1/` directory. When used with GLQuake it will take the picture in Truevision Targa 24-bit color format with the `.tga` extension. There is a slight problem with the `.pcx` format that is produced by Quake. When loaded with some applications like the Windows Paintbrush the `.pcx` screen shot will come out in black and white instead of color. In order to fix the screen shot you will need to open the screen shot up with the Wang Imaging application that comes with Windows or a program such as Paint Shop Pro and then save the picture in a different format. Also, if you want to take quality screen shots of the game I recommend that you use the '`crosshair 0`' command to turn off the crosshair, use the '`r_drawviewmodel 0`' command to remove the player's weapon from the game, use the '`viewsize 120`' command to remove the status bar, and also use the '`echo;echo;echo;echo`' command line to clear any messages from the screen. By using these commands you will have a perfect screen shot without all of unnecessary screen clutter.

sensitivity

  Type: Register

  Default: `3`

  Description: The level of precision used for mouse movements.

  Note: This is one of the most important variables in the whole game. This variable controls how sensitive the mouse is when moved. An incorrect setting for this variable means the difference between a match that was won and one that was lost. Most players set this variable to a value which they feel comfortable with. The setting for this variable is also dependent on the mouse driver used and the type of a mouse that is used. I personally have this variable set to a value of `17` while at the same time I have my sensitivity set to the 5th bar in Windows Mouse Control Panel which is 83% and I use the Logitech Trackman Marble. One of my friends also uses the same settings as I do and he uses the Microsoft Intelimouse. Other people however have settings as low as `6` and as high as `60` so there is a lot of diversity between these settings. A good way to measure if you have the correct sensitivity set is that you should be able to do a 180-degree turn with the flick of your thumb if you are using a trackball or the flick of your wrist if you are using a mouse. Do a couple of turns one after another and see if you can make a nice 180-degree turn and only be off by about 5-degrees. If you find yourself struggling to make a turn increase the value, if you find yourself making turns too wide decrease the value. With some practice you should be able to get a good setting and then all you have to do is get used to it.

serverprofile

  Type: Toggle

  Default: `0`

  Description: Toggle the display of server performance statistics.

  Note: This command is very useful to server administrators who wish to see performance statistics for the server. This command will output the number of players currently connected to the server and also the amount of processing time in milliseconds that the server is using to calculate all of the game information. If you notice that the number of milliseconds is increasing beyond acceptable boundaries that means that you servers is struggling to calculate all of the information and it might be a good idea to lower the maximum number of players that can connect to the server.

  Output:

      serverprofile:  4 clients 40 msec
      serverprofile:  4 clients 16 msec
      serverprofile:  4 clients 25 msec
      serverprofile:  4 clients  0 msec
      serverprofile:  3 clients 34 msec

showpause

  Type: Toggle

  Default: `1`

  Description: Toggle the display of a graphical icon when the game is paused.

  Note: When the game is currently paused a graphical image will be displayed on the player's screen to inform him about the status of the game. This command will be able to toggle if that graphic is to be displayed. It's a good idea to leave this toggle enabled so that you will know if the game is paused or not. Sometimes though, if you wish to take screen shots of the game in progress you might want to disable to toggle and use the `pause` command in order to stop the action in the game. That way you will be able to take screen shots in peace and exactly at the times that you want.

showram

  Type: Toggle

  Default: `1`

  Description: Toggle the display of a graphical icon when the game is running out of memory.

  Note: When this toggle is enabled a small icon depicting a microchip will be shown on the screen when the game is starting to run short on memory. This icon will only show up when playing custom maps which are unusually large in size or contain many textures. It is best to leave this toggle enabled so that you might notice if you are running short on memory. If you see this icon showing up many times throughout your game you might want to invest in more memory for your computer or use the `-heapsize` command to allocate more memory for the game.

showturtle

  Type: Toggle

  Default: `0`

  Description: Toggle the display of a graphical icon when the frame rate in the game drops below 10 frames-per-second.

  Note: By default this toggle is disabled. You might want to enable this toggle if you wish to check the performance of your system when playing the game. If you notice this icon appearing many times during the game that means that your computer can't perform well enough to draw 10 frames-per-second on the screen. If that's the came you might want to think about upgrading the CPU or the video card in your computer. As an alternative you might want to use the `sizedown` or `viewsize` commands to lower the screen size in order to increase performance. If you do not wish to lower the screen size you might want to use the `d_mipcap` and `d_mipscale` commands to lower the texture detail for the maps.

sizedown

  Type: Operation

  Binding: `-`

  Description: Decrease the screen size for the game.

  Note: You can use this command in order to shrink the size of the display for the game. This might sometimes be necessary if the game is running slowly on your given system. This command works in conjunction with the `viewsize` variable to control the size of the screen. Every time that this command is used it will lower the value in the `viewsize` variable by `10` up to the minimum value of `30`.

sizeup

  Type: Operation

  Binding: `=`, `+`

  Description: Increase the screen size for the game.

  Note: You can use this command in order to enlarge the size of the display for the game. This command works in conjunction with the `viewsize` variable to control the size of the screen. Every time that this command is used it will increase the value in the `viewsize` variable by `10` up to the maximum value of `120`. When the `viewsize` variable is at `100` both status bars will be visible. When this command is used and the variable is increased the weapon status bar will disappear, when this command is used once again and the variable is increased to `120` the health status bar will disappear.

skill

  Type: Toggle

  Default: `1`

  Description: The difficulty setting for the game.

  Note: This toggle will enable the player to manually select the difficulty level for the game. Normally the player selects the difficulty that he would like to play by selecting the appropriate slipgate on the Introduction map. The setting of this toggle determines the number of monsters on the levels, the difficulty required to kill them, the amount of beneficial items available to the player on the maps, and the amount of damage that is inflicted on the player by the monsters. Also, when this toggle is set to `3` and the game is in Nightmare Difficulty mode the monsters will come back to life 30-seconds after they are killed. Any hardcore player should be able to beat the game at the Hard Difficulty mode, but only the best or the craziest of people will attempt Nightmare Difficulty. The entrance to the Nightmare Slipgate is hidden on the Introduction map. You can access it by passing through one of the three initial slipgates to get to the episode selection chamber. Then walk up the wooden stairs up to the pool of water at the entrance to the 4th episode, The Elder World. The message for that episode should give you a clue, "Your worst nightmares come true...". When you are at the pool of water, jump in but hold down the key bound to the `+jump` command in order to float. Slowly release the key and move towards wall in the pool which is closest to the stairs that you just came from. When you are touching that wall, let yourself fall through the pool. You should end up standing on a wooden beam. Follow that beam to your right and you will come across a door high up in the wall. You have found the slipgate for Nightmare mode.

  List:
  `0` - Easy Difficulty
  `1` - Normal Difficulty
  `2` - Hard Difficulty
  `3` - Nightmare Difficulty

slist

  Type: Operation

  Description: Look for and display a list of all game servers on the local network.

  Note: When this command is used it will broadcast a message on the local network looking for game servers. This command will then display all of the servers which have been found. You can then use the name of the server to connect to that server using the `connect` command.

  Output:

      Looking for Quake servers...
      Server          Map             Users
      --------------- --------------- -----
      The Pit         dm3              3/ 8
      Foo's Death     dm2              2/ 2
      Fragorama       dm4             10/12
      == end list ==

      Looking for Quake servers...
      Server          Map             Users
      --------------- --------------- -----
      No Quake servers found.

snd_noextraupdate

  Type: Toggle

  Default: `0`

  Description: Toggle the update of sound information for correct statistics for the `host_speeds` command.

  Note: When this toggle is active no update information is send out for the sound statistics. This will enable correct statistical information to be displayed when using the `host_speeds` command but it will mess up the sound playback in progress. Only enable when collecting statistics.

snd_show

  Type: Toggle

  Default: `0`

  Description: Toggle the display of the number of currently playing sound files.

  Note: When this toggle is enabled a list will be shown with the number of sound files which are currently being played. This includes ambiance sounds, player sound effects, enemy sound effects, and environmental sound effects.

  Output:

      ----(3)----
      ----(3)----
      ----(3)----
      ----(4)----
      ----(4)----
      ----(4)----
      ----(5)----
      ----(5)----
      ----(5)----
      ----(6)----

soundinfo

  Type: Operation

  Description: Display detailed information about the current sound settings.

  Note: When this command is used it will display all of the sound settings which are currently in effect, a lot of this information is very technical and only useful to game developers. The first line displays if the sound is able to be played back in stereo mode. The next two lines display information about the sound samples being used. The `samplebits` line displays the maximum number of bits that are used for some playback. The only two possible settings for this line are `8` and `16`. When the `loadas8bit` toggle is enabled this line will read a value of `8`. It is unknown what the `submission_chunk` value means. The next line displays the highest possible frequency that should be used for sound playback. The next line should display the I/O address of the DMA buffer used for the sound card. The last line displays the total number of available channels which can be used for sound playback. The number of channels changes with every map and it is dependent on the number of sounds which can be played back on that map.

  Output:

          1 stereo
      32768 samples
          0 samplepos
         16 samplebits
          1 submission_chunk
      11025 speed
      0x0 dma buffer
         26 total_channels

soundlist

  Type: Operation

  Description: Display a list of all sound files loaded into memory.

  Note: This command will display a very lengthy list with information about all of the sound files which are currently loaded into memory for that particular map. The game only loads the necessary sound files for a particular map. If a sound file has the letter `L` next to it that designates it as a looping sound which is usually used for environment sounds such as electrical buzz or wind which are played repeatedly. The next column displays the bit rate at which the particular sound file was recorded at. The setting of `16b` designates that sound file to have been recorded at 16-bit rate, a setting of `8b` designates that the sound file was recorded at an 8-bit rate. The next number is the size of the sound file in bytes such as `28120`. The last piece of information lists the path and filename of the sound file such as `doors/meduse.wav`. The last line of information for this command displays the total amount of memory used by sound files.

  Output:

       (16b)  12944 : weapons/lhit.wav
       (16b)  28120 : weapons/lstart.wav
      L( 8b)  36054 : ambience/buzz1.wav
      L( 8b)  49898 : ambience/fl_hum1.wav
       ( 8b)   7749 : doors/medtry.wav
       ( 8b)  10640 : doors/meduse.wav
       ( 8b)   1103 : misc/null.wav
      L( 8b)  12383 : doors/stndr1.wav
       ( 8b)  11392 : doors/stndr2.wav
      Total resident: 1805805

spawn

  Status: Internal

  Type: Operation

  Description: Used to inform the client that the server is ready to send over the entity information.

  Note: This is an internal command used by the game's client and server protocol. After the server sends this command to the client it will send over information about all of the entities in the game in order for the client to display them on the screen.

startdemos

  Type: Function

  Syntax: `startdemos (demo name) (demo name) ... (demo name)`

  Description: Used to list a queue of demos which should be played back by the `demos` command.

  Note: This command is used to specify a list of demos that should be played when the game is idle or when the `demos` command is issued. By default the game will play back the three demos that originally came with the game. You can also change the number of demos that should be played back by this command. This command is useful when you want to create a personalized list of demos that should be played back for advertisement reasons or when you are away from your computer and leave the game on.

  Example:
  `startdemos demo1 demo2 demo3`
  `startdemos mydemo rocket2 superjmp flyby`

status

  Type: Operation

  Description: Display information about current server status.

  Note: This command is very useful to server administrators. It displays detailed information about the server. The first field `host:` displays the name of the server. The next field `version:` displays the game version of the server. All of the clients must be using the same version in order to play on the server. The `tcp/ip:` field displays the current IP address which the server is using. The `map:` field displays the name of the map on which the players are playing. The `players:` field displays the number of currently connected players and the maximum amount of players that the server can accomodate. Below all of that is the information about each player. The first thing that is displayed is the player's number, such as `#3`, which can be used with the `kick` command to remove the player from the server. The next thing displayed is the player's name, such as `FooMaster`. After that is the player's score such as `9`. The next piece of information is the amount of time that the player has been connected to the server, such as `0:10:52` which means 10-minutes and 52-seconds. Below that information is the player's IP address along with the client side port, which would could look like `192.246.40.38:1049`. The client side port number is chosen randomly when the client connects to the server.

  Output:

      host:    The Pit
      version: 1.09
      tcp/ip:  10.0.0.1
      map:     dm6
      players: 3 active (8 max)

      #1  Player               -1  0:00:35
         10.0.0.3:1059
      #2  BadModemMan          6   0:03:25
         123.123.123.123:1051
      #3  FooMaster            9   0:10:52
         192.246.40.38:1049

stop

  Type: Operation

  Description: Stop the recording of a demo.

  Note: You must use this command to stop the recording of a demo once it is started. After the demo is stopped it will be written to the hard drive for future playback.

stopdemo

  Type: Operation

  Description: Stop the playback of a demo.

  Note: Use this command if you wish to stop a demo that has been playing.

stopsound

  Type: Operation

  Description: Stop the playback of all sounds.

  Note: If you are having problems with the playback of sounds you can use this command to stop all sounds. This command is useful if a sound got stuck in an endless loop and you want to stop it from playing back.

stuffcmds

  Type: Operation

  Description: Used to execute all command line commands that start with `+`.

  Note: This command is automatically executed during game startup. It is stored inside the `quake.rc` file which is executed every time that the game starts. When the game is started with a command line like '`game.exe +skill 2 +map e1m5`' the players want to set the `skill` to a value of `2` and start the game on the `e1m5` map. The commands '`skill 2`' and '`map e1m5`' will be executed after the `stuffcmds` command is executed automatically during the game startup. Players can use the command line parameter `+` to execute any console commands directly from the command line.

sv_accelerate

  Type: Register

  Default: `10`

  Description: The value for player movement acceleration.

  Note: You can control the how long it takes the player to accelerate to full speed. If this value is lowered to something like `5` it will take the player twice as long to achieve the maximum running speed. It is best to leave this variable alone when running a server.

sv_aim

  Type: Register

  Default: `0.93`

  Range: `0.0 - 1.0`

  Description: The leniency value for player's aim adjustment.

  Note: This variable controls how lenient the game is when it comes to the player's aim. The current setting allows a player to shoot a little off the target and still score a hit. This variable might be useful for single-player games but it is quite annoying in multiplayer games. Most server administrators set this variable to a value of `1` in order to remove the server's help when it comes to the player's aim. If you run a public server, make sure that you use this setting.

sv_friction

  Type: Register

  Default: `4`

  Description: The friction value for the player's movement.

  Note: You can use this command to lower the amount of friction on the map for the player's movement. If you set this variable to `0` you will turn the map into an ice and the player won't be able to stop. If you set this variable to a negative value, the player will gain speed when he moves. If you increase this variable you can really slow the player down. It's recommended that you keep this variable at it's default setting.

sv_gravity

  Type: Register

  Default: `800`

  Description: The amount of gravity on the level.

  Note: You can have a lot of fun with this variable. If you set it to `0` everybody will become weight less and will start drifting throughout the level, the grenades will also bounce in funny ways. If you set this variable to a negative value, the players will look like hot air balloons and will start rising towards the sky. It is best to leave this variable alone when running a server, not too many people like to imitate balloons when playing.

sv_idealpitchscale

  Type: Register

  Default: `0.8`

  Description: The height that the player's view moves up when going up stairs.

  Note: This variable shouldn't be part of the server variables. It controls how much the player's screen tilts up and down when the player is moving up and down stairs. You can only see this effect when `+mlook` and `+klook` are not active. Setting this variable to `0` might be useful to keyboard only players when they have to go up and down a lot of stairs, but nobody should be a keyboard only player anymore.

sv_maxspeed

  Type: Register

  Default: `320`

  Description: The maximum speed that the player can achieve through running.

  Note: This is the maximum running speed for the player. The player can however exceed this speed when he's falling or when he's being thrown by explosions. It is also possible to exceed this speed by running next to a wall and use keys bound to the `+moveleft` or `+moveright` commands in order to achieve a gliding effect with the wall thus speeding up the player's velocity. There is also a way to increase the player's speed by using the above mentioned keys in quick succession when running on flat ground. The constant movement of the player to the left and to the right while running straight increases the player's speed by quite a margin, sometimes exceeding 500. Some server administrators might increase this speed to `400` or above to speed up the pace of the game.

sv_maxvelocity

  Type: Register

  Default: `2000`

  Description: The maximum speed that an object can achieve in the game.

  Note: This variable is basically used as a cutoff point in regards to how fast objects can move. This variable is necessary in order to prevent from objects accelerating too quickly which might cause problems with some calculations. It is best to leave this variable alone. However it might be necessary to increase this variable if somebody wants to test the the game's physics using some of the other environment changing variables.

sv_nostep

  Type: Toggle

  Default: `0`

  Description: Toggle the automatic climbing of steps by the player.

  Note: If this toggle is enabled the player would not automatically climb steps by moving forward. Instead the player would have to use a key bound to the `+jump` command in order to climb steps. It is best to leave this variable alone because nobody wants to press a key a bunch of times just to climb up a few steps.

sv_stopspeed

  Type: Register

  Default: `100`

  Description: The velocity at which the player will start slowing down to stop his movement.

  Note: If the velocity of the player stays about the value in this variable the player will continue moving. Once his velocity drops below the value for this variable he will start slowing down in order to stop. If this value is increased so that it is close to the maximum running speed the player will continue to move but once he releases the movement key he will stop instantaneously. If this variable is set to `0` it will be hard for the player to stop instead he will have to depend on friction in order to stop him. If this variable is set to a value above the `sv_maxspeed` value the player will move very slowly because he will continue to stop even though he is trying to run at his top speed, kind of like pressing the break and gas pedals in the car. If this variable is set to a negative value there won't be any difference from setting it to `0` because the player will never reach negative velocity in order to start the breaking process.

sys_ticrate

  Type: Register

  Default: `0.05`

  Description: The amount of time in seconds between consecutive packets send out by the server to the client.

  Note: This is one of the most important variables for the server. The default setting of `0.05` will send out 20 packets-per-second to the client. This number is too high for players using modems to connect to the Internet. It is recommended that server administrators set this variable to `0.1` in order to limit the number of out going packets to the clients to 10 packets-per-second. Setting this variable will make a lot of modem players happy.

teamplay

  Type: Toggle

  Default: `0`

  Description: Toggle the settings for teamplay games.

  Note: There are two different rules for teamplay games. When this toggle is set to `1` players with the same color pants will be regarded as a team. They will be unable to hurt each other and every player will also be unable to hurt himself. The second mode for teamplay games is when this toggle is set to a value of `2`. In this mode players with the same color pants will be a team but they will be able to hurt each other and hurt themselves. If a player kills another player from his team that player will lose 1 point from his score. It is recommended to use the teamplay setting of `2` when playing in clan matches. This prevents people from blindly firing at the enemy without regard for the safety of their own team members. Most clans use this setting for team games.

  List:
  `0` - Teamplay settings disabled.
  `1` - You can't hurt yourself nor your team mates.
  `2` - You can hurt yourself and your team mates, you will lose 1 point for killing a team mate.

tell

  Type: Function

  Syntax: `tell (player) (message)`

  Description: Send a private message to a specific player.

  Note: This is one of the more useful commands. You can use this command in order to send private messages to players on the server. The player to which you send the message to will be the only person to hear the message and he will know who send the message. When FooMaster sends Player a message '`tell Player This is a test message.`', player will see something like '`Player: FooMaster This is a test message.`' on his screen. It will look like the message came from yourself but the first word in that message will be the name of the player who send you the message. It might be a good idea to start a message of with some kind of a special character, such as `-` or `:` in order separate the name of the player who send the message from the message itself.

  Example:
  `tell Player Let's team up and kick their butts.`
  `tell FooMaster Ok dude, let me get a rocket launcher and we'll team up.`
  `tell BadModemMan - Man, your connection is really screwed up.`
  `tell TheBadGuy : I know dude, I think it's bad.`

  Output:

      FooMaster: Player Let's team up and kick their butts.
      Player: FooMaster Ok dude, let me get a rocket launcher and we'll team up.
      BadModemMan: TheBadGuy - Man, your connection is really screwed up.
      TheBadGuy: BadModemMan : I know dude, I think it's bad.

temp1

  Status: Disabled

  Type: Register

  Description: Empty variable.

  Note: This variable was left empty on purpose. It was used as a temporarily storage variable for testing. Some mods use this variable to hold special settings.

test

  Type: Operation

  Description: Display information about the players connected to the server.

  Note: This command can be used by clients to find out more information about the other players on the server. If a player is being annoying or is just down abusive you can use this command to find out his IP address so you can deal with him. You can also use the `test2` command to find out information about the current server settings.

  Output:

      Player
        frags: -1  colors:2 13  time: 0
        10.0.0.3:1059
      BadModemMan
        frags:  6  colors:4  4  time: 3
        123.123.123.123:1051
      FooMaster
        frags:  9  colors:0  0  time:10
        192.246.40.38:1049

test2

  Type: Operation

  Description: Display information about the current server settings.

  Note: This command is very similar to the `test` command but this one gives information about the server settings instead of players. This is very useful if you wish to find out what teamplay mode the server is running so that you don't have to knock one of your team mates upside the head with a rocket just to find out.

  Output:

      sv_maxspeed       320
      sv_friction       4
      sv_gravity        800
      noexit            2
      teamplay          0
      timelimit         20
      fraglimit         30
      cmdline            -heapsize 24576

timedemo

  Type: Function

  Syntax: `timedemo (demo name)`

  Description: Time the speed of demo playback to calculate the frames-per-second rate.

  Note: You can use this command to test how fast your computer is by looking at the frames-per-second rate achieved by playing back a couple of demos at top speed. This command will play back all of the frames for a given demo as fast as possible and then record the amount of time that it took to play back all of the frames from that demo. Then this command will take the total number of frames in a demo, divide that number by the amount of time that it took to play back those demos, and calculate the frames-per-second rate. The frames-per-second rate will be different on different computers and at different resolutions. When calculating the speed of your computer it is best to set the `viewsize` variable to `100`. This way the results would mimic the actual playing screen instead of being inflated by a screen that is smaller or larger. Most people use the '`timedemo demo2`' command to test their computer.

  Example:
  `timedemo demo1`
  `timedemo demo2`
  `timedemo demo3`

  Output:

      969 frames  19.8 seconds  48.8 fps
      985 frames  20.0 seconds  49.2 fps
      1090 frames  23.7 seconds  46.0 fps

timelimit

  Type: Register

  Default: `0`

  Description: The amount of time in minutesthat a map should be played before automatically switching to the next map.

  Note: When this variable is set to any value larger than `0` the game will wait that amount of time before it changes maps. This is variable is often used by servers to cycle between maps and to keep the game going from one map to another. A good value to set this variable to is `20` because that will allow the players to play that specific map for 20-minutes before switching to the next map. Be careful of setting this variable too low or too high because players will leave the server if the maps don't switch quickly enough due to boredom. Also, you might want to use the `fraglimit` variable along with this variable and set that variable to a value such as `30`.

timerefresh

  Type: Operation

  Description: Peform a 360 degree turn and calculate the frames-per-second rate.

  Note: This command can be used to test the speed of your computer at a given location in any map. When you are standing somewhere in a map and execute this command, the player's view will turn around 360 degrees and record the number of seconds that it took for a complete turn. Then this command will divide `128` by the number of seconds that it look to complete the turn to calculate the frames-per-second rate. Be aware, that this command should only be used to get a very broad idea of the computer's performance. The frames-per-second rate produced by this command is highly inflated when compared to the number produced by the `timedemo` command. If you want to test your computer, use the '`timedemo demo2`' command instead.

  Output:

      2.772815 seconds (46.162472 fps)
      2.086098 seconds (61.358568 fps)
      1.893968 seconds (67.582981 fps)

toggleconsole

  Type: Operation

  Binding: ```, `~`

  Description: Lower or raise the console screen.

  Note: This is the primary command used to get access to the console. This command will automatically detect if the console is in a lowered position or in a raised position and it will perform the appropriate action.

togglemenu

  Type: Operation

  Binding: `ESCAPE`

  Description: Display or close the main menu.

  Note: This command will automatically detect if the menu is being displayed or not and it will perform the appropriate action when executed.

unbind

  Type: Function

  Syntax: `unbind (key)`

  Description: Remove a binding from a key.

  Note: You can use this command to remove bindings which have been assigned to keys. For the names of non-printable keys refer to the `bind` command. This command is mostly used by script writers to remove bindings from keys that do not need to be bound at that particular moment.

  Example:
  `unbind t`
  `unbind mouse1`
  `unbind uparrow`

unbindall

  Type: Operation

  Description: Remove bindings from all keys.

  Note: Be very careful when using this command because you will remove all of the bindings and thus render the game pretty much useless. This command will unbind all keys except for the `ESCAPE` key which is usually bound to access the menu. This command should not be used by inexperienced people and only by script writers who need to clear all bindings to load their script onto a clean configuration.

v_centermove

  Type: Register

  Default: `0.15`

  Description: The distance that the player must move before the screen automatically centers itself when the `lookspring` toggle is enabled.

  Note: This command is only useful to people who only play with the keyboard, have `lookspring` enabled and do not have `+klook` or `+mlook` enabled at that time. When the player moves the distance specified in this command the screen will pop back to the center position.

v_centerspeed

  Type: Register

  Default: `500`

  Description: The speed at which the screen will automatically return to the center position.

v_cshift

  Type: Function

  Syntax: `v_cshift (red) (green) (blue) (intensity)`

  Description: Shift the pallet for the game screen to produce color effects.

  Note: This command can be used by script authors to produce some nice color effects on the screen. This command was originally used by the game designers to test out different color effects before implementing them in the game code. Below are a couple of cool color examples that can be used with this command. Use the '`v_cshift 1 1 1 1`' command to return the colors back to normal.

  Example:
  `v_cshift 0 0 128 64`
  `v_cshift 192 0 192 128`
  `v_cshift 10 234 87 97`
  `v_cshift 1 1 1 1`

v_idlescale

  Type: Register

  Default: `0`

  Description: The amount that the screen should sway.

  Note: When this variable is increased the screen will start swaying in all directions, this would be the effect if the player was drunk of had a concussion. If you want to have some real fun, set this variable to a value of `100` and run around some maps. The larger the value for this variable the more the screen will sway from side to side. By default this variable is set to `0` in order to remove any swaying effects.

v_ipitch_cycle

  Type: Register

  Default: `1`

  Description: The speed at which the screen should sway up and down.

v_ipitch_level

  Type: Register

  Default: `0.3`

  Description: The distance that the screen should sway up and down.

v_iroll_cycle

  Type: Register

  Default: `0.5`

  Description: The speed at which the screen should roll clockwise and counter clockwise.

v_iroll_level

  Type: Register

  Default: `0.1`

  Description: The distance that the screen should roll clockwise and counter clockwise.

v_iyaw_cycle

  Type: Register

  Default: `2`

  Description: The speed at which the screen should turn left and right.

v_iyaw_level

  Type: Register

  Default: `0.3`

  Description: The distance that the screen should turn left and right.

v_kickpitch

  Type: Register

  Default: `0.6`

  Description: The distance that the screen should move up or down when the player is shot.

  Note: Some players set this variable to `0` in order to remove the screen tiling effects when they are injured by a shot. This allows them to keep a perfect aim while being fired upon.

v_kickroll

  Type: Register

  Default: `0.6`

  Description: The distance that the screen should roll clockwise or counter clockwise when the player is shot.

  Note: Some players set this variable to `0` in order to remove the screen tiling effects when they are injured by a shot. This allows them to keep a perfect aim while being fired upon.

v_kicktime

  Type: Register

  Default: `0.5`

  Description: The amount of time that the screen should remain tiled after the player has been shot.

  Note: Some players set this variable to `0` in order to remove the screen tiling effects when they are injured by a shot. This allows them to keep a perfect aim while being fired upon.

version

  Type: Operation

  Description: Display the version information about the game.

  Output:

      Version 1.09
      Exe: 09:29:10 Mar 21 1997

vid_config_x

  Status: Unknown

  Default: `800`

vid_config_y

  Status: Unknown

  Default: `600`

vid_describecurrentmode

  Type: Operation

  Description: Display information about the current video mode.

  Note: This command will show some information about the current video mode. The first piece of information is the resolution, such as `800x600`. The next part describes if the video mode is in full screen mode or in a window. The last piece of information is the video driver being used for the full screen video mode, such as `LINEAR8.DRV`.

  Output:

      320x200 fullscreen VGA8.DRV
      800x600 fullscreen LINEAR8.DRV
      640x400 windowed

vid_describemode

  Type: Function

  Syntax: `vid_describemode (video mode)`

  Description: Display information about a specified video mode.

  Example:
  `vid_describemode 3`
  `vid_describemode 8`
  `vid_describemode 2`

  Output:

      320x200 fullscreen VGA8.DRV
      800x600 fullscreen LINEAR8.DRV
      640x400 windowed

vid_describemodes

  Type: Operation

  Description: Display information about all supported video modes.

  Note: This command is useful when you want to see what video modes your current configuration supports. The first number is the number of the video mode used for switching to it. The next number is the resolution for that given video mode, such as `1024x768`. After that, the video mode is labled as being full screen or windowed. Also, the name of the video driver for full screen modes is displayed, such as `LINEAR8.DRV`. Below is a list of all the video drivers currently supported internally by the game. The Accelerated VESA drivers are the fastest drivers for high resolution graphics. Overall the fastest driver is the Standard VGA 8-bit color driver because it is fine tuned for performance.

  List:
  `DIB` - Default Windows video mode.
  `PACK1.DRV` - Unknown 1-bit color driver.
  `PACK4.DRV` - Unknown 4-bit color driver.
  `PACK8.DRV` - Unknown 8-bit color driver.
  `PACK16.DRV` - Unknown 16-bit color driver.
  `PACK24.DRV` - Unknown 24-bit color driver.
  `PACK32.DRV` - Unknown 32-bit color driver.
  `VGA4.DRV` - Standard VGA 4-bit color driver.
  `VGAX.DRV` - X-Mode VGA color driver.
  `VGA8.DRV` - Standard VGA 8-bit color driver.
  `SVGA4.DRV` - Super VGA 4-bit color driver.
  `SVGA8.DRV` - Super VGA 8-bit color driver.
  `SVGA16.DRV` - Super VGA 16-bit color driver.
  `SVGA24.DRV` - Super VGA 24-bit color driver.
  `SVGA32.DRV` - Super VGA 32-bit color driver.
  `DDRAW8.DRV` - DirectDraw 8-bit color driver.
  `DDRAW16.DRV` - DirectDraw 16-bit color driver.
  `DDRAW24.DRV` - DirectDraw 24-bit color driver.
  `DDRAW32.DRV` - DirectDraw 32-bit color driver.
  `LINEAR8.DRV` - Linear VESA Super VGA 8-bit color driver.
  `LINEAR16.DRV` - Linear VESA Super VGA 16-bit color driver.
  `LINEAR24.DRV` - Linear VESA Super VGA 24-bit color driver.
  `LINEAR32.DRV` - Linear VESA Super VGA 32-bit color driver.
  `ACCEL8.DRV` - Accelerated VESA Super VGA 8-bit color driver.
  `ACCEL16.DRV` - Accelerated VESA Super VGA 16-bit color driver.
  `ACCEL24.DRV` - Accelerated VESA Super VGA 24-bit color driver.
  `ACCEL32.DRV` - Accelerated VESA Super VGA 32-bit color driver.

  Output:

      WinQuake
       0: 320x240 windowed
       1: 640x480 windowed
       2: 640x400 windowed
       3: 320x200 fullscreen VGA8.DRV
       4: 320x400 fullscreen DDRAW8.DRV
       5: 512x384 fullscreen DDRAW8.DRV
       6: 640x400 fullscreen LINEAR8.DRV
       7: 640x480 fullscreen LINEAR8.DRV
       8: 800x600 fullscreen LINEAR8.DRV
       9: 1024x768 fullscreen LINEAR8.DRV
      10: 1280x1024 fullscreen LINEAR8.DRV

      GLQuake
       1: 640x480x16 fullscreen
       2: 800x600x16 fullscreen
       3: 1024x768x16 fullscreen
       4: 1280x1024x16 fullscreen
       5: 320x200x16 fullscreen
       6: 320x240x16 fullscreen
       7: 400x300x16 fullscreen
       8: 512x384x16 fullscreen

vid_forcemode

  Game: WinQuake

  Type: Function

  Syntax: `vid_forcemode (video mode)`

  Description: Force the change to a specified video mode.

  Example: `vid_forcemode 7`

vid_fullscreen

  Game: WinQuake

  Type: Operation

  Description: Switch to a fullscreen video mode specified in the `vid_fullscreen_mode` variable.

  Note: It might be very useful for developers to bind a key to this command and another key to the `vid_windowed` in order to allow for the fast swishing between video modes during game or map development.

vid_fullscreen_mode

  Game: WinQuake

  Type: Register

  Default: `3`

  Description: The full screen video mode that the game will switch to when the `vid_fullscreen` command is executed.

vid_minimize

  Game: WinQuake

  Type: Operation

  Description: Minimize the windowed game screen.

  Note: This command was made available because the game takes control over the mouse when it is moved onto the game window thus prohibiting the normal minimization of the game window.

vid_mode

  Type: Register

  Default: `3`

  Description: The current video mode.

  Note: If you change the value for this variable you will in turn change the video mode.

  List:
  `0` - 320x240 windowed.
  `1` - 640x480 windowed.
  `2` - 640x400 windowed.
  `3` - 320x200 fullscreen.
  `4` - 320x400 fullscreen.
  `5` - 512x384 fullscreen.
  `6` - 640x400 fullscreen.
  `7` - 640x480 fullscreen.
  `8` - 800x600 fullscreen.
  `9` - 1024x768 fullscreen.
  `10` - 1280x1024 fullscreen.

vid_nopageflip

  Type: Toggle

  Default: `0`

  Description: Toggle the use of page-flipping during supported video modes.

  Note: By default the game will allow for page-flipping for video modes that support this feature. Page-flipping works by drawing multiple virtual game screens at the same time in the video memory and then switching among them to display the current game screen. This feature allows the game to draw multiple game screens at the same time thus increasing performance and increasing the frame rate for the game. This toggle was included only as a debugging feature in case some people have hardware which has problems with page-flipping.

vid_nummodes

  Type: Operation

  Description: Display the total number of available video modes.

  Output:

      11 video modes are available

vid_stretch_by_2

  Status: Unknown

  Default: `1`

vid_testmode

  Game: WinQuake

  Type: Function

  Syntax: `vid_testmode (video mode)`

  Description: Switch to the specified video mode for 5-seconds in order to test it.

  Note: You can use this command to test the video modes that your computer and monitor can display. You should use this command first to test the video mode before actually switching to that video mode. If you switch to a video mode that you computer or monitor does not support you might damage your equipment or not be able to see anything on the screen. This command will automatically switch back to the previous video mode after the test.

  Example: `vid_testmode 8`

vid_wait

  Type: Toggle

  Default: `0`

  Description: The wait type before each frame is drawn on the screen.

  Note: The default setting for this command yields the highest performance and frame rate because the game doesn't have to wait before drawing frames. If you experience screen tearing at high resolutions you might want to set this toggle to `1` to make the game wait for the vertical sync signal from the monitor which means that the monitor finished drawing the previous frame. If you experience problems with that setting you might want to use the `2` setting in order to force the game to wait for the display ready signal from the monitor before sending another frame through.

  List:
  `0` - No wait delay.
  `1` - Wait for vertical synch from the monitor.
  `2` - Wait for a display ready signal from the monitor.

vid_window_x

  Game: WinQuake

  Type: Register

  Default: `0`

  Description: The x-axis location of the top left corner of the game window on the desktop.

  Note: This variable will remember the location of the game window on the computer screen. You can manually change the location of the game windown with this variable. If it happens that the game window moves beyond the boundries of the screen you can set this variable to `0` or use the `-resetwinpos` parameter on the command line to bring the game window back on the desktop.

vid_window_y

  Game: WinQuake

  Type: Register

  Default: `0`

  Description: The y-axis location of the top left corner of the game window on the desktop.

  Note: This variable will remember the location of the game window on the computer screen. You can manually change the location of the game windown with this variable. If it happens that the game window moves beyond the boundries of the screen you can set this variable to `0` or use the `-resetwinpos` parameter on the command line to bring the game window back on the desktop.

vid_windowed

  Game: WinQuake

  Type: Operation

  Description: Switch the a windowed video mode specified in the `vid_windowed_mode` variable.

  Note: It might be very useful for developers to bind a key to this command and another key to the `vid_fullscreen` in order to allow for the fast swishing between video modes during game or map development.

vid_windowed_mode

  Game: WinQuake

  Type: Register

  Default: `0`

  Description: The windowed video mode that the game will switch to when the `vid_windowed` command is executed.

viewframe

  Type: Function

  Syntax: `viewframe (frame number)`

  Description: Display the specified frame for the model being displayed by the `viewmodel` command.

viewmodel

  Type: Function

  Syntax: `viewmodel [relative path/](filename)((.mdl) | (.spr))`

  Description: Display a particular model or sprite at the location of the `viewthing` entity on the map.

  Note: In order for this command to work a map must be created with an entity called `viewthing`. Once a map like that is created you will be able to change the model which is currently displayed at the location of that entity. You can also change the current frame being displayed for that model file with the use of the `viewframe` command. If a viewthing entity is not located on the message "`No viewthing on map`" will be displayed. Below is a list of all the model or sprite files in the game.

  Example:
  `viewmodel progs/enforcer.mdl`
  `viewmodel progs/gib3.mdl`
  `viewmodel progs/s_light.spr`

  List: `progs/armor.mdl, progs/backpack.mdl, progs/bolt.mdl, progs/bolt2.mdl, progs/bolt3.mdl, progs/boss.mdl, progs/b_g_key.mdl, progs/b_s_key.mdl, progs/demon.mdl, progs/dog.mdl, progs/end1.mdl, progs/end2.mdl, progs/end3.mdl, progs/end4.mdl, progs/enforcer.mdl, progs/eyes.mdl, progs/fish.mdl, progs/flame.mdl, progs/flame2.mdl, progs/gib1.mdl, progs/gib2.mdl, progs/gib3.mdl, progs/grenade.mdl, progs/g_light.mdl, progs/g_nail.mdl, progs/g_nail2.mdl, progs/g_rock.mdl, progs/g_rock2.mdl, progs/g_shot.mdl, progs/hknight.mdl, progs/h_demon.mdl, progs/h_dog.mdl, progs/h_guard.mdl, progs/h_hellkn.mdl, progs/h_knight.mdl, progs/h_mega.mdl, progs/h_ogre.mdl, progs/h_player.mdl, progs/h_shal.mdl, progs/h_shams.mdl, progs/h_wizard.mdl, progs/h_zombie.mdl, progs/invisibl.mdl, progs/invulner.mdl, progs/knight.mdl, progs/k_spike.mdl, progs/laser.mdl, progs/lavaball.mdl, progs/missile.mdl, progs/m_g_key.mdl, progs/m_s_key.mdl, progs/ogre.mdl, progs/oldone.mdl, progs/player.mdl, progs/quaddama.mdl, progs/shalrath.mdl, progs/shambler.mdl, progs/soldier.mdl, progs/spike.mdl, progs/suit.mdl, progs/s_light.mdl, progs/s_spike.mdl, progs/tarbaby.mdl, progs/teleport.mdl, progs/v_axe.mdl, progs/v_light.mdl, progs/v_nail.mdl, progs/v_nail2.mdl, progs/v_rock.mdl, progs/v_rock2.mdl, progs/v_shot.mdl, progs/v_shot2.mdl, progs/v_spike.mdl, progs/wizard.mdl, progs/w_g_key.mdl, progs/w_spike.mdl, progs/w_s_key.mdl, progs/zombie.mdl, progs/zom_gib.mdl, progs/s_bubble.spr, progs/s_explod.spr, progs/s_light.spr.`

  Output:

      {
      "origin" "0 0 0"
      "classname" "viewthing"
      }

viewnext

  Type: Operation

  Description: Display the next frame for the `viewthing` entity when using the `viewmodel` command.

viewprev

  Type: Operation

  Description: Display the previous frame for the `viewthing` entity when using the `viewmodel` command.

viewsize

  Type: Register

  Range: `30 - 120`

  Description: The size of the viewable game screen.

  Note: This variable determines how large the viewable screen size is. The lower the screen size the better the performance of the game and the higher the frame rate. Some people might need to use this variable to decrease the screen size to achieve acceptable game performance. You can also use the `sizeup` and `sizedown` commands to change the screen size in increments of `10`.

  List:
  `30` - Minimum screen size.
  `...`
  `100` - Normal screen size.
  `110` - Large screen size, without the weapons status bar.
  `120` - Maximum screen size, without any status bars.

volume

  Type: Register

  Default: `0.7`

  Description: The volume for music and sound effects in the game.

wait

  Type: Operation

  Description: Stop the processing of commands for one game frame.

  Note: This command was created in order to help script makers with complex aliases. This command must be used between each instance of the `impulse` command if they are used consecutively inside aliases. This command might also be used to cause a small delay between two consecutive commands which perform some timed action. The time interval for this command varies between each computer so this command cannot be used for accurate judgment of time.

## 4. Command Line Parameters

+

  Type: Parameter

  Syntax: `game.exe +(console command)`

  Description: Execute a console command directly from the command line.

  Note: You can use this command to pass console commands directly to the game from the console command before startup. The console commands from the command line will not be executed in the game until the `stuffcmds` command is automatically called when the `quake.rc` file is executed on startup. You can also use the `stuffcmds` command during the game to execute the same commands all over again.

  Example:
  `game.exe +map dm2`
  `game.exe +timelimit 20 +map dm4`

-allow360

  Status: Disabled

  Game: WinQuake

  Type: Parameter

  Description: Allow the use of video modes with the 360x??? resolutions.

-basedir

  Type: Parameter

  Syntax: `game.exe -basedir (fully qualified path)`

  Description: The location of the game data files.

  Note: You can use this command to keep the executable files separate of the game files and then use this command to point the game executable at the location of the game files. This might be useful on networked file systems so that only one copy of the game files is kept while people can use their own executable to run the game. This parameter is very similar to the `-path` parameter.

  Example:
  `game.exe -basedir c:\quake`
  `game.exe -basedir /usr/quake`

-cachedir

  Status: Disabled

  Type: Parameter

  Syntax: `game.exe -cachedir (fully qualified path)`

  Description: The location of game cache files.

-condebug

  Type: Parameter

  Description: Save all console text to a file.

  Note: This command was used to log all text which was written to the console to the `qconsole.log` file in the `quake/id1/` directory. This is very useful if you are trying to catch bugs in the game. You can also use this command to keep a log of all the conversations that go on when you play on a server.

-conheight

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -conheight (resolution)`

  Description: Specify the vertical resolution for the console screen.

  Note: You can use this command to stretch the size of the console to the actual screen resolution in order to prevent the squashed font look. When you use this command you should also use the `-conwidth` command to specify the horizontal resolution.

  Example:
  `game.exe -conwidth 800 -conheight 600`
  `game.exe -conwidth 640 -conheight 480`

-conwidth

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -conwidth (resolution)`

  Description: Specify the horizontal resolution for the console screen.

  Note: You can use this command to stretch the size of the console to the actual screen resolution in order to prevent the squashed font look. When you use this command you should also use the `-conheight` command to specify the vertical resolution.

  Example:
  `game.exe -conwidth 800 -conheight 600`
  `game.exe -conwidth 640 -conheight 480`

-current

  Game: GLQuake

  Type: Parameter

  Description: Start the game in the current video mode for OpenGL.

  Note: This command should only be used on OpenGL workstation which have integrated OpenGL accelerators.

-dedicated

  Type: Parameter

  Syntax: `game.exe -dedicated [maximum players]`

  Description: Start the game in a dedicated server mode.

  Note: You can use this command to start a dedicated server which a text only console. If you specify a number after this parameter it will be used as the maximum number of players which can connect to the server and will be the maximum value that you can set the `maxplayers` variable to. The maximum number of players is `16`.

  Example:
  `game.exe -dedicated`
  `game.exe -dedicated 16`

-dibonly

  Type: Parameter

  Description: Enable windowed video modes only.

  Note: If this parameter is used the game will only run in windowed mode. This parameter might be useful if there are problems when running the game in full screen mode.

-dinput

  Type: Parameter

  Description: Enable DirectInput mode for input devices in the game.

  Note: When this parameter is used the game will use the DirectX DirectInput modes for getting feedback from the input devices. This might be necessary when using some of the newer joysticks or newer mouse drivers.

-force

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -force (video mode)`

  Description: Force the switch to the specified video mode.

  Note: You can use the `vid_describemodes` command to obtain a list of all the available OpenGL video modes.

  Example: `game.exe -force 2`

-fullsbar

  Game: GLQuake

  Type: Parameter

  Description: Enable the refreshing of the full status bar.

  Note: Normally the game will not refresh the full status bar, only the parts of it that change. This can sometimes cause flicker when a number changes on the status bar. When you use this parameter the status bar will be rendered with every frame thus it will remain refreshed all the time.

-game

  Type: Parameter

  Syntax: `game.exe -game (relative path)`

  Description: Start the game using the files from a mission pack or a mod.

  Note: When this parameter is used the game will additionally load the game files located in the directory specified by this parameter. By default the game is started as if this parameter was specified with the `id1` value. This parameter is necessary when you want to connect to a server which is running one of the mission packs or a special mod such as Capture The Flag.

  Example:
  `game.exe -game ctf`
  `game.exe -game rogue`

-heapsize

  Type: Parameter

  Syntax: `game.exe -heapsize (kilobytes)`

  Description: Start the game and allocate the specified number of kilobytes of memory for the game.

  Note: You might need to use this parameter when playing on or developing large maps which require a lot of memory. Also if you start receiving the microchip icon on your game screen you might need to use this parameter to allocate more memory for the game.

  Example:
  `game.exe -heapsize 16384`
  `game.exe -heapsize 24576`

-height

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -height (resolution)`

  Description: The vertical resolution to use for the game screen.

  Note: You should also use the `-width` parameter when using this parameter to specify the horizontal resolution.

  Example:
  `game.exe -width 800 -height 600`
  `game.exe -width 640 -height 480 -window`

-hipnotic

  Type: Parameter

  Description: Start the game with the Hipnotic mission pack.

  Note: When this parameter is used the game will be started as if using the '`-game hipnotic`' parameter instead.

-ip

  Type: Parameter

  Syntax: `game.exe -ip (IP address)`

  Description: Start the game and specify an alternative IP address to be used by the game.

  Note: The only time that you would need to use this command is if you are running a client or a server on a computer which has more than one IP address. This command is manually specify the IP address that the game should use.

  Example:
  `game.exe -ip 127.0.0.1`
  `game.exe -ip 10.0.0.1`
  `game.exe -ip 123.123.123.123`

-ipxport

  Type: Parameter

  Syntax: `game.exe -ipxport (port)`

  Description: The port number to be used by the server for the IPX/SPX network protocol.

  Note: This parameter should only be used if there is more than one server running on the same computer. Use this parameter for the second sever and specify a different IPX port than the first server. This parameter is very similar to the `-port` parameter.

-listen

  Type: Parameter

  Syntax: `game.exe -listen [maximum players]`

  Description: Specify the maximum number of players that can connect to the listen server.

  Note: The maximum number of players that a listen server can support is `8`. This parameter will determine the maximum value that the `maxplayers` variable can be set to. If you are running a public server then you should use run a dedicated server instead using the `-dedicated` parameter.

  Example:
  `game.exe -listen`
  `game.exe -listen 8`

-minmemory

  Type: Parameter

  Syntax: `game.exe -minmemory (kilobytes)`

  Description: The minimum amount of memory that will be allocated by the game.

  Note: It is best to leave this parameter alone and instead use the `-heapsize` parameter to specify the amount of memory that the game can use.

  Example: `game.exe -minmemory 16384`

-mode

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -mode (video mode)`

  Description: Start the game at the specified OpenGL video mode.

  List:
  `1` - 640x480 in 16-bit color.
  `2` - 800x600 in 16-bit color.
  `3` - 1024x768 in 16-bit color.
  `4` - 1280x1024 in 16-bit color.
  `5` - 320x200 in 16-bit color.
  `6` - 320x240 in 16-bit color.
  `7` - 400x300 in 16-bit color.
  `8` - 512x384 in 16-bit color.

-noadjustaspect

  Status: Unknown

  Type: Parameter

-noautostretch

  Game: WinQuake

  Type: Parameter

  Description: Disable the stretching of the screen when using high resolutions.

-nocdaudio

  Type: Parameter

  Description: Disable CD music audio.

  Note: When this variable is used the `cd` command will be unavailable.

-nodd

  Game: WinQuake

  Type: Parameter

  Description: Disable DirectX DirectDraw video modes.

-noddraw

  Game: WinQuake

  Type: Parameter

  Description: Disable DirectX DirectDraw video modes.

-nodirectdraw

  Game: WinQuake

  Type: Parameter

  Description: Disable DirectX DirectDraw video modes.

-noforcemaccel

  Type: Parameter

  Description: Disable the setting of mouse acceleration.

  Note: This parameter should only be used if you experiance problems with the mouse.

-noforcemparms

  Type: Parameter

  Description: Disable the setting of mouse parameters.

  Note: This parameter should only be used if you experiance problems with the mouse.

-noforcemspd

  Type: Parameter

  Description: Disable the setting of mouse speed.

  Note: This parameter should only be used if you experiance problems with the mouse.

-noforcevga

  Game: WinQuake

  Type: Parameter

  Description: Disable the forcing of the VGA video mode on startup.

-nofulldib

  Game: WinQuake

  Type: Parameter

  Description: Disable full screen window compatibility mode.

  Note: Some full screen modes are nothing more than window display modes which have been sized to the exact size of the screen. This parameter will disable support for such modes.

-noipx

  Type: Parameter

  Description: Disable game support for the IPX/SPX network protocol.

-nojoy

  Type: Parameter

  Description: Disable joystick support.

  Note: When this parameter is used only support for the joystick will be disabled, the fun factor in the game will remain the same.

-nolan

  Type: Parameter

  Description: Disable support for all network protocols.

-nomouse

  Type: Parameter

  Description: Disable support for the mouse.

-nosound

  Type: Parameter

  Description: Disable support for sound hardware.

-notriplebuf

  Game: WinQuake

  Type: Parameter

  Description: Disable triple buffering video modes.

  Note: This parameter will disable support for triple buffer thus it will make the performance of the Accelerated VESA video drivers similar to the Linear VESA drivers.

-noudp

  Type: Parameter

  Description: Disable support for the TCP/IP network protocol.

-novbeaf

  Game: WinQuake

  Type: Parameter

  Description: Disable support for the Accelerated VESA video modes.

-novesa

  Game: WinQuake

  Type: Parameter

  Description: Disable support for all VESA video modes.

-nowd

  Game: WinQuake

  Type: Parameter

  Description: Disable support for VESA video modes in favor of DirectX DirectDraw video modes.

-nowindirect

  Game: WinQuake

  Type: Parameter

  Description: Disable support for VESA video modes in favor of DirectX DirectDraw video modes.

-particles

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -particles (particles)`

  Description: Specify the maximum number of particles to be rendered on the screen at once.

  Example: `game.exe -particles 5000`

-path

  Type: Parameter

  Syntax: `game.exe -path (fully qualified path)`

  Description: Specify the location of game files.

  Note: This parameter is very similar in context to the `-basedir` parameter. You can use this parameter to specify the location of the game files.

  Example:
  `game.exe -path c:\quake`
  `game.exe -path /usr/quake`

-playback

  Type: Parameter

  Description: Load the information stored inside the `quake.vcr` file.

  Note: If you wish to use this parameter you will have to start the game without any other parameters so that the command line looks like '`game.exe -playback`'.

-port

  Type: Parameter

  Syntax: `game.exe -port (port)`

  Description: The UDP port number used for the TCP/IP network protocol for the server.

  Note: If you run more than one server on the same computer you will need to use this parameter to specify alterntaive ports for each server. The default port value is `26000`, so it is recommended that you use port numbers consecutive from that number, such as `26001` and so on. Any client who wishes to connect to your server will have to set the port number in the `port` variable in order to connect. You can also use the `-ipxport` or `-udpport` to assign individual port numbers for each protocol.

  Example:
  `game.exe -port 26001`
  `game.exe -port 25894`

-primarysound

  Type: Parameter

  Description: Enable the use of the primary sound buffer when using DirectX DirectSound drivers.

  Note: Normally the game will use the secondary sound buffer because it is more compatible across more hardware. If you know that your harder is 100% DirectX DirectSound compliment you can use this setting in order to increase the performance of the game.

-proghack

  Status: Unknown

  Type: Parameter

-record

  Type: Parameter

  Description: Store debugging information.

  Note: This command will create a file called `quake.vcr` in the `quake/` directory. The file will contain the command line parameters used to start the game, the names of all the game files which have been loaded into memory and other types of information. This must have been the debugging file.

-resetwinpos

  Type: Parameter

  Description: Reset the postition of the game window on the desktop.

  Note: If the game window will ever become inaccessible because it was moved beyond the boundaries of the desktop you will have to use this command to reset the position information for the game window. The position information is stored in the `vid_window_x` and `vid_window_y` variables.

-rogue

  Type: Parameter

  Description: Start the game with the Rogue mission pack.

  Note: When this parameter is used the game will be started as if using the '`-game rogue`' parameter instead.

-safe

  Type: Parameter

  Description: Start the game in safe mode.

  Note: When this parameter is used the game will start with many options disabled in order to get the game up and running. If this parameter is used it is equivalent to specifing all of the parameters which start with `-no`.

-simsound

  Type: Parameter

  Description: Disable sound playback but leave all sound functions enabled.

  Note: When this parameter is used the game will function as if sound is being played back normally, except that the sound card will not be initialized and nothing will be heard from the speakers. This command will cut off the sound information right before it is about to leave to the sound card for processing. This command was used for testing the sound code in the game.

-snoforceformat

  Type: Parameter

  Description: Disable the forcing of the soundcard into the appropriate sound mode.

  Note: When this parameter is used the game will not try to force the sound card into the 11,025Hz at 16-bit stereo sound mode. Use this parameter if you are having problems with the sound initialization for your sound card.

-starttime

  Status: Unknown

  Type: Parameter

-startwindowed

  Type: Parameter

  Description: Start the game in windowed video mode.

  Note: When this parameter is used the game will start in the 640x480 windowed video mode `1`.

-stdvid

  Status: Unknown

  Type: Parameter

-surfcachesize

  Type: Parameter

  Syntax: `game.exe -surfcachesize (kilobytes)`

  Description: Allocate the specified amount of memory for storing textures.

  Note: It is not necessary to use this parameter by default because the game will automatically allocate the necessary amount of memory for storing textures.

  Example: `game.exe -surfcachesize 4096`

-udpport

  Type: Parameter

  Syntax: `game.exe -udpport (port)`

  Description: Specify the UDP port number that the game should use for the TCP/IP network protocol.

  Note: You only need to use this parameter if you run more than one server on the same computer and must assign an individual port to each server. The default UDP port number used by the game is `26000`. This parameter works exactly the same as the `-port` parameter.

  Example:
  `game.exe -port 26001`
  `game.exe -port 25894`

-wavonly

  Type: Parameter

  Description: Disable support for DirectX DirectSound in favor of wave only output.

  Note: If your sound card does not support DirectX DirectSound then you will need to specify this parameter in order to force the game into use the Windows wave only sound output. There will be a considerable loss in performance when using this parameter, but at least you'll be able to hear sounds.

-width

  Game: GLQuake

  Type: Parameter

  Syntax: `game.exe -width (resolution)`

  Description: The horizontal resolution to use for the game screen.

  Note: You should also use the `-height` parameter when using this parameter to specify the vertical resolution.

  Example:
  `game.exe -width 800 -height 600`
  `game.exe -width 640 -height 480 -window`

-window

  Game: GLQuake

  Type: Parameter

  Description: Start the game in a windowed OpenGL video mode.

  Note: If you are using a 3Dfx Voodoo or Voodoo 2 card it is recommended that you use this parameter to start the game. When you use the `ALT+TAB` keyboard combination to switch to another window on your desktop normally the desktop resolution would still be at the resolution used in the game thus enlarging or shrinking your desktop. When you use this parameter the game will still play in full screen mode but when you switch away from the game the desktop resolution will return to the normal resolution.

-zone

  Type: Parameter

  Syntax: `game.exe -zone (bytes)`

  Description: Specify the amount of memory in bytes to allocate to holding dynamic information such as aliases.

  Note: You will need to specify a value such as `512` if you experience game crashes because of too many aliases being loaded into memory. It is not necessary specify any larger value, since this value will work suffice.

  Example: `game.exe -zone 512`

## 5. Credits and Thanks

This section is here to list all of the people to whom credit is due for some how contributing to this document. All the people below deserve full recognition for the work that they did contributing to this document.

You, The Reader
  I would also like to thank all the readers of this document because they are the ones who ensure that we, the authors, have the strength to go on and produce our works. How much would our work be worth if nobody would ever read it or look at it?
Daniel "Prog" Rinehart
  I would like to thank Daniel for his work on the Quake Console Commands document which was the first one of it's kind. Daniel was the first pioneer who ventured into the depths of the console and dared to document it. In my mind Daniel will always be remembered for the work that he did and I hope that some of you will remember this man because he deserves recognition.
id Software
  I would like to thank id Software for making Quake and because of that this document was possible. Their use of the console for a game was a wonderful idea which has created a whole new way to customize the game.
PlanetQuake
  I would like to thank all of the people at PlanetQuake and the PlanetQuake staff who have given us great support for displaying our work on their site. They have the #1 Quake site in the whole community and I wish them the best.
Chuck Schmidt
  Because of Chuck's problem with the `play` command and the `sound/` directory prefix, I was reminded to mention this little thing in the document so that others won't have the same problem.

## 6. 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.
- Added a little note about the `sound/` directory prefix for the `play` command thanks to Chuck Schmidt.
- Removed the contents of the `gfx/pop.lmp` file from the Output: field from the `registered` command. The contents of that file are the property of id Software. Just thought that I should be on the safe side and not include any copyrighted part of their game in this document.

### 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.

### July 23, 1998

- Original release.

## 7. Legal

### 7.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) 1998-2000 JakFrost, All Rights Reserved".

### 7.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.

### 7.3. Trademarks and Servicemarks

All trademarks and servicemarks used in this work are acknowledged and are the property of their rightful owners. Quake is a trademark of id Software.

### 7.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) 1998-2000 JakFrost, All Rights Reserved