// Challenge Pro Mode Arena Commands for Quake3
// --------------------------------------------
// http://www.ProMode.org
// arQon@ProMode.org, Rhea@OrangeSmoothie.org
// v0.99s2
// 24 Mar 01

The following descriptions give information on all available commands
(and their options) for CPMA for Quake3 for both
clients and the server console.

All commands that require a parameter can be issued without the
parameter to gain additional information on the command's current
setting even if the command itself is disabled.

The notation used in the commands described herein uses the common
Unix semantics in specifying if a parameter is optional or required:

  - Any parameter description enclosed with < ... > is required.
  - Any parameter description enclosed with [ ... ] is optional.

Some of the commands given below also specify "player_id" as an optional
or required parameter.  This "player_id" information is the numeric ID
number assigned to a player when connecting to the server.  To find
the associated player_id of a player, issue the "\players" command to
view a listing of all playernames and their associated "player_id".

Note: all of the commands listed below are in addition to the commands
      that are shipped with the default Quake3 game.



==============================================
General available commands (all modes of play)
==============================================
callvote <params>       Calls a vote.  The list of available <parameters>
                        is given further in this document.
credits                 Cool intro to the people who have been a part of
                        CPMA's development.
currenttime             Displays current local time.
help                    List of available commands for the particular
                        mode of play on the server (Alias: commands).
motd                    Views server's current MOTD.
players                 Lists all active players and their server ID
                        (This ID is needed for other commands, as shown
                        below).  Additional info on client is also given.
ref <password>          Become a referee (admin access).
speconly                Toggles client's involvement in the 1v1 queue.
                        If enabled, then clients will never join a 1v1
                        game.  They will remain spectators the entire
                        time they are connected.  Disabling "speconly"
                        will put the client back to the end of the queue
                        to begin playing again.
stats [player_ID]       Shows weapon accuracy stats for a player. If no
                        ID is given, shows stats for the current player
                        (or if following a player, shows the stats of
                        the player being followed).
+wstats                 Displays current stats while playing or of the
                        player being followed (if a spectator).  In
                        multiview, the stats of the player of the
                        highlighted window will be displayed.

=====================================
Competition commands (g_doWarmup = 1)
=====================================
ready           Sets player's status to "ready" to start a match.
notready        Sets player's status to "not ready" to start a match.
timeout/timein  Call a timeout/timein for a team.
pause           Pauses/unpauses a match (admin only).


==========================================================
Team-specific commands [general] (g_gametype = 3, 4, or 5)
==========================================================
team <r|b|s|none>       Chooses a team (r=red, b=blue, s=spectator) or
                        shows current team (if no param is given).
lock                    Locks a player's team
unlock                  Unlocks a player's team
captains                Shows the names of both team captains.
scores                  Shows team stats for current match.
timeout                 Calls a timeout (Alias: pause)
timein                  Calls a timein  (Alias: unpause)


==========================================================
Team-specific commands [captain] (g_gametype = 3, 4, or 5)
==========================================================
speclock                Toggles locking team from spectators.
specinvite <player_id>  Invites a player to spectate locked team.
teamready               Readies all members on the team to start a match.
                        (Alias: readyteam)
invite <player_id>      Invites a player to join the captain's team.
                        (Alias: pickplayer)
remove <player_id>      Removes a player from the captain's team.
                        (Alias: kickplayer)
resign [player_ID]      Resigns team captainship.  You can optionally
                        assign captainship to another teammate by
                        supplying the teammate's ID.


========================
Referee (admin) commands
========================
ref <password>          Become a referee/admin.
ref <vote_option> <param>  Works just like callvote settings and info
r_abort                 Aborts a match in progress (primarily for CA)
r_allcaptain            Gives all active players limited captain commands.
r_allready              Readies all players to start match.
r_ban <player_id>       Bans selected player from server.
r_help                  This command listing.
r_ip                    Shows Players names and IP Addresses
r_kick <player_id>      Kicks selected player from server.
r_lock                  Locks both teams from more players joining.
                        (Alias: lock)
r_lockblue              Locks the blue team
r_lockred               Locks the red team
r_map <mapname>         Loads selected map.
r_mutespecs             Mutes/unmutes spectators.
r_pause                 Pauses/unpauses match. (Alias: pause)
r_promote <player_id>   Promotes a player to captain status.
r_putblue <player_id>   Puts specified player on the BLUE team.
r_putred <player_id>    Puts specified player on the RED team.
r_remove <player_id>    Removes selected player from team.
r_restart               Reloads the current map.
r_speclock              Enables spectator locking for both teams.
r_speclockblue          Enables spectator locking for the blue team.
r_speclockred           Enables spectator locking for the red team.
r_unlock                Unlocks both teams to allow more players to join.
r_unlockblue            Unlocks the blue team
r_unlockred             Unlocks the red team
r_specunlock            Disables spectator locking for both teams.
r_specunlockblue        Disables spectator locking for the blue team.
r_specunlockred         Disables spectator locking for the red team.

*NOTE*: All vote options are also available as any vote a referee calls
        will ALWAYS pass immediately.  This allows the referee to modify
        all server settings as shown in the \callvote list.
        The "ref" command can be used to achieve the same effect.

==========================
Voting Commands/Parameters
==========================
The following options are available under the "callvote" facility of CPMA.
Most options are called with a parameter of "0" or "1" to signal "OFF" or
"ON" (0=OFF/DISABLE, 1=ON/ENABLE).

You can get a list of all votable options in the game by typing:

    \callvote ?

by itself with no option name.  This will list all available server
options to vote upon, based upon the current gametype being played on
the server.

You can also get the usage, description and current setting info of
most server variables by simply typing:

    \callvote <option_name> ?

without any parameter.  For example, you can get the server's current
settings to see which items and weapons are enabled or disabled by typing:

    \callvote items ?


Here is a list of all of the votable options:
---------------------------------------------
  arenatype <1v1/DM|DA|FFA|TDM|CTF|CA>   Changes the gametype for the current arena
                                         Can be abbreviated to just "callvote TDM" etc
  armor <value>           Sets how much armor players spawn with
* armorsystem <0|1|2|3>   Sets armor system
				0 - Standard CPM (GA:50 YA:100 RA:200)
				1 - CPMA Team (GA:100 YA:150 RA:200)
				2 - CPMA Duel (GA:50 YA:75 RA:100)
				3 - Quake2 (GA:25 YA:50 RA:100)
  armordamageself <0|1>   Enables/disables your weapons damaging your own armor
  armordamageteam <0|1>   Enables/disables friendly fire doing damage to armor
* cooldown <0|1>          Enables/disables the 200ms cooldown delay on LG and MG
  fallingdamage <0|1>     Enables/disables falling damage
* fastrail <0|1>          Sets railgun switch time
				0 - Slow (1.5 sec - default)
				1 - Fast (1.0 sec)
  flood <0|1>             Enables/disables chat/command flood protection
  hook <0|1>              Toggles hook/grapple availability
  items +/-<item>         Enables/disables items and weapons
  instagib <0|1>          Enables/disables Instagib gameplay
  kick <player_id>        Attempts to kick player from server
  map <mapname>           Votes for a new map to be loaded
  mapcfg <cfg_file>       Votes for a new map with a modified itemset (e.g. q3dm6tmp)
  maxpackets_max          Sets max cl_maxpackets setting for clients (0 disables)
  maxpackets_min          Sets min cl_maxpackets setting for clients (0 disables)
  mutespecs <0|1>         Mutes spectator chat to players in the game
  nextmap [mapname]       Sets the next map to load, or loads an lady
  overtime <0|1|2|3>      Sets overtime mode
                          0 - Sudden Death (first score decides)
						  1 - SD-Timed Overtime (sudden death after X rounds)
						  2 - No Overtime (can end in tie)
						  3 - Tie-Timed overtime (tie after X rounds)
  pmove <0|1>             Enables/disables enhanced client sampling
  promode <0|1>           Toggles faster-paced ProMode settings
  pure/qtv <0|1>          Toggles the server's pure setting for QTV to connect
  referee <player_id>     Elects a player to have admin abilities
  reset                   Resets the arena's options, items, etc to the defaults
  restart                 Restarts the arena
  limit <value>           Changes the fraglimit/caplimit/roundlimit
  startrespawn <0|1>      Toggles players respawning on round start
  thrufloors <0|1>        Toggles if splash damage can transfer through thin floors/walls
  tl/timelimit <value>    Changes the current timelimit
  timenudge_max <value>   Sets max cl_timenudge setting for clients (0 disables)
  timenudge_min <value>   Sets min cl_timenudge setting for clients (0 disables)
* vstr <0|1>              Enables/disables +/-vstr (alias/modif) scripts
  weaponrespawn <value>   Sets weapon respawn delay (0 means weaponstay)


===============
Server Commands
===============
The following command-list describes the commands available on the
server console.  Note, all console commands that shipped with the
default Quake3 game.

addbot              If issued with a non-default quake3 bot name, CPMA
                    will deterministically load a bot definition with
                    a determined skill level.  This selection is based
                    on the bot's numeric representation of its name.
                    Thus, the same bot will be selected when its name
                    is given, every time.
filterlist          Lists all current filters enabled on the server.
                    (Alias: banlist)
filterload          Loads filter/ban list specified in the
                    filter_file and player_file server variables.
                    (Aliases: playernames, banload)
ban <player_id>     Bans a player from the server.
