It’s possible to host CS:GO on your personal server, which can also lower your ping rate.

With Steam, you can have more control over the game and modify various settings like tick rate, game rules, map pool, plugins, custom skins and many more to make the game more enjoyable.

Want to know how to do this all?

This article covers step-by-step instructions on how to host CS:GO on AWS EC2 Instance.

First step is to choose the server that meets your needs.

For this tutorial, I used the t2.micro instance with 40 GB EBS volume. This was sufficient for me to play a competitive match with my nine other friends.

However, if you plan to host a server for more players, you may want to consider t3a.small, t3a.medium, or higher, depending on your needs.

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 40GB disk is recommended for optimal performance.

Setup CS:GO on Linux(Ubuntu/CentOS)

Launch an EC2 instance using either a CentOS or Ubuntu image. Log in to the server with a root user, then install the libraries that support SteamCMD.

Note: SteamCMD also known as steam console client is a command-line version of steam.

Step 1: Install the necessary library package.

For Ubuntu:

sudo apt-get install lib32gcc1

For CentOS:

yum install glibc.i686 libstdc++.i686

Step 2: Create a separate user steam.

sudo useradd -m steam

Step 3: Switch user to steam

su - steam

Step 4: Create an installation directory.

mkdir ~/Steam && cd ~/Steam

Download and Install SteamCMD

Step 5: Download the latest version of SteamCMD.

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

Step 6: Extract and run SteamCMD.

tar xf steamcmd_linux.tar.gz
./steamcmd.sh

After the update is downloaded from Steam, a prompt similar to the image below will appear. Downloading and Installing SteamCMD In Linux

The updated Steam will then provide you with a command prompt as shown in the example below.

Steam>

Step 7: Login to Steam by typing the following command, replacing “userID” and “password” with your own credentials:

Steam> login <userID> <password>

Alternatively, you can log in as an anonymous user by typing:

Steam> login anonymous

Step 8: Set the installation directory for CS:GO by typing:

force_install_dir ./cs_go/

Step 9: Finally, download and install CS:GO by typing:

app_update 740 validate

This may take some time. Once it’s finished, you should see “Success! App ‘740’ fully installed” on your screen.

Downloading and Installing SteamCMD In Linux

Allow TCP and UDP Ports for CS:GO in Security Group

To connect to the game server, ensure that TCP and UDP ports are open for all players. The default port for a CS:GO server is 27015.

Downloading and Installing SteamCMD In Linux

In my case, I have allowed access to everyone. For security reasons, you can specify particular IPs as needed.

Generate a CS:GO Game Auth Token ID

To host a CS:GO game, you need a Steam Auth Token ID. Your Steam account must meet certain requirements to generate the ID.

You can check the requirements 🔗 and get your Auth Token ID by following the steps in the image below. Downloading and Installing SteamCMD In Linux

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

After following the steps, you will receive an Auth Token ID that looks similar to “X38F6E71A3B8G6FE08354AF5BE078”.

Run CS:GO on Dedicated Server

To run the CS:GO server, you need to execute a command based on the game mode you want to play. Before running the command, ensure that you are inside the cs_go directory.

Here’s an example of the command:

./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

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

Casual = game_mode 0

Competitive = game_mode 1

Deathmatch = game_mode 2

Remember to replace “YOUR AUTH TOKEN” with your own authentication token.

Once you’ve entered the command, you’ll see the public IP of your game server. Downloading and Installing SteamCMD In Linux

Join CS:GO Server

To join a CS:GO server, you can use either of the following methods:

Method 1: Connect through the game console.

  • Launch CS:GO and enable the developer console in the game settings. Downloading and Installing SteamCMD In Linux | sTechalon.com

  • Return to the dashboard and open the console using the ~ key.

  • Type in connect <your-ip-address> to join the server. Downloading and Installing SteamCMD In Linux

Method 2: Add the server IP to your favourites list

  • Launch CS:GO and go to the Community Server Browser. Downloading and Installing SteamCMD In Linux

  • Click on the Favourites tab.

  • Add your server IP to the list and connect to it. Downloading and Installing SteamCMD In Linux

Run CS:GO In Background

If you log out of the server, your game will be disconnected or stopped, and you can’t host the game while logged in forever.

You can use the screen utility in Linux to run processes in the background.

Install on Ubuntu:

sudo apt-get install screen -y

Install on CentOS:

sudo yum install screen -y

Create a new screen session:

screen -R csgo

Run the game:

./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 exit the session while it runs in the background by pressing the keys simultaneously Crtl + a + d

Now you are out of screen session. To see the running background session, type:

screen -ls

You will see output like this:

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

In the above output, 7166 is the ID, and csgo is the name of the screen. To rejoin the detached screen, type:

screen -r 7166

Secure your CS:GO Server with a Hostname and Password

To add a layer of security to your CS:GO server, you can configure a hostname and password. This will ensure that only authorized players can join the game.

First, locate the autoexec.cfg file and open it. Add your desired hostname and password to the file.

To set the hostname, add the following line: hostname “your_hostname_here”

To set the password, add the following line: password “your_password_here” Downloading and Installing SteamCMD In Linux

Save the file and exit.

Next, refresh your favourite list and check the hostname. You should now see the changes you made reflected there. Downloading and Installing SteamCMD In Linux

If you want to customize your CS:GO game further, CS:GO advanced configuration 🔗 article can be a helpful resource.

Change CS:GO Tick Rate

Tick rate refers to the frequency at which the game server updates the game state and sends the information to players.

The higher the tick rate, the more frequently the server updates the game state, resulting in a more accurate representation of player actions and movements.

To change the tick rate in CS:GO, you need to add some commands to the autoexec.cfg file located in csgo/cfg/autoexec.cfg.

Add the following lines to the file:

  • sv_minupdaterate 128
  • sv_mincmdrate 128

This simple step will improve your game performance and make your gameplay experience smoother. For more information on tick rates, you can refer to this article 🔗 .

Update Your CS:GO Dedicated Server

Regular updates are released for CS:GO every week or month, and to keep your server running smoothly, it’s important to update it as well.

To update your CS:GO game on your dedicated server, you need to follow the steps 6 to 9 which involve from running SteamCMD to app update. These steps will guide you through the process of updating your game.

Achieve Low Ping in CS:GO Gameplay

Low ping rate in CS:GO gameplay is crucial for a smooth and enjoyable gaming experience. Here are some tips to help you reduce your ping:

  • Host the game near your AWS Region: Setup a server located near your region to minimize ping. The closer the server is to your location, the lower the ping will be. This is also the most cost-effective setup you can choose.
  • Use AWS Global Accelerator: AWS Global Accelerator can significantly reduce ping rates, but it can be expensive depending on your data transfer.
  • Use a VPN: A VPN can help you reduce your ping by selecting a server location that is closer to the game server.

By implementing these tips, you can significantly reduce your ping and enjoy a lag-free CS:GO gameplay experience.

Wrapping Up - How to Host a CS:GO Dedicated Server

Congratulations! You have successfully set up your own CS:GO server on a personal dedicated server. In this guide, we covered everything you need to know to get started with hosting a CS:GO server, from installing and configuring the server to updating it and optimizing gameplay.

If you have any questions or concerns, please don’t hesitate to leave a comment below.

Thanks for reading and happy gaming!

-Alon