📚 Navigation

Overview 🔌 Ports Installation ⚙️ Configuration Parameters Plugins & Mods 🔧 Troubleshooting

Counter-Strike 1.6 Server Hosting Guide

Overview

Counter-Strike 1.6 is the classic original Counter-Strike game released in 2000. Built on the GoldSrc engine (Half-Life 1 engine), it remains extremely popular with a dedicated competitive community, especially in regions like Eastern Europe, South America, and Asia.

Quick Reference

🔌 Ports Required

Port Protocol Purpose Required
27015 UDP Main game server port (client connections + query) ✓ Yes
27015 TCP RCON (Remote Console) access Optional
27020 UDP HLTV (spectator) port Optional

Firewall Configuration Examples

UFW (Ubuntu/Debian)

sudo ufw allow 27015/udp comment 'CS 1.6 game port'
sudo ufw allow 27015/tcp comment 'CS 1.6 RCON'
sudo ufw allow 27020/udp comment 'CS 1.6 HLTV'
sudo ufw reload

FirewallD (CentOS/RHEL/Fedora)

sudo firewall-cmd --permanent --add-port=27015/udp --add-port=27015/tcp
sudo firewall-cmd --permanent --add-port=27020/udp
sudo firewall-cmd --reload

Windows Firewall

# Run in PowerShell as Administrator
New-NetFirewallRule -DisplayName "CS 1.6 UDP" -Direction Inbound -Protocol UDP -LocalPort 27015,27020 -Action Allow
New-NetFirewallRule -DisplayName "CS 1.6 TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow

iptables (Legacy Linux)

sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27020 -j ACCEPT
sudo service iptables save

Installation & Setup

System Requirements

Installation via SteamCMD (Linux)

Install SteamCMD

# Ubuntu/Debian
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 steamcmd

# Create steam user
sudo useradd -m -s /bin/bash steam
sudo su - steam

# CentOS/RHEL
sudo yum install glibc.i686 libstdc++.i686
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

CS 1.6 Server Installation

# Run SteamCMD
./steamcmd.sh

# Login anonymously
login anonymous

# Set install directory
force_install_dir ./cs16-server

# Install CS 1.6 dedicated server (App ID 90 - HLDS)
app_update 90 validate

# Exit
quit

Windows Installation

  1. Download SteamCMD for Windows
  2. Extract to C:\steamcmd\
  3. Run steamcmd.exe
  4. Execute: login anonymous
  5. Execute: force_install_dir C:\cs16-server
  6. Execute: app_update 90 validate

⚙️ Server Configuration

server.cfg - Essential Settings

Create cstrike/server.cfg:

// ========================================
// Server Information
// ========================================
hostname "My CS 1.6 Server"
sv_password ""                      // Server password (blank = public)
sv_region "1"                       // Server region

// ========================================
// RCON Configuration
// ========================================
rcon_password "YourSecurePasswordHere"  // CHANGE THIS!
sv_rcon_maxfailures 5

// ========================================
// Server Core Settings
// ========================================
sv_lan 0                            // 0=internet server, 1=LAN only
sv_cheats 0
sv_contact "admin@yoursite.com"     // Admin contact email

// ========================================
// Player Settings
// ========================================
mp_autokick 1                       // Autokick idle/teamkillers
mp_tkpunish 1                       // Punish teamkillers
mp_flashlight 1
mp_footsteps 1
mp_forcecamera 0                    // 0=free cam, 1=team only, 2=fixed
mp_fadetoblack 0

// ========================================
// Game Settings
// ========================================
mp_friendlyfire 1                   // 1=on for competitive
mp_autoteambalance 1
mp_limitteams 2
mp_buytime 0.25                     // Buy time (minutes)
mp_freezetime 6                     // Freeze time start of round
mp_c4timer 45                       // C4 bomb timer
mp_startmoney 800
mp_maxmoney 16000
mp_roundtime 5                      // Round time (minutes)
mp_timelimit 30                     // Map time limit (minutes)
mp_maxrounds 0                      // 0=unlimited

// ========================================
// Communication
// ========================================
sv_alltalk 0                        // Dead can't talk to alive
sv_voiceenable 1

// ========================================
// Logging
// ========================================
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1

// ========================================
// Download Settings
// ========================================
sv_allowdownload 1
sv_allowupload 1
sv_downloadurl ""                   // FastDL URL

// ========================================
// Rates & Performance
// ========================================
sv_maxrate 20000                    // Max bandwidth per player
sv_minrate 5000                     // Min bandwidth
sv_maxupdaterate 101                // Max update rate
sv_minupdaterate 10                 // Min update rate

// ========================================
// Execute Additional Configs
// ========================================
exec banned_user.cfg
exec banned_ip.cfg

mapcycle.txt

Create cstrike/mapcycle.txt for map rotation:

de_dust2
de_dust
de_inferno
de_nuke
de_train
de_aztec
de_cbble
cs_italy
cs_office
cs_assault

Startup Parameters

Linux Start Script (hlds_run)

#!/bin/bash
# CS 1.6 Server Startup Script

cd /home/steam/cs16-server

./hlds_run \
    -game cstrike \
    -console \
    +ip 0.0.0.0 \
    +port 27015 \
    +map de_dust2 \
    -maxplayers 16 \
    +exec server.cfg \
    +rcon_password "YourPassword"

Windows Startup (hlds.exe)

hlds.exe ^
    -game cstrike ^
    -console ^
    +ip 0.0.0.0 ^
    +port 27015 ^
    +map de_dust2 ^
    -maxplayers 16 ^
    +exec server.cfg

Parameter Reference

Parameter Description
-game cstrike Specify game directory (cstrike for CS 1.6)
-console Enable console output
+ip 0.0.0.0 Bind to all network interfaces
+port 27015 Server port (default 27015)
+map de_dust2 Starting map
-maxplayers 16 Maximum player slots
+exec server.cfg Execute server configuration file

Plugins & Mods

AMX Mod X

AMX Mod X is the most popular plugin framework for CS 1.6 (successor to AMX Mod).

Installation

  1. Download AMX Mod X (latest stable)
  2. Extract to cstrike/ directory
  3. Edit addons/amxmodx/configs/plugins.ini to enable/disable plugins
  4. Edit addons/amxmodx/configs/admins.ini to add admins
  5. Restart server
  6. Type amxx version in console to verify

Popular AMX Mod X Plugins

Adding Custom Plugins

# Download .amxx file (compiled plugin)
# Place in: cstrike/addons/amxmodx/plugins/

# Add to plugins.ini:
echo "pluginname.amxx" >> cstrike/addons/amxmodx/configs/plugins.ini

# Restart server or reload plugins:
amxx plugins reload

Popular Game Modes

Classic Competitive

Standard 5v5 bomb defusal (already configured in server.cfg)

Public Server (16+ players)

mp_friendlyfire 0
mp_autoteambalance 1
mp_limitteams 2
mp_roundtime 3
mp_timelimit 0

GunGame (AMX Mod X Plugin)

# Players progress through weapons
gg_enabled 1
gg_turbo 0              // Instant respawn
gg_knife_pro 1          // Final knife kill

Zombie Mod (AMX Mod X Plugin)

# Zombies vs humans
zp_enabled 1
zp_respawn_zombies 1
zp_infection_limit 0    // Max zombies to release

🔧 Troubleshooting

Server Won't Start

Port Already in Use

# Check what's using port 27015
sudo lsof -i :27015
# Windows:
netstat -ano | findstr :27015

# Change port
./hlds_run -game cstrike +port 27016 ...

Missing Libraries (Linux)

# Ubuntu/Debian
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6

# CentOS/RHEL
sudo yum install glibc.i686 libstdc++.i686

Connection Issues

Server Not Listed

Players Can't Connect

# Test connectivity
nc -u -v YOUR_SERVER_IP 27015

# Check server console
status

Performance Issues

High Ping

Server Lag

Plugin Issues

AMX Mod X Not Loading

# Check installation
ls -la cstrike/addons/amxmodx/

# Check metamod
meta list

# Check logs
tail -f cstrike/addons/amxmodx/logs/error_*.log

Plugin Crashes Server

Custom Content Issues

Custom Maps Won't Download

# Set up FastDL
sv_downloadurl "http://yoursite.com/cs16/"

# Organize files:
# maps/ - .bsp files
# maps/graphs/ - .txt navigation files
# Compress with bzip2 (.bsp.bz2)

Performance Optimization

Security Best Practices

Updating Server

# Stop server
# Linux: killall hlds_linux
# Windows: taskkill /IM hlds.exe

# Update via SteamCMD
cd /home/steam/steamcmd
./steamcmd.sh +login anonymous +force_install_dir /path/to/cs16-server +app_update 90 validate +quit

# Restart server
cd /path/to/cs16-server
./hlds_run -game cstrike +map de_dust2 ...

Popular server modifications compatible with Counter-Strike 1.6:

Additional Resources

Important Notes

Last updated: January 2025 | Counter-Strike 1.6 complete hosting guide