How to Make a Counter-Strike: Global Offensive Server on Linux (Manually and With Game Panel)
Starting a CS:GO server gives you more customization and better game performance. While it may seem complicated, you can start one in under 15 minutes with the right tools.
In this tutorial, we’ll explain how to make a Counter-Strike: Global Offensive server on a Linux system. We’ll explore two methods – using Hostinger’s Game Panel on a virtual private server (VPS) and manually with a local machine.
Before getting into the steps, you will learn the benefits of starting a private CS:GO server and the custom game modes you can create.
Why Start CS:GO Server
The unique gameplay of Counter-Strike: Global Offensive relies on an internet connection to fully function. Although playing offline is possible, the online version delivers more competition and excitement.
For the best online gaming experience, consider using a VPS hosting service to start a personal CS:GO server. It offers various benefits, including the ability to enable custom game modes.
Benefits of Running a Personal CS:GO Server
Running a custom personal CS:GO server grants you full control over the game. You can add new maps, create custom game modes, customize the server with updates, and easily manage the players.
Server owners can allow specific players and ban those violating the community rules. Moreover, you can choose a server closest to these players to reduce network latency, ensuring smooth gameplay.
Therefore, pick a web hosting provider with multiple server locations worldwide. For example, Hostinger has 10 data centers across multiple countries, including the USA, India, and Brazil.
CS:GO Custom Game Modes
A private server lets you create custom game modes with various customization options. Some of the most popular custom CS:GO server game modes include:
- Deathmatch – a 10-minute, free-for-all mode with random respawn points. The player with the most kills after the time runs out wins.
- Arms race – players race to upgrade their weapons as fast as possible by eliminating other users. The team whose member gets a frag using the final weapon wins.
- Casual – a team battle mode on various maps with limited money and no respawn. This mode is best for skill and teamwork training.
- Demolition – players spawn on small bomb site maps with limited inventory. They can only unlock new weapons by defeating enemies.
- Hide and seek – the counter-terrorist team aims to find where the terrorists are hiding without any weapon. Hide-and-seek maps usually have secret hiding spots, like doorways, walls, and crevices.
- Bunnyhop – bunnyhop is a jumping method that preserves the player’s airborne speed, allowing them to accelerate quickly. Bunnyhop maps in CS:GO are jump courses the players must finish quickly.
- Surf – surfing in CS:GO is a technique that accelerates players when they hug steep angles quickly. Similar to bunnyhop, players race with others to complete the course.
- Kreedz Climbing (KZ) – players must quickly complete a vertical obstacle course. This mode requires mastering bunnyhop and long jumping mechanics.
- Flying scout – players receive a Scout sniper rifle and a knife to eliminate opposing players. However, the map has a reduced gravity that makes them hover around.
Pro Tip
Enjoy having more control over your games? Learn how to make a Minecraft server using Hostinger’s Minecraft hosting services.
How to Start a CS:GO Server Using Game Panel
Using our Game Panel on a VPS is the simplest way to start a CS:GO server. To do so, follow the steps below:
1. Get a VPS for the CS:GO Server
The easiest way to start a game server is to purchase a VPS plan from a hosting provider like Hostinger. You can also configure a personal computer as a server, but it requires more time and effort.
Hostinger’s three Minecraft Server Hosting plans also support other games, including CS:GO. Starting at $6.99/month, they provide various features, including:
- Plenty of server resources – provides up to 16 GB RAM and 4 vCPU. It’s more than sufficient based on the recommended specifications.
- DDoS protection – protects your server from distributed denial-of-service (DDoS) attacks, which can harm performance and uptime.
- Automatic off-site backup – regularly backups your files for easy restoration in case of accidents or cyber-attacks.
- Game Panel – various tools and a graphical user interface (GUI) help simplify CS:GO server administration and control.
After choosing a plan, click Add to Cart and finish the checkout process. Then, navigate to hPanel → VPS and click Setup next to your new plan. Enter your server name, add a root password, and select your preferred data center location.
Once set, click your VPS game hosting plan and navigate to the Panel access tab. Click the URL and enter your login information.
2. Create a New CS:GO Instance
On the Game Panel dashboard, click on Create Instance. Select CS:GO and hit Create Instance again.
Wait until the components finish downloading and installing. Once done, click on the Manage button.
3. Configure CS:GO Server Settings
After setting the Game Panel instance, follow these steps to create and configure your Counter-Strike: Global Offensive server:
- Open Steam’s server account management page to create an account for the game server.
- Log in to your Steam account.
- Enter 730 as the App ID of the base game.
- Enter a memo. It is a text stored in your account for reminders or notes.
- Click Create.
- Copy your Game Server Account Token (GSLT) from the Login Token tab. Paste it into a text editor.
- Return to Game Panel for CS:GO server management. Navigate to Configuration → Source Server Settings.
- Set your preferred settings, enter the game server login token, and complete the settings.
Pro Tip
If you don’t see the Source Server Settings option, ensure the server instance is open.
4. Restart the CS:GO Server
Restart the server to finish the configuration process and allow players to join. To do so, follow these steps:
- Navigate to Game Panel → CS:GO Instance.
- Click Manage, then Restart.
- Wait until the server reboots. Then, copy the Endpoint IP to connect to the server.
Connect via the community server browser or enter the endpoint into the Steam client and press Connect. Alternatively, follow these steps to connect using the game’s console.
- Launch CS:GO.
- Open Settings → Game Settings.
- Locate and change enable developer console to Yes.
- Return to the main menu and press ~ to open the console.
- Enter the following command:
connect IP port
How to Make a Counter-Strike Global Offensive Server Manually
Alternatively, create a CS:GO virtual private server manually. We will use Ubuntu 20.04 Linux server with PuTTY to execute SSH commands.
If you are unfamiliar with the operating system, take some time to learn essential Linux commands first.
1. Install Pre-Depends
Install the lib32gcc1 runtime library to ensure your system is compatible with all software used in later steps. To download and install the package, open Terminal and enter the following command:
apt-get install lib32gcc1
Wait until the installation process is complete. Remember that for other Linux distributions, the command may be different.
2. Download and Install SteamCMD
To configure the server, you must install SteamCMD – the command-line version of the Steam client. Since using the root privileges may cause issues, create a new user account with this command:
useradd -m steam
Once the account is created, follow these steps to download SteamCMD:
- Log in as a Steam user using this command:
su - steam
- Create and enter the Steam directory with the following command:
mkdir ~/Steam && cd ~/Steam
- Enter the wget command with SteamCMD’s download link:
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
- Run the tar command to extract the file:
tar xf steamcmd_linux.tar.gz
- Enter this command to run the program:
./steamcmd.sh
3. Use SteamCMD to Download Server Files
After installing SteamCMD, you should see a Steam prompt:
Steam>
It means your SteamCMD is running, and you can start installing the server. To do so, follow these steps:
- Enter this command and set the installation folder name:
force_install_dir ./cs_go/
- Run the following command to log in to your Steam account:
login <username> <password>
- Install and validate the server files. In this case, 740 is Counter-Strike: Global Offensive’s dedicated server ID:
app_update 740 validate
- Open Steam’s server management page to create a server account. Now, type 730 for the App ID.
4. Start Your CS:GO Server
Running CS:GO server using SteamCMD requires different commands depending on the game modes. To run the commands, go to the cs_go directory using this command:
cd cs_go
Then, use the srcds_run application to start the server. While the commands vary, it has the same syntax:
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_mpgroup +map de_mapname +sv_setsteamaccount YourLoginToken -net_port_try 1
Here are the parameters you can change and their function:
- +game_type 0 – defines the game type. The value ranges from 0 to 6.
- +game_mode 1 – sets the game mode. It takes 0 to 3 as the value. Refer to the game type and mode value pair to learn more about it.
- +mapgroup mg_mpgroup – specifies which map group to use.
- +map de_mapname – determines which map to load.
- YourLoginToken – retrieves your game server login token for connection. Replace it with your token.
Connect using the server IP address and 27015 as the port. To configure the server settings, modify the files inside the ~/Steam/cs_go/csgo/cfg directory.
Conclusion
Playing CS:GO with friends on a private server offers more customization and performance to ensure the best gameplay experience. There are two methods to create a CS:GO server on Linux – using a VPS or manually.
Setting up VPS for a CS:GO server is the easiest and quickest method. Purchase a plan from Hostinger, then use Game Panel to easily start and manage your server.
Conversely, creating a CS:GO server manually on Linux involves coding for installation and configuration. Since both work similarly, pick one that best suits your needs.
Discover What Other Types of Servers You Can Set Up With VPS Hosting
How to Make a TeamSpeak Server
How to Make a Minecraft Server
How to Set Up a Linux VPN Server
How to Make a Counter-Strike Global Offensive Server FAQ
In this section, we will answer several common questions about Counter-Strike: Global Offensive server installation.
How Long Does It Take To Set up a Linux CS:GO Server?
Depending on your method, the Linux CS:GO server setup may take around 15 minutes. A GUI application like Game Panel makes the process quicker as you don’t need to write commands. Also, consider your internet speed since a slow connection will prolong the download time.
Can I Play CS:GO Offline on My Own Server?
Yes, you can create a local server and connect to it to start playing. Although you don’t need internet access, you must connect to a local network through LAN or WiFi.
What Game Modes Are Available in CS:GO Server Configuration?
CS:GO servers support over 10 official game modes, including deathmatch, arms race, casual, and competitive. In addition, users can set up custom modes to create a bunnyhop or surfing server.
Can I Customize the CS:GO Server Settings to My Preferences?
Yes, customizing CS:GO server settings let you adjust the game according to your preferences. For example, you can modify your server name, number of players, game mode, maps, and cheat permissions. You can also change the settings for CS:GO server performance optimization, such as adjusting the tick rate.
Comments
December 07 2017
2GB of space? You mean like 30GB! I first tried with a 20GB VM and it gave me an error that it was full! The cs:go server files are 16GB by themselves, and that's without extras.
April 16 2020
Got the resolution: lib32stdc++6 is needed, install it with: apt-get install lib32stdc++6
May 21 2022
i have this error metamod/bin/linux64/server.so: wrong ELF class: ELFCLASS64
May 24 2022
Hi there! I'd suggest to try running this command in the first step; it seems like you might be missing lib32stdc++6:
apt-get install lib32gcc1 lib32stdc++6
Let me know how it goes 😊