How To Host Counter-Strike: Global Offensive Server on Ubuntu
Counter-Strike: Global Offensive, popularly known as CS: GO, is one of the most popular games. Released in 1999, the game involves two teams where the Terrorist team tries to plant explosives whereas the Counter-Terrorists team tries to prevent it.
After nearly 21 years of its launch, the game still has millions of active players worldwide. According to Statista, CS: GO had 24 million active users in February 2020. The game is also played in eSports, where professional CS: GO teams such as Cloud9, G2, and NaVi take part to win the trophy.
So it’s not just a game but can also be a professional if you’re good at it. There are hundreds of streamers on Twitch who have a large number of subscribers.
CS: GO Servers
CS: GO is an online competitive game. It’s played between two teams, and both teams need to be connected to the game’s servers to play it.
Official servers
Counter-Strike’s official servers are hosted by Valve, the company behind the game. These official servers have a set of rules that every player must obey. But that’s not fun. Right? Well, there are community servers.
Community servers
Individuals host community servers. Any community server can be set up to play official competitive matches or custom games entirely designed by the community member(s). The host can set their own set of rules to make it more fun for their community.
In this article, I will walk you through how to set up a CS: GO server. A place where your friends can have more fun without so many restrictions or rules.
How to host CS: GO server?
Make a CS: GO Server
Prerequisites
- Fresh Ubuntu (another) installation
- Steam account (Not vac banned or restricted)
In this article, I am using Ubuntu 20.04 LTS. I have a steam account that’s not banned or restricted. So I am good to go now.
For a great gaming experience, make sure your gaming server is close to your location. Now ssh
into your server and start the setup.
Step 1. Update operating system
sudo apt update
Step 2. Create a new user
For security purposes, we will not be using root to set up our gaming server. We can create a new user account and grant it privileges to perform the required actions.
adduser username
Note
Replace username with the username you wish you create
Next, add the user to the sudo
group to perform administrative tasks.
usermod -aG sudo username
Now login to the newly created user. You can log in using ssh
or switch using right from the command line –
login username
It’ll ask the user’s password. Enter the password to continue.
Now we’ll install SteamCMD, a command-line tool to set up and manage our CS: GO server.
Step 3. Install SteamCMD
Install Dependencies
sudo apt install lib32gcc1 lib32stdc++6
Make sure to install the above dependencies before SteamCMD.
mkdir steamcmd && cd steamcmd
Now download SteamCMD.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
The above command will download the archive of SteamCMD files & extract them. To run the Steam command line, execute the steamcmd.sh
file.
./steamcmd.sh
It will log you into the steam command line. From here, we can use commands to make the connection between the steam and our server. Once our server is authorized, we can open our server to the rest of the world.
First login using your steam account. Do not get confused with the server’s username.
login steam_username
Once authenticated, you are ready to install CS: GO server.
If needed, you can change the server’s installation directory using force_install_dir command.
force_install_dir /path/to/csgo-server
Finally, install the CS: GO server.
app_update 740 validate
The installation will take some time. It’ll download the server and validate all the files.
Once done, you can quit the command line using quit
command.
And that’s almost it! If you want to play the game on LAN, we’re done here. The following command will launch a casual game in de_dust2 map.
/path_to_csgo_installation/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2
Step 4. Make a public CS: GO server
As I said, we’re almost done here. We installed and started our first CS: GO match in the last step, but it was only meant to play on a LAN network. To make this server public, we need to gain a Steam Game Server Login Token or GSLT.
Open the web browser and log in to your steam account. Now visit Steam game server account management.
Here we can create a game server account. Enter the app ID of the game (730 for CS: GO) and Memo to create a token. Copy the token and move to the next step.
Now run the same command that we ran to start the server with an additional option +sv_setsteamaccount and token.
/path_to_csgo/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_mirage +sv_setsteamaccount token
Note
In the above command, replace the token with the token created above in step 4.
That’s it! If every step was performed correctly, the server should start a casual game on the de_mirage map, but this time, the game can be joined by anyone with the server’s IP address.
Open the CS: GO game, open console, and type the following command to join this server –
connect ip_address:port