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.
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.
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.
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.
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.
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.
Return to the dashboard and open the console using the
~
key.Type in
connect <your-ip-address>
to join the server.
Method 2: Add the server IP to your favourites list
Launch CS:GO and go to the Community Server Browser.
Click on the Favourites tab.
Add your server IP to the list and connect to it.
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”
Save the file and exit.
Next, refresh your favourite list and check the hostname. You should now see the changes you made reflected there.
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