In this guide i will show you how to install full working Counter Strike 1.6 server on Linux machine.
This is my new and much more better tutorial how to install Counter Strike 1.6 server. If you have any issues with installation, please drop a comment below.
Please read and do everything carefully! Following this guide i’ve installed many working servers.
In this post I will guide you through all the steps on how to install a hybrid Counter Strike 1.6 server on a Linux powered server (CenOS 7.3 x64 and Ubuntu 16.10 server in my case). A hybrid Counter Strike 1.6 server is a Counter Strike 1.6 game server that allows Steam clients (legit Steam accounts) and non Steam clients (non Steam game clients) as well as owners of old game clients with the game protocol version 47 to enter your server and play.
You will need access as root or super user to a GNU/Linux Machine. I recommend clean VPS or Dedicated Server (CentOS 7.3 or Ubuntu 16.10).
Counter Strike 1.6 Server Installation
These are the steps needed to install a Counter Strike CS 1.6 Server on CentOS 7
1.1 Install EPEL Repository
yum install epel-release
1.2 Update server
yum -y update
1.4. Install required dependencies
## 64bit ##
yum install mailx postfix curl gzip bzip2 unzip python file tmux glibc.i686 libstdc++ libstdc++.i686
## 32bit ##
yum install mailx postfix curl gzip bzip2 unzip python file tmux libstdc++
1.5 Open a UDP port in the firewall
Out of the box, enterprise Linux distributions such as CentOS or RHEL come with a powerful firewall built-in, and their default firewall rules are pretty restrictive. By default in Counter Strike config file are added 27015 port, so i will only open this port. Lave this step if you want to stay on IP tables.
systemctl start firewalld
sudo firewall-cmd --zone=public --add-port=27015/udp --permanent
sudo firewall-cmd --reload
These are the steps needed to install a Counter Strike CS 1.6 Server on Ubuntu 16.10:
1.1 Add i386 architecture (skip this step if you running on 32 bit)
sudo dpkg --add-architecture i386
1.2 Update server
sudo apt-get update
1.3 Install required dependencies
## 64bit ##
sudo apt-get install mailutils postfix curl file bzip2 gzip unzip bsdmainutils python util-linux tmux lib32gcc1 libstdc++6 libstdc++6:i386
## 32bit ##
sudo apt-get install mailutils postfix curl file bzip2 gzip unzip bsdmainutils python util-linux tmux libstdc++6
Create an user
2.1 Create user
2.2 Set password for your new created user “csserver”
2.3 Login as your new created user “csserver”
su - csserver
CS 1.6 script installation
3.1 Download the script
wget -N --no-check-certificate https://gameservermanagers.com/dl/linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
3.3 Run the installer and follow the instructions
3.4 Add your server IP adress ip=”your.server.ip.address” (~30 line)
4.1 Create directories for Metamod
Let’s start with metamod. Metamod is a plugin interface for Half-Life modifications that is located between the Half-Life game engine and a Half-Life mod, providing the dynamic loading and unloading of DLL plugins to add or remove extra functions to or from the game server.
mkdir addons ; cd addons ; mkdir metamod ; cd metamod ; mkdir dlls ; cd dlls
4.2 Download and extract Metamod plugin
tar -zxvf metamod-p-1.21p37-linux_i686.tar.gz
4.3 Create new plugins.ini file
4.4 Open liblist.gam
4.5 Replace gamedll_linux “dlls/cs.so” line to: (and remove gamedll_osx and gamedll lines)
AMX Mod X Installation
5.1 Download and extract amxmodx base and amxmodx cstrike:
AMX Mod X is a versatile Half-Life metamod plugin which is targetted toward server administration. It has a wide array of scripting capabilities so people can write “plugins”, or files which add on to a mod’s functionality.Plugins can take form in administrative services (adding new admin commands), statistics generation (StatsX), fun additions (godmode, etc), gameplay changes (WC3, CSDM), and much, much more!
tar xzvf amxmodx-1.8.2-base-linux.tar.gz
tar xzvf amxmodx-1.8.2-cstrike-linux.tar.gz
5.2 Tell metamod about amxmodx which is easily done by editing the plugins.ini file
5.3 Add the following line
6.1 Go to addons directory and create dproto folder
dProto is a plugin for metamod that allows protocol 47 and 48 no-steam clients to join the server. Remember, this is illegal plugin. If you want to see only official Steam clients to your server, please leave this six point step.
mkdir dproto ; cd dproto
6.2 Download and unzip dProto
6.3 Download and unzip config file for dProto
6.4 Tell metamod about dproto which is easily done by editing the plugins.ini file
6.5 Add the following line (after amxmodx)
Start CS 1.6 Server
7.1 Start server
7.2 Start CS server on VPS server boot: Log in as root (su – root)
After a reboot, a gameserver that was started (even crashed) will be started back.
7.3 Open cronjob
7.4 Add the following line to the cronjob
*/3 * * * * su - csserver -c '/home/csserver/csserver monitor' > /dev/null 2>&1
Congratulation your server is almost done!
A complete list of commands can be found by typing ./csserver
Console allows you to view the live console of a server as it is running and allow you to enter commands; if supported. To exit the console press “CTRL+b d”.
Update checks for any server updates and applys them. The server will update and restart only if required.
Bypass the check and go straight to SteamCMD update:
You can use the validate option when updating the server.
You can get all important and useful info about the server such as passwords, ports, config files etc. more info…
Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.
Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server
Backup will allow you to create a complete gzip archive of the whole server.
LGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.