Launch a Counter Strike: Global Offensive (CS:GO) server on Ubuntu 18.04
Updated by Linode Contributed by Linode
Dedicated CPU instances are available!
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.
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
730as 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.
NoteThis guide is written for a non-root user. Commands that require elevated privileges are prefixed with
sudo. If you’re not familiar with the
sudocommand, 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
steamuser’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>
NoteTo update CS:GO, run the above 4 commands again.
Configure the Server
Create a file called
server.cfgusing 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
The value for
hostnamewill displayed to users that join your server. Replace the values of
rcon_passwordwith two different and unique passwords that you don’t use elsewhere.
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_passwordis the password users will need to enter to join the server.
rcon_passwordis the RCON password, which is used to remotely control the game server from within the game. For an extensive list of
server.cfgoptions, see this page.
Create a startup script for CS:GO with the following snippet. Name the file
startcsgo.shand save it to your
steamuser’s home directory. Set the value of the
YOUR_GSLTvariable at the top to be your game server login token. Set the value of the
CSGO_INSTALL_LOCATIONvariable at the top according to the table below.
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
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.shscript from your
steamuser’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 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.
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.
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
This guide is published under a CC BY-ND 4.0 license.