RCON Reference Guide
For
Commonly Used Server
Commands/Settings
|
Created By: |
{PJG} Crimson (a.k.a.
Anex) |
|
Email: |
|
|
Website: |
|
|
Game: |
Call of Duty |
|
Last Update: |
March 13, 2004 |
Table of Contents
Using rconpassword to execute server
commands
Entering rconpassword once to
execute server commands
Creating a CoD Shortcut to join our
server & easily execute server commands
Obtaining a current status of the
server
Setting/Changing the Server Time
Limit
Setting/Changing the Server Score
(frag) Limit
Enabling/Disabling Enemy Spectate
Enabling/Disabling Team Balance
Setting Game Type to Death Match
Setting Game Type to Team Death
Match
Setting Game Type to Behind Enemy
Lines
Setting Game Type to Retrieval
Setting Game Type to Search &
Destroy
Setting Game Type to HeadQuarters
First off, whenever attempting to use a command against the server, you must precede it with /RCON and then use one of the following 3 methods:
Use the password every time you issue a command, taking care to ensure you place the password within double quotes. Please note that this method is lengthy and problematic as you can accidentally forget to type the slash (/) or even forget to lower the console; resulting in displaying the rcon password to everyone on the server. As such, I do NOT recommend using this method:
Example: /rcon <rconpassword> <then your command>
/rcon status
/rcon map mp_brecourt
After joining your server, or the first time you wish to execute a RCON command, type /rconpassword “whatever your password is”. Using this method will ensure that so long as you remain in Call of Duty, your rconpassword will be set and all you would need to do is simply issue /rcon <then your command>; there is no need to continually type the rconpassword.
Example: /rconpassword “myrcon21”
/rcon status
/rcon map_rotate
Creating a CoD shortcut, placing the rconpassword and whatever else you wish in the shortcut itself, will allow you to easily and quickly join our server, as well as be able to immediately execute RCON commands, without having to enter the rconpassword. Below are the instructions for creating a CoD shortcut:
1) Go to your CoD folder, where the game exe files are located
2) Right click on CoDMP.exe and select "Create Shortcut"
3) Rename the shortcut to something like "My Clan Server"
4) Right click on the shortcut and select the Properties option
5) Click on the Shortcut tab, click inside the Target field and press the [END] key
6) Add the following information AFTER the game path (i.e. "C:\Program Files\Call of Duty\CoDMP.exe" – note that this is completely unique to where you installed the game so your path may be different):
+connect <server IP> +rconpassword “<whatever your rconpassword is>”
7) Click the OK button
8) Move the shortcut to your Desktop (or wherever you want it) or if you use XP, right click on it and select Pin to Start Menu. Simply select/double click on the shortcut when you wish to join your server
NOTE: There MUST be a space between the end quote of the game path and the +connect line.
This way, once you are in the server, all you have to do is type /RCON and then the command.
Example: /rcon status
/rcon map_rotate
NOTE: For the remainder of this document, I will use the method whereby you have already entered the rconpassword, via one of the above methods. I prefer having the rconpassword already defined so you do not have to type it out every time you wish to execute a server command; that and it’s much safer!
Speaking with the console is pretty much the same as if you were speaking; only you have to type the command to talk. The actual command to speak to everyone on the server is "say". You could place whatever you wish to say in double quotes but it's not necessary.
Example: /rcon say Hello everyone, how are you?
/rcon say "Hello everyone, how are you?"
/rcon say Server is going Retrieval next round
/rcon say “Server is going Retrieval next round”
/rcon say Stop TKing or you will be kicked
/rcon say “Stop TKing or you will be kicked”
The above examples will be
displayed on the screen as:
Console: Hello
everyone, how are you?
Console: Server is going
Retrieval next round
Console: Stop TKing or you will be kicked
"Status", displays a list of the people currently connected to the server, whether they're playing or spectators. It works as follows:
Example: /rcon status
The following is then displayed in your console:
|
Client ID |
Score |
Ping |
GUID |
Player Name |
IP Address |
|
0 |
23 |
45 |
100000 |
{PJG} Crimson |
165.56.24.45 |
|
1 |
13 |
65 |
100001 |
{PJG} Stalker |
65.45.24.57 |
|
2 |
33 |
51 |
100002 |
{PJG} AimRed |
65.56.21.35 |
|
3 |
25 |
30 |
100003 |
You Suck! |
125.54.85.21 |
|
4 |
21 |
32 |
100004 |
{PJG} Buzz Litebeer |
24.56.42.51 |
|
5 |
12 |
100 |
100005 |
{PJG} Flying Nun |
161.61.41.56 |
To change/set the time limit to be used by each map, you would simply type the command and enter a new value. Please note that there are different time limit commands for each gametype. Also note that I created shortcut commands for each setting and gametype.
Death Match: /rcon scr_dm_timelimit "20"
Team Death Match: /rcon scr_tdm_timelimit "20"
Retrieval: /rcon scr_re_timelimit "20"
Behind Enemy Lines: /rcon scr_bel_timelimit "20"
Search & Destroy: /rcon scr_sd_timelimit "20"
Note: The time limit command does not currently function. This should be addressed in the patch, but given the rotation we run, time limit is not used so I would prefer we kept it this way – using a score limit is the best method (though there’s nothing wrong with using both methods).
To change/set the score limit, there are a couple ways to do so. The best method is by setting a map score limit. Just like setting a map time limit, there are score limit commands for each gametype.
Death Match: /rcon scr_dm_scorelimit "50" (player based score)
Team Death Match: /rcon scr_tdm_scorelimit "100" (team based score)
Retrieval: /rcon scr_re_scorelimit "10" (team based score)
Behind Enemy Lines: /rcon scr_bel_scorelimit "60" (player based score)
Search & Destroy: /rcon scr_sd_scorelimit "10" (team based score)
NOTE: Both score limit and time limit changes immediately take effect, be aware of this before you make any changes.
Call of Duty has a setting allowing teams to organize, players to join, and weapon selections to be finalized before actually starting the round: “graceperiod” - unique to Retrieval and Search and Destroy game types only.
Retrieval: /rcon scr_re_graceperiod "15"
Search & Destroy: /rcon scr_sd_graceperiod "15”
To enable/disable the killcam, being able to review your death from the other players perspective, you would use "scr_killcam". By setting the variable to a value of 0 (off) or 1 (on), you enable/disable the feature.
Example: /rcon scr_killcam "1" (Turns Kill Cam on)
/rcon scr_killcam "0" (Turns Kill Cam off)
To add/remove team damage (a.k.a Friendly Fire or FF), you would use the command variable "scr_friendlyfire". By setting the variable to a value of 0 (team damage off), 1 (team damage on), 2 (Reflective damage), or 3 (Shared damage – both the shooter and team member being shot receive damage), you control the type of team damage used, if used at all.
Example: /rcon scr_friendlyfire "0" (Turns off team damage)
/rcon scr_friendlyfire "1" (Turns on team damage)
/rcon scr_friendlyfire "2" (Turns on reflective damage)
/rcon scr_friendlyfire "3" (Turns on shared damage)
NOTE: Setting team damage on or off immediately affects the game play; it does not require a map change or restart.
To enable/disable freelook, being able to freely move around the map when dead or as a spectator, you use "scr_freelook". By setting the variable to a value of 0 (off) or 1 (on), you enable/disable the feature.
Example: /rcon scr_freelook "1" (Turns Free Look on)
/rcon scr_freelook "0" (Turns Free Look off)
To enable/disable enemy spectate, being able to spectate the other team when dead or as a spectator, you use "scr_specateenemy". By setting the variable to a value of 0 (off) or 1 (on), you enable/disable the feature.
Example: /rcon scr_spectateenemy "1" (Turns enemy spectate on)
/rcon scr_spectateenemy "0" (Turns enemy spectate off)
To enable/disable Team Balance, having the server check teams and balance them at the end of each round, you use "scr_teambalance". By setting the variable to a value of 0 (off) or 1 (on), you enable/disable the feature.
Example: /rcon scr_teambalance "1" (Turns Team Balance on)
/rcon scr_teambalance "0" (Turns Team Balance off)
To restart the current map, you would make use of the command "map_restart". This will reset the map to the specified timelimit and or scorelimit, as well as reset each teams/player’s individual scores.
Example: /rcon map_restart
To rotate to the next map, you would make use of the command "map_rotate". This will end the current map and load the next map in rotation (sv_maprotationcurrent).
Example: /rcon map_rotate
To make the server private, you simply use the g_password cvar. It is defaulted to contain no value, so your server is open to everyone. Setting it to a value will then require people to connect using the password, as well as require those currently in the server to enter it or be kicked when the map changes or you issue the map_restart command.
Examples: /rcon g_password “calmatch”
/rcon
map_restart
To open the server to the public again, you simply clear g_password of its current
value. This is done simply by issuing the following:
Examples: /rcon g_password “”
/rcon
map_restart
There are a few ways in which to kick players, but I'm only going to cover the easiest and best way to do so. It involves using the "status" and "clientkick" commands. I prefer using this method of kicking as it prevents you from having to type out a player’s name, which can be lengthy and difficult depending on the complexity of the name. In addition, the player could also change his/her name in mid command and then you'd be forced to re-type the new name. In other words, use the below described method.
"Status", displays a list of the people currently connected to the server, whether they're playing or spectators. It works as follows:
Example: /rcon status
The following is then displayed in your console:
|
Client ID |
Score |
Ping |
GUID |
Player Name |
IP Address |
|
0 |
23 |
45 |
100000 |
{PJG} Crimson |
165.56.24.45 |
|
1 |
13 |
65 |
100001 |
{PJG} Stalker |
65.45.24.57 |
|
2 |
33 |
51 |
100002 |
{PJG} AimRed |
65.56.21.35 |
|
3 |
25 |
30 |
100003 |
You Suck! |
125.54.85.21 |
|
4 |
21 |
32 |
100004 |
{PJG} Buzz Litebeer |
24.56.42.51 |
|
5 |
12 |
100 |
100005 |
{PJG} Flying Nun |
161.61.41.56 |
Once this is displayed, you simply find the player you wish to kick from the server and note their Client ID. You then use the command, "clientkick", with the ID of the person, to boot them from the server. For this example, we will kick client #3 for being a bad little boy:
Example: /rcon clientkick 3
Banning players is done almost exactly the same as kicking them, just uses a different command. If you find that someone warrants banning, simply use the above "status" command to obtain the players client id, then use the banclient command.
Example: /rcon status
The following is then displayed in your console:
|
Client ID |
Score |
Ping |
GUID |
Player Name |
IP Address |
|
0 |
23 |
45 |
100000 |
{PJG} Crimson |
165.56.24.45 |
|
1 |
13 |
65 |
100001 |
{PJG} Stalker |
65.45.24.57 |
|
2 |
33 |
51 |
100002 |
{PJG} AimRed |
65.56.21.35 |
|
3 |
25 |
30 |
100003 |
You Suck! |
125.54.85.21 |
|
4 |
21 |
32 |
100004 |
{PJG} Buzz Litebeer |
24.56.42.51 |
|
5 |
12 |
100 |
100005 |
{PJG} Flying Nun |
161.61.41.56 |
Once this is displayed, you simply find the player you wish to ban from the server and note their Client ID. You then use the command, "banclient", using the ID, to permanently boot the person from the server. For this example, we will kick client #3 for not getting the hint:
Example: /rcon banclient 3
UnBanning players is a little more complicated. There are currently 2 built-in ways to unban a player: 1) using the unBanUser command; 2) Connecting to your server via FTP and removing the player from the ban.txt file. If you banned players using 3rd party software, check with its user guide for info on “unbanning”.
Using the above example banned example, to remove the ban for “You Suck!”, you would issue the following, matching the players name exactly:
Example: /rcon unbanuser “You Suck!”
Changing maps via RCON is done the same way you change it on your own system, using the command "map", and then the map code name. However, the map you use may not work as it depends on the game type currently used by the server.
In Call of Duty, there are a total of 12 maps. However, as stated, not all of the maps can play in each mode. To date, there are currently 2 maps that cannot play in Search & Destroy mode, Chateau (mp_chateau) & Ship (mp_chateau). Those two maps are available in the other modes, just not S&D. As such, if you are playing in S&D mode, you will need to change the gametype (g_gametype) to something other then S&D.
Examples: /rcon g_gametype sd
/rcon map mp_carentan
/rcon g_gametype re
/rcon map mp_chateau
Map Code |
Map Name |
Search & Destroy |
DM, TDM, Retrieval, Behind
Enemy Lines, & HeadQuarters |
|
mp_chateau |
Chateau |
|
a |
|
mp_ship |
Ship |
|
a |
|
mp_brecourt |
Brecourt |
a |
a |
|
mp_harbor |
Harbor |
a |
a |
|
mp_railyard |
Railyard |
a |
a |
|
mp_carentan |
Carentan |
a |
a |
|
mp_dawnville |
Dawnville |
a |
a |
|
mp_depot |
Depot |
a |
a |
|
mp_powcamp |
POW Camp |
a |
a |
|
mp_hurtgen |
Hurtgen |
a |
a |
|
mp_pavlov |
Pavlov |
a |
a |
|
mp_rocket |
Rocket |
a |
a |
As you know, there are 6 game types in Call of Duty, Death Match, Team Death Match, Retrieval, Behind Enemy Lines, Search & Destroy, and Headquarters. There are others created by modders, but I will leave those for them to discuss. Each game type has a specific code to represent it. Below are the game types and their associated codes:
|
Game type |
Code |
|
Death Match |
dm |
|
Team Death Match |
tdm |
|
Retrieval |
re |
|
Behind Enemy Lines |
bel |
|
Search & Destroy |
sd |
|
HeadQuarters |
hq |
Changing the game type involves doing 3 things: 1) changing the game type itself; 2) setting the map rotation; and 3) changing to a map within the new game type. This is done by using the command "set" (set a variable to user specified value), and the game type variable "g_gametype". Then you set the map rotation using the map list variable "sv_maprotation". Finally, you select the initial map to be used, using the previously described command "map" and the map code name.
To set the game type to Death Match and then change the map to Rocket, you would use the following:
To set the game type to Team Death Match and then change the map to Ship, you would use the following:
To set the game type to Behind Enemy Lines to POWCamp, you would do the following:
To set the game type to Retrieval and then change the map to Chateau, you would use the following:
To set the game type to Search & Destroy and then change the map to Brecourt, you would use the following:
To set the game type to Search & Destroy and then change the map to Brecourt, you would use the following:
Map rotation is a list of maps the server will load. As it map finishes, it will load the next map in the rotation. Call of Duty has 2 cvars designed to manage this ability (both are used by the server): sv_MapRotation and sv_MapRotationCurrent.
sv_MapRotation is the main map list variable and is what server uses to load its list of maps. sv_MapRotationCurrent is auto set by the server itself, based on the maps defined in sv_MapRotation – think of it as a memory buffer. The server reads sv_MapRotation, assigns the maps defined in it to sv_MapRotationCurrent, and then uses sv_MapRotationCurrent when loading the next map(s). This can be very confusing as people tend to only set sv_MapRotation, ignoring sv_MapRotationCurrent, and then wonder why the old maps previously defined in sv_MapRotation are being loaded instead of their new ones. To avoid this, server admins MUST first clear sv_MapRotationCurrent BEFORE changing sv_MapRotation and loading the next map.
When defining map rotations, you MUST follow the correct format or you risk crashing the server. You MUST precede each map name by the map command (i.e. map mp_harbor). You may also optionally add a gametype for each map in your map list (i.e. gametype sd map mp_harbor). If you do not define gametype for each map in your map list, the server will use whatever mode you have defined in g_gametype.
The following are example setups for map rotations:
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "map mp_railyard map mp_brecourt map mp_rocket”
//Define the gametype to be used for all maps in the new rotation
set g_gametype “hq”
//Load the first map
map mp_rocket
NOTE: In the above example, all maps will play in HeadQuarters mode.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "map mp_dawnville map mp_carentan map mp_harbor”
//Define the gametype to be used for all maps in the new rotation
set g_gametype “sd”
//Load the first map
map mp_harbor
NOTE: In the above example, all maps will play in Search & Destroy mode.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "map mp_chateau map mp_ship map mp_depot”
//Define the gametype to be used for all maps in the new rotation
set g_gametype “re”
//Load the first map
map mp_depot
NOTE: In the above example, all maps will play in Retrieval mode.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "map mp_carentan map mp_brecourt map mp_powcamp”
//Define the gametype to be used for all maps in the new rotation
set g_gametype “tdm”
//Load the first map
map mp_powcamp
NOTE: In the above example, all maps will play in Team Death Match mode.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "map mp_ship map mp_pavlov map mp_hurtgen”
//Define the gametype to be used for all maps in the new rotation
set g_gametype “dm”
//Load the first map
map mp_hurtgen
NOTE: In the above example, all maps will play in Death Match mode.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "map mp_ship map mp_railyard map mp_pavlov”
//Define the gametype to be used for all maps in the new rotation
set g_gametype “dm”
//Load the first map
map mp_pavlov
NOTE: In the above example, all maps will play in Behind Enemy Lines mode.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation "gametype sd map mp_dawnville gametype re map mp_depot gametype hq map mp_brecourt gametype bel map mp_harbor gametype tdm map mp_rocket gametype dm map mp_chateau”
//Define the gametype to be used for the first map to load only
set g_gametype “re”
//Load the first map
map mp_pavlov
NOTE: In the above example, each map has its own gametype defined.
//Clear the current map rotation (should one exist)
set sv_mapRotationCurrent ""
//Define the map rotation
set sv_mapRotation “map gametype sd map the_hunt gametype re mp_falaisevilla gametype sd map Nuenen gametype re map mp_v2_ver3 gametype sd map mp_offensive gametype sd mp_oase”
//Define the gametype to be used for the first map to load only
set g_gametype “sd”
//Load the first map
map mp_oase
NOTE: In the above example, each custom map has its own gametype defined.
Call of Duty allows server admins to establish reserve slots for their team members or friends. By assigning a password to said private slots, a player using that password will be automatically assigned to one of the private slots. Server admins typically use this feature to ensure they or their team members/friends will be able to join the server, even when it’s full.
The variables to use are sv_privateclients (this defines the number of slots to reserve) & sv_privatepassword (this is the password players will have to use to join the private slots). The best way to establish private slots is directly in your server config file, so it’s always used when your server restarts, but can also be done via the console. Below are examples of both:
Examples: Via your server config (recommended method):
Set sv_privateclients “8”
Set sv_privatepassword “myclanonly”
Via RCON (not
recommended):
/RCON sv_privateclients “8”
/RCON sv_privatepassword “myclanonly”
NOTE: Setting private slots does not allow more people to join then sv_maxplayers, but rather takes the number of slots you assign and subtracts from it. For example, if you have a 32 man server, with 8 private slots, your server will only appear as a 24 man server in the in-game browser. Your server will still support 32 players, but once it reaches 24, no one else will be able to connect unless they use the private password.