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.
27015 (UDP)cstrike/logs/server.cfgsudo 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
sudo firewall-cmd --permanent --add-port=27015/udp --add-port=27015/tcp
sudo firewall-cmd --permanent --add-port=27020/udp
sudo firewall-cmd --reload
# 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
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
# 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
# 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
C:\steamcmd\steamcmd.exelogin anonymousforce_install_dir C:\cs16-serverapp_update 90 validateCreate 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
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
#!/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"
hlds.exe ^
-game cstrike ^
-console ^
+ip 0.0.0.0 ^
+port 27015 ^
+map de_dust2 ^
-maxplayers 16 ^
+exec server.cfg
AMX Mod X is the most popular plugin framework for CS 1.6 (successor to AMX Mod).
cstrike/ directoryaddons/amxmodx/configs/plugins.ini to enable/disable pluginsaddons/amxmodx/configs/admins.ini to add adminsamxx version in console to verify# 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
Standard 5v5 bomb defusal (already configured in server.cfg)
mp_friendlyfire 0
mp_autoteambalance 1
mp_limitteams 2
mp_roundtime 3
mp_timelimit 0
# Players progress through weapons
gg_enabled 1
gg_turbo 0 // Instant respawn
gg_knife_pro 1 // Final knife kill
# Zombies vs humans
zp_enabled 1
zp_respawn_zombies 1
zp_infection_limit 0 // Max zombies to release
# Check what's using port 27015
sudo lsof -i :27015
# Windows:
netstat -ano | findstr :27015
# Change port
./hlds_run -game cstrike +port 27016 ...
# 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
connect IP:27015# Test connectivity
nc -u -v YOUR_SERVER_IP 27015
# Check server console
status
sv_maxrate 20000# Check installation
ls -la cstrike/addons/amxmodx/
# Check metamod
meta list
# Check logs
tail -f cstrike/addons/amxmodx/logs/error_*.log
plugins.ini# Set up FastDL
sv_downloadurl "http://yoursite.com/cs16/"
# Organize files:
# maps/ - .bsp files
# maps/graphs/ - .txt navigation files
# Compress with bzip2 (.bsp.bz2)
htop on Linuxapp_update 90 validate periodically# 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:
Last updated: January 2025 | Counter-Strike 1.6 complete hosting guide