Launch a Counter Strike: Global Offensive (CS:GO) server on Ubuntu 18.04
Updated by Linode Contributed by Linode
Dedicated CPU instances are available!Linode's Dedicated CPU instances are ideal for CPU-intensive workloads like those discussed in this guide. To learn more about Dedicated CPU, read our blog post. To upgrade an existing Linode to a Dedicated CPU instance, review the Resizing a Linode guide.
Counter Strike: Global Offensive (CS:GO) is a first-person shooter by Valve. Hosting your own server gives you full control over your game and game modes, so you can play the exact flavor of CS:GO you want. This guide contains instructions on how to download the dedicated server and launch the game server.
Before You Begin
Create a Linode running Ubuntu 18.04.
Create a Steam account if you do not have one, and download Counter Strike: Global Offensive to your computer.
A Steam game server login token (GSLT) is required to host a public CS:GO server. Without the token, client connections are restricted to the LAN only. Register your GSLT on Steam’s website. Enter
730
as the App ID when creating your GSLT. Review Steam’s documentation for more information about GSLTs.Complete our guide: Install SteamCMD for a Steam Game Server. This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off.
Note
This guide is written for a non-root user. Commands that require elevated privileges are prefixed withsudo
. If you’re not familiar with thesudo
command, you can check our Users and Groups guide.
Prerequisites for Counter-Strike: Global Offensive
After following the SteamCMD guide, some firewall modifications are needed specifically for CS:GO:
Stop the SteamCMD process if it is currently running.
Replace a firewall rule to slightly extend the UDP 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 --dport 26900:27030 -j ACCEPT
Reconfigure iptables-persistent to ensure that your new rule persists:
sudo dpkg-reconfigure iptables-persistent
Install Counter Strike: Global Offense
Run SteamCMD and login to Steam inside a screen session.
From the SteamCMD prompt, 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
Note
To update CS:GO, run the above 4 commands again.
Configure the Server
Create a file called
server.cfg
using your preferred text editor with the contents of the following snippet. The location you should save this file to depends on how you installed SteamCMD:SteamCMD Installation Method File Location Package manager ~/.steam/steamcmd/csgo-ds/csgo/cfg/server.cfg
Manual installation ~/Steam/csgo-ds/csgo/cfg/server.cfg
The value for
hostname
will displayed to users that join your server. Replace the values ofsv_password
andrcon_password
with two different and unique passwords that you don’t use elsewhere.- server.cfg
-
1 2 3 4 5 6 7 8
hostname "The name of your CS:GO server" sv_password "server_password" sv_timeout 60 rcon_password "rcon_password" mp_autoteambalance 1 mp_limitteams 1 writeid writeip
sv_password
is the password users will need to enter to join the server.rcon_password
is the RCON password, which is used to remotely control the game server from within the game. For an extensive list ofserver.cfg
options, see this page.Create a startup script for CS:GO with the following snippet. Name the file
startcsgo.sh
and save it to yoursteam
user’s home directory. Set the value of theYOUR_GSLT
variable at the top to be your game server login token. Set the value of theCSGO_INSTALL_LOCATION
variable at the top according to the table below.- ~/startcsgo.sh
-
1 2 3 4 5 6 7
#!/bin/sh YOUR_GSLT= CSGO_INSTALL_LOCATION= cd $CSGO_INSTALL_LOCATION 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
SteamCMD Installation Method CSGO_INSTALL_LOCATION Package manager ~/.steam/steamcmd/csgo-ds/
Manual installation ~/Steam/csgo-ds/
When run, the script will 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
Review instructions for detaching from or stopping SteamCMD to exit the CS:GO server.
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 backtick button (`
), or your mapped key. To log in type rcon_password
followed by your password. For more information regarding RCON, click here.
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.
Join our Community
Find answers, ask questions, and help others.
This guide is published under a CC BY-ND 4.0 license.