This tutorial will show you on how to install a Counter-Strike: Global Offensive Server on your Ubuntu 14.04 VPS.
Prerequisites for Counter-Strike: Global Offensive
Game Server Running Ubuntu 14
From the SteamCMD guide, one additional step is needed specifically for CS:GO.
-
Replace a firewall rule to slightly extend the port range available to the game. This command assumes that you have only the iptables rules in place from the SteamCMD guide:
sudo iptables -R INPUT 5 -p udp -m udp --sport 26900:27030 --dport 1025:65355 -j ACCEPT
Install Counter Strike: Global Offense
-
Be sure you are in the directory
~/Steam
, then access theSteam>
prompt.cd ~/Steam && ./steamcmd.sh
-
From the SteamCMD prompt, login anonymously:
login anonymous
Or log in with your Steam username:
login example_user
-
Install CS:GO to the
Steam
user’s home directory:force_install_dir ./csgo-ds app_update 740 validate
This can take some time. If the download looks as if it has frozen, be patient. Once the download is complete, you should see this output:
Success! App '740' fully installed. Steam>
-
Exit SteamCMD.
quit
To update CS:GO, run the above 4 commands again.
Game Server Login Token
CS:GO requires a server token unless you want to limit players to only clients connecting from within the server’s LAN. This requires having a Steam account and owning CS:GO. See Valve’s CS:GO wiki for more info on the GSLT.
Configure the Server
-
Create a file called
server.cfg
using your prefered text editor. Choose a hostname and a unique RCON password that you don’t use elsewhere.- ~/Steam/csgo-ds/csgo/cfg/server.cfg
-
hostname "server_hostname" sv_password "server_password" sv_timeout 60 rcon_password "rcon_password" mp_autoteambalance 1 mp_limitteams 1 writeid writeip
For an extensive list of
server.cfg
options, see this page. -
Create a startup script for CS:GO with the contents given below. Be sure to replace
YOUR_GSLT
in the script’s command with your game server login token.- ~/startcsgo.sh
-
#!/bin/sh cd ./Steam/csgo-ds screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -usercon +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust2 +sv_setsteamaccount YOUR_GSLT -net_port_try 1
When run, the script will change directories to
~/Steam/csgo-ds
and execute a Dust2 server in competitive game mode in a Screen session. For more startup modes and game options, see Valve’s CS:GO wiki. -
Make the script executable:
chmod +x ~/startcsgo.sh
Start the Server
-
Now that your server is installed and configured, it can be launched by running the
startcsgo.sh
script from yoursteam
user’s home directory.cd ~/ && ./startcsgo.sh
From this point, do not press the Control+C keys while in the console unless you want to stop CS:GO.
-
To detach from the screen session running the server console, press these two key combinations in succession:
Control+A
Control+D -
To bring the console back, type the following command:
screen -r
-
To stop the server, bring back the CS:GO console and press CONTROL + C.
Join the Game
-
Launch Counter-Strike: Global Offensive.
-
Once launched, go to Play and click Browse Community Servers.
-
Click on the Favorites tab and then click Add a Server at the bottom.
-
Type in the IP address of your Linode and click Add this address to favorites.
-
You’ll see your new Counter-Strike: Global Offensive server. Click Connect at the bottom right and start fragging away.
Game Settings
Game Modes and Types
You can change the game type and mode options to start different types of servers:
Mode game_mode game_type
Classic Casual 0 0
Classic Competitive 0 1
Arms Race 1 0
Demolition 1 1
These settings are changed in the launch command.
RCON
When logged into the server, you can open the RCON console with the the backtic button (`
), or your mapped key. To log in type rcon_password
followed by your password.
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.