CS 1.6 ReHLDS Server on Linux: Working Install Guide

Last updated: May 4, 2026

This guide covers two methods for setting up a CS 1.6 ReHLDS server on Linux — an automated installer script (fastest, recommended for most users) and a manual installation for those who need full control. Both methods produce a working server with ReHLDS, ReGameDLL, MetamodR, AMX Mod X, and Reunion for Non-Steam client support. For server configuration after installation, see CS 1.6 server.cfg optimization.

Server Requirements

Component Minimum Recommended
OS Ubuntu 20.04, Debian 10, CentOS 7 Ubuntu 22.04 LTS, Debian 12, AlmaLinux 8/9
RAM 128 MB (server only) 1 GB+ (with plugins and 32 players)
CPU 1 core, 1 GHz 2+ cores, 2 GHz
Disk 2 GB 5 GB (maps, demos, logs)
Network 10 Mbps 100 Mbps dedicated
Access Root or sudo Root

Open UDP port 27015 in your firewall before starting. Players connect to this port. RCON uses TCP 27015.

ReHLDS vs HLDS

ReHLDS is a reverse-engineered, open-source replacement for Valve’s original HLDS engine. It is fully compatible with CS 1.6 clients but adds significant improvements:

Feature HLDS ReHLDS
Performance Original Valve binary Optimized, lower CPU usage
Anti-crash Basic Improved crash handling and recovery
ReGameDLL support No Yes — enables sv_maxvelocity, sv_unlag improvements
Plugin compatibility Standard Extended API for modern AMXX plugins
Active development Abandoned Community maintained, regular updates

Method 1: Automated Installer (Recommended)

The ReHLDS installer script downloads and configures everything automatically — ReHLDS, ReGameDLL, MetamodR, AMX Mod X, and Reunion. This is the fastest and most reliable method for Ubuntu and Debian.

  1. Connect to your server via SSH:
    ssh root@YOUR_SERVER_IP
  2. Navigate to root directory:
    cd /root/
  3. Download the installer script:
    wget https://raw.githubusercontent.com/lukasenka/rehlds-installer/main/rehlds.sh
  4. Make it executable and run:
    chmod +x rehlds.sh
    bash rehlds.sh
  5. Follow the prompts — the installer asks for server name, RCON password, max players, and map. It then downloads and configures all components automatically.
  6. Server files location after installation:
    /root/ReHLDS/

After installation, edit your launch parameters in /root/ReHLDS/start_line.sh and your server configuration in /root/ReHLDS/cstrike/server.cfg.

Method 2: Manual Installation

Manual installation gives full control over which components and versions you install. Use this if the automated installer fails or you need a specific configuration.

Install dependencies

Ubuntu 22.04 / Debian 12:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y wget curl unzip screen lib32gcc-s1 lib32stdc++6 libc6-i386

Ubuntu 20.04 / Debian 10-11:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y wget curl unzip screen lib32gcc1 lib32stdc++6 libc6-i386

CentOS 7 / AlmaLinux / Rocky Linux:

sudo yum install -y wget curl unzip screen glibc.i686 libgcc.i686 libstdc++.i686

Create server directory

mkdir ~/cs16server
cd ~/cs16server

Download HLDS base files via SteamCMD

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh +login anonymous +force_install_dir ~/cs16server +app_update 90 validate +quit

Run app_update 90 validate two or three times if it stops early — HLDS (appid 90) often requires multiple runs to complete.

Download and install ReHLDS

  1. Get the latest release from ReHLDS GitHub releases.
  2. Download and extract:
    wget https://github.com/dreamstalker/rehlds/releases/latest/download/rehlds-bin.zip
    unzip rehlds-bin.zip -d rehlds_tmp
  3. Copy the Linux engine file to your server directory:
    cp rehlds_tmp/bin/linux/engine_i486.so ~/cs16server/
    cp rehlds_tmp/bin/linux/filesystem_stdio.so ~/cs16server/

Install ReGameDLL

  1. Download from ReGameDLL_CS releases.
  2. Extract and copy:
    unzip ReGameDLL_CS.zip -d regamedll_tmp
    cp regamedll_tmp/bin/linux/cs.so ~/cs16server/cstrike/dlls/
    cp regamedll_tmp/bin/linux/game.cfg ~/cs16server/cstrike/

Install MetamodR

  1. Download from MetamodR releases.
  2. Extract to addons folder:
    mkdir -p ~/cs16server/cstrike/addons/metamod/dlls
    unzip metamod-r.zip -d metamod_tmp
    cp metamod_tmp/bin/linux/metamod_i386.so ~/cs16server/cstrike/addons/metamod/dlls/
  3. Create plugins.ini:
    nano ~/cs16server/cstrike/addons/metamod/plugins.ini

    Add:

    linux addons/amxmodx/dlls/amxmodx_mm_i386.so
  4. Add metamod to liblist.gam:
    nano ~/cs16server/cstrike/liblist.gam

    Change the gamedll_linux line to:

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

Install AMX Mod X

  1. Download from amxmodx.org — get the Linux base and CS 1.6 addon packages.
  2. Extract both into your cstrike folder:
    tar -xzf amxmodx-*-base-linux.tar.gz -C ~/cs16server/cstrike/
    tar -xzf amxmodx-*-cstrike-linux.tar.gz -C ~/cs16server/cstrike/

Reunion — Non-Steam Client Support

Reunion allows Non-Steam clients to connect to your server. Without it, only Steam clients can join.

  1. Download Reunion from Reunion releases.
  2. Extract to addons:
    mkdir -p ~/cs16server/cstrike/addons/reunion
    unzip reunion.zip -d reunion_tmp
    cp reunion_tmp/bin/linux/reunion_mm_i386.so ~/cs16server/cstrike/addons/reunion/
  3. Add to MetamodR plugins.ini:
    linux addons/reunion/reunion_mm_i386.so
  4. Configure reunion.cfg — set a 32-character SteamIdHashSalt:
    nano ~/cs16server/cstrike/addons/reunion/reunion.cfg

    Find SteamIdHashSalt and set a random 32-character hex string. This is required — Reunion will warn on every startup without it.

Basic server.cfg

hostname "My CS 1.6 Server"
rcon_password "YOUR_SECURE_PASSWORD"
sv_password ""
maxplayers 32
sv_lan 0
sv_region 255
mp_timelimit 30
mp_autokick 0
mp_friendlyfire 0
mp_roundtime 2.5
mp_buytime 0.25
mp_startmoney 800
sv_maxrate 100000
sv_minrate 5000
sv_maxupdaterate 102
sv_minupdaterate 10
sys_ticrate 1000
pingboost 2

Save to ~/cs16server/cstrike/server.cfg. For a complete server configuration guide with all variables explained, see CS 1.6 server.cfg optimization.

Start, Stop and Restart

If using automated installer

cd /root/ReHLDS/
./start    # start server
./stop     # stop server
./restart  # restart server

If using manual installation

Start in a screen session so the server keeps running after SSH disconnect:

screen -S cs16server
cd ~/cs16server
./hlds_run -console -game cstrike +ip YOUR_SERVER_IP +port 27015 +map de_dust2 +maxplayers 32 +sys_ticrate 1000 +pingboost 2

Detach from screen without closing server: Ctrl+A then D

Reattach to server console:

screen -r cs16server

Stop the server from inside screen: type quit in the server console.

Auto-restart on crash

hlds_run automatically restarts the server on crash. If you use hlds directly without hlds_run, create a simple restart loop:

while true; do
  ./hlds_run -console -game cstrike +ip YOUR_SERVER_IP +port 27015 +map de_dust2 +maxplayers 32
  echo "Server crashed — restarting in 5 seconds..."
  sleep 5
done

Save as start_server.sh, make executable with chmod +x start_server.sh, and run inside screen.

Common Errors and Fixes

Error Cause Fix
lib32gcc-s1: package not found Ubuntu version mismatch Use lib32gcc1 on Ubuntu 20.04 and below
steamclient.so: cannot open shared object Missing Steam symlinks Run: mkdir -p ~/.steam/sdk32 && ln -s ~/cs16server/steamclient.so ~/.steam/sdk32/steamclient.so
Server not visible in browser Port 27015 UDP blocked Open UDP 27015 in firewall: ufw allow 27015/udp
Non-Steam clients cannot connect Reunion not installed or misconfigured Verify Reunion is in plugins.ini and reunion.cfg has SteamIdHashSalt set
AMXX: Module not found Missing AMXX CS addon package Install both base AND cstrike addon packages from amxmodx.org
Server crashes on startup Wrong engine file or 32-bit libs missing Verify dpkg --add-architecture i386 was run and libc6-i386 installed
app_update 90 stops early Known SteamCMD bug with HLDS Run app_update 90 validate two or three times until “already up to date”

Looking for a quick way to start, take a look at our Counter-Strike 1.6 portal and also click here for the download Counter-Strike 1.6 original setup.