Counter Strike 1.6

How to Install Counter Strike 1.6 Server, Metamod, AMXmodX, dProto | Linux CentOS (2016)

Counter Strike 1.6 Server. Full installation and 100% working Counter Strike 1.6 server.

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

As we know CS 1.6 is very old game, already 15 years. Nowadays it is very difficult to find a really good and working tutorial how to install 100% working Counter Strike 1.6 server.

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.2 x64 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.

This tutorial is old, i fully recommend to use my new 2017 tutorial. (click here)

You will need access as root or super user to a GNU/Linux Machine, or have the system admin install screen and wget for you. I recommend fresh VPS or Dedicated Server (CentOS 6.X or CentOS 7.X). If you like Debian (Ubuntu) distribution, feel free and use it.

Im using Digital Ocean VPS servers for my game servers. Click here to get your server.

I’m not Counter Strike server installation guru, so, if you think that i’m wrong in an step below, please let me know.

These are the steps needed to install a Counter Strike 1.6 Server:

1. Server Configuration

1.1 The necessary packages:

yum -y update
yum install wget
yum install unzip
yum install vim
yum install screen

1.2 If you running 64 bit server you need to instal 32-bit libraries, if not, please lave this step:

yum -y install glibc.i686
yum install libgcc_s.so.1

2. Create an user for your game server

2.1 Create user:

adduser csserver

2.2 Set password for your new created user “csserver”:

passwd csserver

2.3 When it’s done, login as your new created user “csserver”:

su - csserver

2.4 Next you navigate to your home folder using the cd command:

cd

3. Counter Strike installation

3.1 Now you need to create a directory in which to download steamdcmd and one to install the server in (folder server will be where your server will be installed and the folder steamcmd will hold the installers):

mkdir server ; mkdir steamcmd ; cd steamcmd

3.2 Download and extract the steamcmd Valve tool:

wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

3.3 Updating, downloading and installation:

./steamcmd.sh

3.4 Now you wait until it downloads and installs the updates for SteamCMD and you will be able to see a command line starting with “Steam>”. Once you see this you have to login to the steam server anonymously:

login anonymous

3.5 Once logged in let’s tell the installer where you want the folder to be installed:

force_install_dir /home/csserver/server

3.6 Now it’s time to sit back and relax (or maybe coffee) until the installer (steamcmd) downloads all the server files. To download server files, please enter:

app_update 90 validate

3.7 SteamCMD has a bug related to HLDS games. Make sure you run this command multiple times until you see progress 100.00 and Success! App ’90’ fully installed. If you see Error! App ’90’ state is 0x6 after update job. please enter app_update 90 validate command again. If you see Success! App ’90’ fully installed. then installation is almost done. Congrats! Press CTRL+C to go out from “Steam>”.

4. Install Metamod

4.1 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/server/cstrike
mkdir addons ; cd addons ; mkdir metamod ; cd metamod ; mkdir dlls ; cd dlls

4.2 Make sure than you are in the /home/csserver/server/cstrike/addons/metamod/dlls/. Download and extract metamod-p-1.21p37-linux_i686.tar.gz:

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 plugins.ini:

cd /home/csserver/server/cstrike/addons/metamod
touch plugins.ini

4.4 If it done go back to “cstrike” folder:

cd /home/csserver/server/cstrike

4.5 Edit liblist.gam:

vi liblist.gam

*** “vi” command allow to edit files via terminal SSH. You can use “nano” editor if you don’t like “vi” editor. If you have no idea what is “vi” and what is “nano” or don’t know how to use them, please edit files via your favorite FTP client, it will be much easier for you. If you editing files via FTP please ALWAYS connect from your new created user “csserver” NOT root.

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

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

5. Install AMMmodx

5.1 Download and extract amxmodx:

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/server/cstrike/addons/metamod
vi plugins.ini

5.3 Add the following line:

linux addons/amxmodx/dlls/amxmodx_mm_i386.so

6. Install dProto

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.

6.1 Go to addons directory and create dproto folder:

cd /home/csserver/server/cstrike/addons/
mkdir dproto ; cd dproto

6.2 Download dproto:

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

6.3 Download config file for dproto in the cstrike folder:

cd /home/csserver/server/cstrike
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/server/cstrike/addons/metamod
vi plugins.ini

6.5 Add the following line (after amxmodx):

linux addons/dproto/dproto_i386.so

7. Start Counter Strike server.

7.1 Go to server directory and create new file startserver and chmod it 755:

cd /home/csserver/server
touch startserver
chmod 755 startserver

7.2 Open “startserver” file:

vi startserver

7.3 Put the following line:

#!/bin/bash
screen -A -m -d -S csserver ./hlds_run -console -game cstrike -ip 192.1.1.1 -port 27015 +maxplayers 32 +map de_dust > /dev/null >&1 &
***change ip 192.1.1.1 to your server ip address. IMPORTANT!

7.4 Allow dev to run script:

script /dev/null

7.5 Finally start your server online:

./startserver

7.6 Now open the screen:

screen -r csserver

Now you see whats happens – server is running or not.

Sometimes server is not starting at the first start .. maybe it’s normal because i got the server start error every time when i install new CS 1.6 server. Just press CTRL+C to close screen and then again start server with command “./startserver”. After that enter again “screen -r csserver” and look whats happening. If you see: Connection to Steam servers successful. VAC secure mode is activated. then your server is online and you can try to connect. To close screen press CTRL+A and then CTRL+D.

8. Start CS server on server boot

8.1 Log in as root (su – root) and enter the following:

vi /etc/rc.local

8.2 Put this line in to rc.local:

cd /home/csserver/server && ./startserver

8.3 Chmod rc.local:

chmod +x /etc/rc.d/rc.local

Congratulation your server is almost done!

If you need any help about CS 1.6 installation or configuration, just lave your comment below and i will try to help you.

Peace!

  • Leonardo

    Thank you so much, works like a charm!

  • .

    Excellent tutorial.
    Keep it up!

  • Exe version 1.1.2.7/Stdio (cstrike)
    Exe build: 13:12:29 Aug 29 2013 (6153)
    STEAM Auth Server
    Server IP address 192.168.10.228:27015

    Metamod version 1.21p37 Copyright (c) 2001-2013 Will Day
    Patch: Metamod-P (mm-p) v37 Copyright (c) 2004-2013 Jussi Kivilinna
    Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl’.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `meta gpl’ for details.

    AMX Mod X version 1.8.2 Copyright (c) 2004-2006 AMX Mod X Development Team
    AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl’.
    This is free software and you are welcome to redistribute it under
    certain conditions; type ‘amxx gpl’ for details.

    Version 0.9.391 Linux
    [DPROTO]: Done.
    L 02/12/2016 – 11:34:31: ——– Mapchange to de_dust2 ——–
    [AMXX] Loaded 1 admin from file
    [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    dlopen failed trying to load:
    /home/dust2/.steam/sdk32/steamclient.so
    with error:
    /home/dust2/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
    Looking up breakpad interfaces from steamclient
    Calling BreakpadMiniDumpSystemInit
    FillInMachineIDInfo took a total of 2 milliseconds

    Executing AMX Mod X Configuration File
    Scrolling message displaying frequency: 10:00 minutes
    couldn’t exec listip.cfg
    couldn’t exec banned.cfg
    Menu item 17 added to Menus Front-End: “Plugin Cvars” from plugin “pluginmenu.amxx”
    Menu item 18 added to Menus Front-End: “Plugin Commands” from plugin “pluginmenu.amxx”
    Connection to Steam servers successful.
    VAC secure mode is activated.

    Failed to contact game server
    centos 6.7 x86_64
    any idea about it ?

    • Name Protocol WAN port LAN port Destination
      1200 TCP/UDP 1200 1200 Optiplex (192.168.10.228) [00:1e:c9:75:85:74]
      4380 TCP/UDP 4380 4380 Optiplex (192.168.10.228) [00:1e:c9:75:85:74]
      27016-27039 TCP/UDP 27016-27039 27016-27039 Optiplex (192.168.10.228) [00:1e:c9:75:85:74]
      27000-27015 TCP/UDP 27000-27015 27000-27015 Optiplex (192.168.10.228) [00:1e:c9:75:85:74]

    • server ip: 85.225.159.64

    • naurissteins

      Hi, as we see there are missed some files. If you need i can install for you, just let me know.

    • naurissteins

      P.S no worries, your server must works fine.

  • 192.232.208.188 , server ip can you install for me sir ,
    this is my mail tonystrk619@gmail.com

    • naurissteins

      Hey! Sorry i was off long time. If you still need install the server, please let me know.

  • i did everything you written , but it does not work , i cant connect

    • naurissteins

      Hello. You probably did something wrong. You can contact me via email nauris.steins[at]gmail.com and i will try to help you.

  • Mike

    Hi Nauris,

    Everything worked fine, except that when I connect to the server, I have 120 latency (pretty high).

    Do you have any ideas on how this can be reduced?

    Thanks!!

    • naurissteins

      Hey! Sorry for late reply, i was traveling. Actually no, soory ;/ Did you fix this issue?

  • Виктор Сенников

    Auto-restarting the server on crash

    Console initialized.
    Using breakpad crash handler
    Setting breakpad minidump AppID = 10
    Forcing breakpad minidump interfaces to load
    dlopen failed trying to load:
    /home/csserver/.steam/sdk32/steamclient.so
    with error:
    /home/csserver/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
    Looking up breakpad interfaces from steamclient
    Calling BreakpadMiniDumpSystemInit
    Protocol version 48
    Exe version 1.1.2.7/Stdio (cstrike)
    Exe build: 13:12:29 Aug 29 2013 (6153)
    STEAM Auth Server
    Server IP address

    Metamod version 1.21p37 Copyright (c) 2001-2013 Will Day
    Patch: Metamod-P (mm-p) v37 Copyright (c) 2004-2013 Jussi Kivilinna
    Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl’.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `meta gpl’ for details.

    AMX Mod X version 1.8.2 Copyright (c) 2004-2006 AMX Mod X Development Team
    AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl’.
    This is free software and you are welcome to redistribute it under
    certain conditions; type ‘amxx gpl’ for details.

    Version 0.9.391 Linux
    [DPROTO]: Done.
    L 09/15/2016 – 12:08:56: ——– Mapchange to de_dust2 ——–
    ./hlds_run: line 255: 10698 Ошибка сегментирования $HL_CMD

  • 45llamas

    how to add zombie plague 6.2 to my server?

  • Alex Power

    I need to install HL1 server + saverian mod or bubble mod, can you take an article for this also, please ?

    • Alex Power

      I solve, thanks anyway

  • Emir Buğra KÖKSALAN

    is there a web api for control the server?

  • Hans Gerber

    Stupid question here:

    How do I actually run server commands like kick etc. while the server is running?

  • Alex Power

    How open Terminal LOG after setting script for start CS at boot ? I press again screen -r csserver but not open nothing – it tell me There is no screen to be resumed matching server

    • Naurelijs

      Today or tomorrow i will create better tutorial .. without “screen” and other shits 🙂