// Challenge Pro Mode Arena Commands for Quake3
// --------------------------------------------
// http://www.ProMode.org
// arQon@ProMode.org, Rhea@OrangeSmoothie.org
// v0.99x1
// 10 Jun 02

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)
==============================================
accuracy		Shows best player for each weapon. Adding 
			<weapon_id> shows all player stats for that
			specific weapon. (Alias: topshots)
autorecord		Creates demo with consistant naming scheme
+button5                Enables use of the hook/grapple, if the server
                        allows for its use.			
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/time        Displays current local time.
help                    List of available commands for the particular
                        mode of play on the server (Alias: commands).
maplist			Display available maps for current mode                        
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).
scores			Shows match stats
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).
statsall		Shows weapon accuracy stats for all players.
statsblue		Shows weapon accuracy stats for the blue team.
statsred		Shows weapon accuracy stats for the red team.
viewblue/viewred        Multiviews the entire blue/red team.
viewadd <player_id>     Adds in-game player pov to screen.

viewremove [player_id]  Removes currently viewed player pov that is
                        highlighted.  Using the optional player_id
                        field selects the specific player pov to remove.

viewfollow              Viewer will move to chasecam follow mode of the
                        player in the highlighted view.

viewnone                Removes all active views.

viewnext/               Moves forward/backward through views to select
viewprev                which player to listen in on.
                        (Note: The follownext/followprev commands alias
                        to these commands while in multi-view mode).
+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 (warmup-enabled modes)
===========================================
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).


====================================
Teamplay-specific commands [general]
====================================
coach                   Switches to "coach" specator mode (after being
                        invited to the team), or reinitializes coach's
                        multi-player view of the coached team.  Coaches
                        can teamchat, issue timeouts, teamready, etc.
                        with or for the team just as if they were a
                        playing member of the team, but they can only
                        spectate the coached team.

coachdecline            Declines a "coach" invitation, or resigns
                        coach status for a team if already a coach.

coachinvite <player_id> Invites a player to "coach" the team.

coachkick <player_id>   Removes a previously invited coach from a team.
drop <item>             Drops available weapon/ammo (TDM/CTF only) or
                        a carried flag (CTF).  Type "\drop" by itself to
                        drop the current weapon.
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                  Cancels a timeout (Alias: unpause)
viewred/viewblue        Adds views of the entire red/blue team.  As
                        new players join or leave the team, your screen
                        will be updated.

====================================
Teamplay-specific commands [captain]
====================================
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_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_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_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:
---------------------------------------------
  allcaptain <0|1>	  Allow all players to have limited team control	  
  armor <value>           Sets how much armor players spawn with
  armorsystem <0|1|2|3>   Sets armor system
				0 - CPMA Duel (S:5 GA:50 YA:100 RA:150)
				1 - CPMA Team (S:5 GA:50 YA:100 RA:200)
				2 - Quake1 (S:2 GA:100 YA:150 RA:200)
				3 - Quake2 (S:2 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
  dropitems <0|1|2|3>	  Ability to drop weapons/ammo/flags
  				0 - None
  				1 - Weapons and ammo
  				2 - Flags
  				3 - All
  exec <configfile>	  Update arena options from a file
  fallingdamage <0|1>     Enables/disables falling damage
  fastrail <0|1>          Sets railgun switch time
				0 - Standard (1.5 sec)
				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
  match <1V1|TDM|CTF|FFA|CA|ALTCA|DA|IFFA|ITDM|ICTF|FTEU|FTUS|CTFS>
  			  Loads standard server configuration
  			  with additional requirements for team games
  maxpackets_max          Sets max cl_maxpackets setting for clients (0 disables)
  maxpackets_min          Sets min cl_maxpackets setting for clients (0 disables)
  mode <1V1|TDM|CTF|FFA|CA|ALTCA|DA|IFFA|ITDM|ICTF|FTEU|FTUS|CTFS>
  			  Loads standard server configuration
  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
  poweruprespawn <value>  Sets powerup respawn delay (60, 90, 120 seconds)
  promode <0|1>           Toggles faster-paced ProMode settings
  pure/gtv <0|1>          Toggles the server's pure setting for QTV to connect
  random <value>	  Picks a number from 1 to <vaule>
  			  2 mimics a cointoss (heads/tails)
  referee <player_id>     Elects a player to have admin abilities
  reload <value>          Rail reload time for instagib only
  restart                 Restarts the arena
  limit <value>           Changes the fraglimit/caplimit/roundlimit
  startrespawn <0|1>      Toggles players respawning on round start
  startweapon <MG-PG>     Sets addition weapon to give players on respawn
  selfdamage <0|1|2|3>    Controls ability to hurt yourself
  				0 - None
  				1 - Health Only
  				2 - Armor Only
  				3 - All
  teamdamge <0|1|2|3>     Controls ability to hurt teammates
  				0 - None
  				1 - Health Only
  				2 - Armor Only
  				3 - All
  thawauto <value>	  Sets how long players stay frozen if not defrosted by teammate
  thawtime <value>        Sets how long it takes to defrost teammates
  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)
  unreferee <player_id>	  Remove referee status from a player
  warmup <value>          Sets duration of pre-match warmup
  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 are available.

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.
