📚 Navigation

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

Counter-Strike: Source Server Hosting Guide

Overview

Counter-Strike: Source (CSS) is the 2004 Source engine remake of the original Counter-Strike 1.6. It remains popular with a dedicated community and is known for its smooth gameplay, extensive mod support through SourceMod/MetaMod, and active competitive scene.

Quick Reference

🔌 Ports Required

Port Protocol Purpose Required
27015 UDP Main game server port (client connections) ✓ Yes
27015 TCP RCON (Remote Console) access Optional
27020 UDP SourceTV spectator port Optional
27005 UDP Client port (Steam connection) Optional

Firewall Configuration Examples

UFW (Ubuntu/Debian)

sudo ufw allow 27015/udp comment 'CSS game port'
sudo ufw allow 27015/tcp comment 'CSS RCON'
sudo ufw allow 27020/udp comment 'CSS SourceTV'
sudo ufw allow 27005/udp comment 'CSS client port'
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 --add-port=27005/udp
sudo firewall-cmd --reload

Windows Firewall

# Run in PowerShell as Administrator
New-NetFirewallRule -DisplayName "CS:Source UDP" -Direction Inbound -Protocol UDP -LocalPort 27015,27020,27005 -Action Allow
New-NetFirewallRule -DisplayName "CS:Source 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 iptables -A INPUT -p udp --dport 27005 -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:Source Server Installation

# Run SteamCMD
./steamcmd.sh

# Login anonymously
login anonymous

# Set install directory
force_install_dir ./css-server

# Install CS:Source dedicated server (App ID 232330)
app_update 232330 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:\css-server
  6. Execute: app_update 232330 validate

⚙️ Server Configuration

server.cfg - Essential Settings

Create cstrike/cfg/server.cfg:

// ========================================
// Server Information
// ========================================
hostname "My CS:Source Server"
sv_password ""                      // Server password (blank = public)
sv_region "1"                       // 0=US East, 1=US West, 2=SA, 3=EU, 4=Asia
sv_tags "classic,source"            // Server browser tags

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

// ========================================
// Server Core Settings
// ========================================
sv_cheats 0
sv_lan 0
sv_pure 1                           // File consistency (0=off, 1=on, 2=strict)
sv_pure_kick_clients 1
sv_minrate 10000                    // Minimum bandwidth rate
sv_maxrate 0                        // Maximum bandwidth (0=unlimited)
sv_mincmdrate 66                    // Min client update rate
sv_maxcmdrate 100                   // Max client update rate
sv_minupdaterate 66                 // Min server update rate
sv_maxupdaterate 100                // Max server update rate

// ========================================
// Game Settings
// ========================================
mp_friendlyfire 0                   // 0=off, 1=on
mp_autoteambalance 1
mp_limitteams 1
mp_buytime 0.25                     // Buy time (minutes)
mp_freezetime 6                     // Freeze time (seconds)
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

// ========================================
// Team Settings
// ========================================
mp_autokick 1                       // Autokick idle/teamkillers
mp_tkpunish 1                       // Punish teamkillers
mp_flashlight 1                     // Allow flashlight
mp_footsteps 1                      // Enable footsteps
mp_forcecamera 1                    // 0=free, 1=team only, 2=fixed
mp_fadetoblack 0                    // Screen fades to black on death

// ========================================
// Communication
// ========================================
sv_alltalk 0                        // Dead can't talk to alive
sv_deadtalk 0                       // Dead can't be heard
sv_voiceenable 1                    // Enable voice chat

// ========================================
// SourceTV Configuration
// ========================================
tv_enable 1
tv_delay 30                         // 30 second delay
tv_advertise_watchable 1
tv_name "SourceTV"
tv_title "Source TV"
tv_autorecord 0                     // Auto-record demos
tv_maxclients 5                     // Max SourceTV spectators

// ========================================
// Logging
// ========================================
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0                    // New log file each map

// ========================================
// Download & FastDL
// ========================================
sv_allowdownload 1                  // Allow clients to download files
sv_allowupload 1
sv_downloadurl ""                   // FastDL URL (e.g., http://yoursite.com/css/)

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

Startup Parameters

Linux Start Script (srcds_run)

#!/bin/bash
# CS:Source Server Startup Script

cd /home/steam/css-server

./srcds_run \
    -game cstrike \
    -console \
    -usercon \
    +ip 0.0.0.0 \
    -port 27015 \
    +map de_dust2 \
    -maxplayers 16 \
    -autoupdate \
    -steam_dir /home/steam/steamcmd \
    -steamcmd_script /home/steam/steamcmd/steamcmd.sh \
    +exec server.cfg \
    +tv_port 27020

Windows Startup (srcds.exe)

srcds.exe ^
    -game cstrike ^
    -console ^
    -usercon ^
    +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:Source)
-console Enable console output
-usercon Enable RCON (remote console)
+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
-autoupdate Automatically update server on restart
+exec server.cfg Execute server configuration file
+tv_port 27020 SourceTV port

Plugins & Mods

SourceMod & MetaMod:Source

CS:Source has the most mature SourceMod plugin ecosystem. Thousands of plugins available.

Installation

  1. Download MetaMod:Source (latest stable)
  2. Download SourceMod (latest stable)
  3. Extract both to cstrike/ directory
  4. Restart server
  5. Type sm version in console to verify

Popular Plugins for CS:Source

Popular Game Modes

Classic Competitive

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

GunGame (SourceMod Plugin)

# Install GunGame plugin from AlliedModders
# Players progress through weapons by getting kills
sm_gg_enabled 1
sm_gg_turbo 0           // Turbo mode (instant respawn)
sm_gg_knife_elite 1     // Knife fight at final level

Zombie Mod (SourceMod Plugin)

# Zombies vs humans survival gameplay
# Mother zombie infects others
zr_enabled 1
zr_classes_menu_spawn 1
zr_respawn 1

Surf Maps

# Popular surf maps
+map surf_ski_2
+map surf_mesa
+map surf_greatriver

# Install Surf Timer plugin for rankings

🔧 Troubleshooting

Server Won't Start

Port Already in Use

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

# Kill process or change port
./srcds_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 in Browser

Players Can't Connect

# Test from external location
nc -u -v YOUR_SERVER_IP 27015

# Check server console
status
sv_lan

Performance Issues

Low FPS / Stuttering

High Ping

Plugin Issues

SourceMod Not Loading

# Check MetaMod loaded
meta list

# Check SourceMod
sm version

# Check logs
tail -f cstrike/logs/latest.log
tail -f cstrike/addons/sourcemod/logs/errors_*.txt

Plugin Crashes Server

Custom Map Issues

Map Won't Download

Missing Textures

# Ensure all custom content is on FastDL server:
# maps/ - .bsp files
# materials/ - textures
# models/ - models
# sound/ - sounds
# Compress all with bzip2

Performance Optimization

Security Best Practices

Updating Server

# Stop server
rcon quit
# Or: killall srcds_linux (Linux) / taskkill /IM srcds.exe (Windows)

# Run SteamCMD update
cd /home/steam/steamcmd
./steamcmd.sh +login anonymous +force_install_dir /path/to/css-server +app_update 232330 validate +quit

# Restart server
cd /path/to/css-server
./srcds_run -game cstrike +map de_dust2 ...

Popular server modifications compatible with Counter-Strike: Source:

Additional Resources

Important Notes

Last updated: January 2025 | CS:Source dedicated server complete guide