How to Host Counter Strike: Global Offensive (CS:GO) On Personal Dedicated Server (Ubuntu/CentOS)

Alon Shrestha » 28 Nov 2020 » linux, gaming

I have played CS:GO on a lower than 5 ping rate. Do you believe it?

Yes it’s possible when you run the game on a personal server.

Steam allows you to host CS:GO on a personal server by modifying settings like tick rate, number of players, base map, game rules, etc.

Moreover, the best hack I enjoy is; you can download and use awesome skins on weapons.

You can enjoy it as well by following this article.

This page shows you how to host CS:GO on a personal dedicated linux server.


How To Host CS:GO Dedicated Server

Table Of Content


First we need a server.

I had used the EC2 t2.micro server from AWS that has 1 GB RAM, 1 CPU, and 40 GB disk space.

This specification was enough for me to play a competitive match including me with my 9 other friends.

However, if you are planning to build a server for more players, It will be better if you choose at least 2GB of RAM or higher.

CS:GO Server System Requirements

  • RAM: 2 GB Minimum - 4 GB Maximum
  • CPUs: 2 Minimum
  • Disk Space: 40 GB (Recommended)
  • Bandwidth: Unlimited (Recommended)
  • Operating System: Linux (CentOS, Ubuntu)

Usually, CS:GO can be installed in 15 - 20 GB disk space but due to frequent game updates and space used by OS(Operating System), 40 GB is recommended.


Affordable Hosting For CS:GO Server

I spent a lot of time searching on the internet to find an affordable server and found this.

Affordable Hosting For CS:GO Server

  • RAM: 2 GB
  • Disk Space: 40 GB
  • Bandwidth: 2 TB
  • 30 days money back guarantee.

Hostinger is the top pick web host provider for many people because of its affordable price and reliable service.

Visit 👉 www.hostinger.com


Setup CS:GO Environment In Ubuntu/CentOS Server

First, login to the server with a root user account then install the libraries that support steamCMD.

SteamCMD also known as steam console client which is a command-line version of steam client. It allows the installation and upgrade of a dedicated server.

Step 1: Install library package

Ubuntu

sudo apt-get install lib32gcc1

CentOS

yum install glibc.i686 libstdc++.i686

Step 2: Create a seperate user “steam” for running CS:GO.

sudo useradd -m steam

Switch user to “steam”

su - steam

Step 3:Create an installation path directory where we will download SteamCMD.

mkdir ~ / Steam && cd ~ / Steam

Downloading and Installing SteamCMD

Step 4: Download the latest version of SteamCMD.

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

Step 5: Extract the downloaded file.

tar xf steamcmd_linux.tar.gz

Step 6: Run SteamCMD script file.

./steamcmd.sh

This file will download the update from steam which looks like

Downloading and Installing SteamCMD In Linux | sTechalon.com
After that, the updated steam will provide you the cmd prompt as shown below.

Steam>

Step 7: Login using a steam account here.

Steam> login <userID> <password>

Replace your userID and password with your steam credential.

Note: You can also login as an anonymous user.(Recommended)

Steam> login anonymous

Step 8: Set your CS:GO dedicated server install directory.

force_install_dir ./cs_go/

Step 9: Finally, download and install CS:GO on the server.

app_update 740 validate

You will see “Success! App ‘740’ fully installed” as below.

Note: This will take some time to complete.

Downloading and Installing SteamCMD In Linux | sTechalon.com

Enable TCP and UDP Ports on Server

In order to connect the game server, TCP and UDP ports should be allowed to all the players from the server. Downloading and Installing SteamCMD In Linux | sTechalon.com

You can find this option in your network setting. If you are unable to do this, contact your hosting provider for help.

Note: This is optional if your server's firewall is disabled or it accepts all network protocols. However, make sure to confirm it.

Register CS:GO Game Auth Token ID

In order to run the game, you need your steam token ID. Without a token ID, you won’t be able to host a game.

Your steam account should be qualified for generating token ID.

Check here for the requirements and get your token ID.

Follow below picture to generate your auth token ID. Downloading and Installing SteamCMD In Linux | sTechalon.com

The appID 740 is the registered ID for Counter-Strike: Global Offensive dedicated server, whereas appID 730 is the official game ID.

You will generate a token ID similar to this X38F6E71A3B8G6FE08354AF5BE078.


Run CS:GO

A command should be entered on the server inorder to run the game.

There are specific commands to run games in different modes

This means you have to enter individual commands to run Causal, Competitive, and Deathmatch Mode.

Command Example:

./srcds_run -game csgo -console -usercon + game_type 0 + game_mode 0 + mapgroup mg_active + map de_dust2 + sv_setsteamaccount X38F6E71E4FA3B8G6FE08354AF5BE078 THISGSLTHERE -net_port_try

For different modes, you need to change the game_mode value.

Casual = game_mode 0

Competitive = game_mode 1

Deathmatch = game_mode 2

Note: Remember, you should be inside the cs_go directory before you run the command.

Replace “YOUR AUTH TOKEN” in the below command and enter.

CASUAL GAME MODE

./srcds_run -game csgo -console -usercon + game_type 0 + game_mode 0 + mapgroup mg_active + map de_dust2 + sv_setsteamaccount YOUR AUTH TOKEN THISGSLTHERE -net_port_try

COMPETITIVE GAME MODE

./srcds_run -game csgo -console -usercon + game_type 0 + game_mode 1 + mapgroup mg_active + map de_dust2 + sv_setsteamaccount  YOUR AUTH TOKEN THISGSLTHERE -net_port_try

DEATHMATCH GAME MODE

./srcds_run -game csgo -console -usercon + game_type 1 + game_mode 2 + mapgroup mg_allclassic + map de_dust + sv_setsteamaccount YOUR AUTH TOKEN THISGSLTHERE -net_port_try

You will see the public IP of your game server after entering the above command. Downloading and Installing SteamCMD In Linux | sTechalon.com


Join CS:GO Server

Launch the steam application on your PC and open CS:GO.

There are two ways you can join the game server.

First, connect through the game console.

For that enable the developer console. Downloading and Installing SteamCMD In Linux | sTechalon.com

Now, go back to the dashboard and open the console using “~” keyword and type “connect < your-ip-address >”. Downloading and Installing SteamCMD In Linux | sTechalon.com

Second, adding server IP to your favorite list.

For that, go to the Community Server Browser.

Click on the favourite tab. Downloading and Installing SteamCMD In Linux | sTechalon.com

Add your server IP and connect it. Downloading and Installing SteamCMD In Linux | sTechalon.com


Run CS:GO In Background Session

Your game will be disconnected or stopped when you log out from the server.

It is not possible to host the game logged in 24x7 on the server.

Therefore, we will host the game in a background session. So that the game won’t stop even if you logged out from the server.

For that, we will install a screen application on the server.

Install Screen In Ubuntu

sudo apt-get install screen -y

Install Screen In CentOS

sudo yum install screen -y

After installation, create a new session named “csgo” by typing:

screen -R csgo

Now run the game host command. In my case, I am running competitive game mode.

./srcds_run -game csgo -console -usercon + game_type 0 + game_mode 1 + mapgroup mg_active + map de_dust2 + sv_setsteamaccount  YOUR AUTH TOKEN THISGSLTHERE -net_port_try

When the game is hosted successfully, you can detach the screen session by pressing the keys at the same time.

Crtl + a + d

Now you are out of that session. To see the running background session type

screen -ls

You will get the output like this:

There is a screen on:
    7166.csgo    (Detached)
1 Socket in /run/screen/S-stechalon.

Where 7166 is the screen ID and csgo is the name of the screen.

To rejoin the detached screen type:

screen -r 7166

Set Hostname and Password in CS:GO Server

In this section, we will configure the server’s hostname and password. This adds security to the server.

Edit the autoexec.cfg file and add your hostname and password that you want. Downloading and Installing SteamCMD In Linux | sTechalon.com

Refresh your favorite list and check the Hostname. You will see the changes as mine as shown below. Downloading and Installing SteamCMD In Linux | sTechalon.com

This “CS:GO advanced configuration” article can be helpful for you in order to customize the game.


Change CS:GO Tick Rate

Tick rate collects the information of incoming player data and events which help to calculate the performance of the game and send data to players.

This allows players for better game performance. You can get more knowledge about the tick rates here.

You can change the tick rate of the game simply, adding some commands in the autoexec.cfg file.

Edit the file located in csgo/cfg/autoexec.cfg and add the following line.

sv_minupdaterate 128
sv_mincmdrate 128

How to Update CS:GO On The Dedicated Server

Usually, CS:GO provides updates every week or in a month. In this case, you can’t run the game on the server without updating it.

To update the game, run the command from above steps 6 to 9.


Low Ping CS:GO Gameplay

The best way to get the lowest ping is by hosting the game near to your region. Additionally, try to get a server from a well-known hosting provider.

You can also use a VPN and select the region where the game is hosted to reduce the ping rate.


Conclusion

Well, we have come to the end of this guide.

I have tried my best to cover the topics on how to host a CS:GO on a personal dedicated server.

I hope you were able to set up your server.

If there are any queries you have please let me know in the comment below.

GG 🤘🤘.