How to Install Counter Strike Condition Zero Server, Metamod, AMXmodX, dProto | Linux (2017)

How to Install Counter Strike Condition Zero Server on CentOS 7.3 and Ubuntu 16.10.

Counter Strike Condition Zero Server. Full installation and 100% working Condition Zero Server.

Please read and do everything carefully! Following this guide i’ve installed many working servers.

In this tutorial I will guide you through all the steps on how to install a hybrid Counter Strike Condition Zero server on a Linux powered server (CenOS 7.3 x64 and Ubuntu 16.10 servers in my case). A hybrid Counter Strike Condition Zero server is a Counter Strike Condition Zero 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).

CentOS

These are the steps needed to install a Counter Strike CS 1.6 Server on CentOS 7

Server Update


1.1 Update server

yum -y update

1.2 Install EPEL Repository

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-latest-7*.rpm

1.3 Verify EPEL Repo

yum repolist

1.4. Install required dependencies

## 64bit ##
yum install mailx postfix curl gzip bzip2 unzip python tmux glibc.i686 libstdc++ libstdc++.i686
## 32bit ##
yum install mailx postfix curl gzip bzip2 unzip python 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

Ubuntu

These are the steps needed to install a Counter Strike CS 1.6 Server on Ubuntu 16.10:

Server Update


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

adduser csserver

2.2 Set password for your new created user “csserver”

passwd csserver

2.3 Login as your new created user “csserver”

su - csserver

Condition Zero script installation


3.1 Download the script

wget https://gameservermanagers.com/dl/csczserver

3.2 Make it executable

chmod +x csczserver

3.3 Run the installer and follow the instructions

./csczserver install

3.4 Add your server IP adress ip=”your.server.ip.address” (~30 line)

vi /home/csserver/csczserver

Metamod installation


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.

cd /home/csserver/serverfiles/czero
mkdir addons ; cd addons ; mkdir metamod ; cd metamod ; mkdir dlls ; cd dlls

4.2 Download and extract Metamod plugin

wget https://files.nscodes.com/cs16/metamod-p-1.21p37-linux_i686.tar.gz
tar -zxvf metamod-p-1.21p37-linux_i686.tar.gz

4.3 Create new plugins.ini file

cd /home/csserver/serverfiles/czero/addons/metamod
touch plugins.ini

4.4 Open liblist.gam

cd /home/csserver/serverfiles/czero
vi liblist.gam

4.5 Replace gamedll_linux “dlls/cs.so” line to: (and remove gamedll_osx and gamedll lines)

gamedll_linux "addons/metamod/dlls/metamod.so"


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!

wget https://files.nscodes.com/cs16/amxmodx-1.8.2-base-linux.tar.gz
tar xzvf amxmodx-1.8.2-base-linux.tar.gz

wget https://files.nscodes.com/cs16/amxmodx-1.8.2-cstrike-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

cd /home/csserver/serverfiles/czero/addons/metamod
vi plugins.ini

5.3 Add the following line

linux addons/amxmodx/dlls/amxmodx_mm_i386.so

dProto installation


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.

cd /home/csserver/serverfiles/czero/addons/
mkdir dproto ; cd dproto

6.2 Download and unzip dProto

wget https://files.nscodes.com/cs16/dproto_i386.zip
unzip dproto_i386.zip

6.3 Download and unzip config file for dProto

cd /home/csserver/serverfiles/czero
wget https://files.nscodes.com/cs16/dproto.zip
unzip dproto.zip

6.4 Tell metamod about dproto which is easily done by editing the plugins.ini file

cd /home/csserver/serverfiles/czero/addons/metamod
vi plugins.ini

6.5 Add the following line (after amxmodx)

linux addons/dproto/dproto_i386.so

Start CS:CZ Server


7.1 Start server

cd
./csczserver start

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

rontab -e

7.4 Add the following line to the cronjob

*/3 * * * * su - csserver -c '/home/csserver/csczserver monitor' > /dev/null 2>&1

Congratulation your server is almost done!


A complete list of commands can be found by typing ./csczserver


Start server:

./csczserver start

Stop server:

./csczserver stop

Restart server:

./csczserver restart

Consule:

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

./csczserver console

Update server:

Update checks for any server updates and applys them. The server will update and restart only if required.

./csczserver update

Bypass the check and go straight to SteamCMD update:

./csczserver force-update

Validate:

You can use the validate option when updating the server.

./csczserver validate

Details:

You can get all important and useful info about the server such as passwords, ports, config files etc. more info…

./csczserver details

Debug:

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.

./csczserver debug

Logs:

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server

/home/csserver/logs

Backup:

Backup will allow you to create a complete gzip archive of the whole server.

./csczserver backup

Monitor:

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.

./csczserver monitor

Peace!