Do you want to run a CS:GO dedicated server? Below is an easy to follow guide on how to setup your very own CS:GO server! If you have any questions please leave a comment below.
1. Download the SteamCMD Update Tool
2. Extract the contents of the installer to a directory (Windows example: C:\SteamCmd)
(Note:
Do not extract the updater tool contents to the regular Steam Client
folder or to a folder that contains the older HLDSUpdateTool program)
3. Launch SteamCmd
Open a command prompt in that directory and start SteamCmd
4. Log in with your CS:GO Steam Account info
Note: you must log out of the regular Steam client in order to be able to log in to the SteamCMD Update Tool
login username password
Note: If you receive a Steam Guard error, please check your e-mail for an access code and execute the following commands (you will only need to do this once):
set_steam_guard_code yourcodehere
login username password
5. You should now see a message that says you have successfully logged in to your account.
This section will describe the process of updating the CS:GO dedicated server application. These steps are required every time the game is updated. To make this process easier see Scripting SteamCmd.
1. If you aren't continuing from the previous set of instructions, first launch SteamCmd.
2. At the <b>Steam> prompt</b>, set your CS:GO Dedicated Server install directory. Examples:
Absolute Path:
force_install_dir c:\csgo-ds\
Up one folder:
force_install_dir ..\csgo-ds
3. Install or Update CS:GO
If this is your first time installing or if you are trying to verify the integrity of the server files:
app_update 740 validate
If this is just an update to an existing CS:GO dedicated server:
app_update 740
4. Once finished, type quit at the <b>Steam></b> prompt to properly log off of the Steam servers.
Classic Casual:
srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_allclassic +map de_dust2
Classic Competitive:
srcds -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_allclassic +map de_dust2
Arms Race:
srcds -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map de_dust2
Demolition:
srcds -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_dust2
Configuring CS:GO servers differs from what server administrators have seen with previous dedicated servers. There are some primary differences, which will be covered below.
The server.cfg file can be found in the directory \csgo\cfg
This file has been significantly depreciated with CS:GO. It is no longer used as the primary way of configuring the convars of the CS:GO server. Certain convars, like mp_timelimit, are not even available through the console, as they are now loaded using a different file (see gamemodes.txt below).
However, you will still use this config file to update the hostname, rcon, server password and other convars that you do have access to. Here is an example of a very simple server.cfg file:
hostname "DARKLY CS:GO Dedicated Server"
rcon_password "yourrconpassword"
sv_password "" //Only set this if you intend to have a private server!
log on //This is set to turn on logging!
From here, you can add additional commands to customize your server's game play experience:
mp_freezetime 5 //The amount of time players are frozen to buy items
mp_join_grace_time 15 //The amount of time players can join teams after a round has started
sv_cheats 0 //This should always be set, so you know it's not on
sv_lan 0 //This should always be set, so you know it's not on
//**The bot commands below are mostly default with the exception of
bot_difficulty 1
bot_chatter "off"
bot_join_after_player 1
bot_quota 10
bot_quota_mode "fill"
//**The following commands manage kicks and bans
writeid
writeip
exec banned_user.cfg
exec banned_ip.cfg
Once you've launched your CS:GO dedicated server, you can type in the following command to output all available convars that can be altered using server.cfg:
//The output file will be located in the csgo folder of your dedicated server
cvarlist log cvarlist.txt
List of CS:GO cvars
This file can be found under the \csgo\ folder. Initially it is named as gamemodes_server.txt.example.
This file is the primary way to change how your server will function.
You can control things like the time, rounds, friendly fire, bullet
damage, player limits and all sorts of other things. We'll discuss some
of the primary changes that can be made using this file.
Each
section of the file is separated by the game type. The game types are
Casual, Competitive, Arms Race (Gun Game) and Demolition
(gungametrbomb). Find the section you want to edit, and you'll see the
group of convars you can set. Save the edited file as gamemodes_server.txt
NOTE: DO NOT edit gamemodes.txt
UPDATE: On August 30 2012, Valve changed the way server settings work. All convars are to be set in separate gamemode files. Files listed below.
/csgo/cfg/gamemode_armsrace_server.cfg
/csgo/cfg/gamemode_casual_server.cfg
/csgo/cfg/gamemode_competitive_server.cfg
/csgo/cfg/gamemode_demolition_server.cfg
You can change the amount of bots, the way the bots populate the server and how chatty they are by updating the convars below:
"bot_quota_mode" "fill"
"bot_defer_to_human_items" "1"
"bot_defer_to_human_goals" "0"
"bot_difficulty" "1"
"bot_dont_shoot" "0"
"bot_chatter" "normal"
"bot_autodifficulty_threshold_low" "-2.0" // Value between -20.0 and
20.0 (Amount below avg human contribution score, below which a bot
should raise its difficulty)
"bot_autodifficulty_threshold_high"
"0.0" // Value between -20.0 and 20.0 (Amount above avg human
contribution score, above which a bot should lower its difficulty)
The following convars can be changed to update how the rounds are played out. You can change from round limits to time limits, to how long you force players to freeze in place to buy to forcing the camera to only specatating your team members while dead. Each convar is set specifically for each game type, so you'll have to go through each of the different game modes to get them all updated!
"mp_afterroundmoney" "0"
"mp_playercashawards" "1"
"mp_teamcashawards" "1"
"mp_maxrounds" "30"
"mp_timelimit" "0"
"mp_roundtime" "2"
"mp_freezetime" "15"
"mp_buytime" "45"
"mp_forcecamera" "1" // Set to 1 for team only spectating
"mp_defuser_allocation" "0"
"mp_death_drop_gun" "1" // 0=none, 1=best, 2=current or best
"mp_death_drop_grenade" "2" // 0=none, 1=best, 2=current or best
"mp_death_drop_defuser" "1"
You'll find convars available to update how the server progresses
individuals through the weapons in both Gun Game modes. You can set the
weapon order and the kill requirements in order to move on to the next
weapon. These convars are separated by team, so be careful to make
changes for both sides or you could potentially unbalance the matches on
your server.
As an example, here is a list of the convars of weapon progression on Arms Race for a single team:
"mp9" { "kills" "1" }
"mac10" { "kills" "1" }
"mp7" { "kills" "1" }
"bizon" { "kills" "1" }
"ump45" { "kills" "1" }
"p90" { "kills" "1" }
"nova" { "kills" "1" }
"mag7" { "kills" "1" }
"xm1014" { "kills" "1" }
"sawedoff" { "kills" "1" }
"galilar" { "kills" "1" }
"famas" { "kills" "1" }
"ak47" { "kills" "1" }
"m4a1" { "kills" "1" }
"sg556" { "kills" "1" }
"aug" { "kills" "1" }
"awp" { "kills" "1" }
"m249" { "kills" "1" }
"negev" { "kills" "1" }
"glock" { "kills" "1" }
"hkp2000" { "kills" "1" }
"tec9" { "kills" "1" }
"p250" { "kills" "1" }
"deagle" { "kills" "1" }
"fiveseven" { "kills" "1" }
"elite" { "kills" "1" }
"knifegg" { "kills" "1" }
Here is an example of the weapon progression on Demolition for a single team:
"m4a1" { "kills" "1" }
"p90" { "kills" "1" }
"ump45" { "kills" "1" }
"deagle" { "kills" "1" }
"nova" { "kills" "1" }
"fiveseven" { "kills" "1" }
"hkp2000" { "kills" "1" }
"ssg08" { "kills" "1" }
"awp" { "kills" "1" }
"Scar20" { "kills" "1" }
The types of maps you play are now controlled by map groups.
It's possible to create scripts for SteamCmd to automate the update process.
1. Create a file in the same folder as SteamCmd.
2. Put your SteamCmd commands in the file. Example:
"// update_csgo_ds.txt
//
login user password
force_install_dir ../csgo_ds
app_update 740 validate
exit"
3. Run SteamCmd with the +runscript option. Example:
"SteamCmd +runscript csgo_ds.txt"
Too much work to setup a server? Come play on our servers!
VIA: VALVE Developer Community
Sponsored links
Aim2Game offers the highest available performance quality on all game and voice servers - unlike anyone else. We have locations throughout US, Canada, Germany, England, and Australia so you are covered worldwide. New games and server locations are constantly being added to our already impressive list.