~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quake Console Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

======================================================================
Abstract
======================================================================

Author: JakFrost
Email: jakfrost@planetquake.com
Web Site: http://www.planetquake.com/console/
Created: July 23, 1998
Last Modified: November 6, 1998
Based On: GLQuake v1.09, WinQuake v1.09
Source: http://www.planetquake.com/console/commands/quake.html

Copyright 1998 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.

======================================================================
Index
======================================================================

1. Introduction
    1.1. Questions
    1.2. Corrections
2. The Key
    2.1. Fields
    2.2. Commands
    2.3. Variables
3. Console Commands List
4. Command Line Parameters
5. Credits and Thanks
6. Version Information
7. Legal
    7.1. Copyright
    7.2. License
    7.3. Trademarks and Servicemarks
    7.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_maxedgesvariable.  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
======================================================================

----------------------------------------------------------------------
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 1998 JakFrost; All
Rights Reserved".

----------------------------------------------------------------------
7.2. License
----------------------------------------------------------------------

I hereby grant the right to distribute and modify this work according
to the Free Software Foundation's GNU General Public License Version
2, which can be accessed from http://www.gnu.org/copyleft/gpl.html; or
write to the Free Software Foundation, Inc., 59 Temple Place, Suite
330, Boston, MA 02111-1307, USA.  If you received this work in archive
format you should have this license in a file called 'copying.txt'.
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.

See the Free Software Foundation's GNU General Public License Version
2 for details.

**********************************************************************
Copyright 1998 JakFrost; All Rights Reserved
