csgo News

Category: Counter-Strike: Global Offensive

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.



Download and Run the SteamCMD Tool

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

    • Windows: Type steamcmd
    • Linux: type STEAMEXE=steamcmd ./steam.sh
The program will now automatically update and enter you in to a Steam> prompt. Type help if you need more information.

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.



Download the CS:GO Dedicated Server

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.


Starting the CS:GO Server

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


srcds -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_dust2


Advanced CS:GO Server Configuration

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







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)



Round Convars

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"




Gun Game and Demolition Progression

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.


Scripting SteamCmd

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

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


Founded as Toronto Darkly in 2003, DARKLY Gaming Network (DGN) is an online multi-gaming community. With roots in Counter-Strike, DARKLY has grown to include some of the most popular games including: Team Fortress 2, Minecraft, and the much anticipated CS: Global Offensive (CS:GO). With these and many other games to follow, DARKLY is Your place to play!

Darkly Logo

Our Friends


Pinion Logo


S5 Box