Counter-Strike: Source Updated April 27, 2026

How to Install a Counter-Strike: Source Dedicated Server

Install a CSS dedicated server with SteamCMD using AppID 232330, then launch it with srcds_run or srcds.exe.

Counter-Strike: SourceCSSinstallSteamCMDsrcdsdedicated server

Installing a Counter-Strike: Source Dedicated Server

CSS uses the Source engine's srcds binary — not the CS2 cs2 binary. If you're coming from CS2, the biggest thing to internalize up front: the server AppID is 232330, not 240 (the client). Get that wrong in SteamCMD and you'll install the game client, not the server.

Download SteamCMD

Grab SteamCMD from Valve's official site:

Extract it to a directory you own, e.g. /home/steam/steamcmd/ on Linux.

Install the Server Files

Run SteamCMD and install AppID 232330:

./steamcmd.sh +force_install_dir /home/steam/css-server \
              +login anonymous \
              +app_update 232330 validate \
              +quit

On Windows:

steamcmd.exe +force_install_dir "C:\css-server" ^
             +login anonymous ^
             +app_update 232330 validate ^
             +quit

This pulls down around 3-4 GB. The validate flag checksums every file against Steam's depot — run it any time you suspect corruption or after an update.

Launch the Server

Linux:

./srcds_run -game cstrike \
            -console \
            -usercon \
            +map de_dust2 \
            +maxplayers 24 \
            -port 27015

Windows:

srcds.exe -game cstrike -console -usercon +map de_dust2 +maxplayers 24 -port 27015

Key flags:

  • -game cstrike — tells srcds which game to load; this is Counter-Strike: Source
  • -usercon — enables RCON and local console input simultaneously; skip this and you lose the ability to type commands at the server terminal
  • -port 27015 — default Source server port; change if you're running multiple instances on one machine (increment by 1 for each: 27015, 27016, …)
  • +maxplayers 24 — 24 is a common CSS cap; the engine hard-limits at 32

Verifying a Good Start

Watch the console output. A healthy first boot looks like:

VAC secure mode is activated.

If you see that line, the server registered with Valve's authentication servers and is ready for clients. If VAC fails to activate, check your firewall — UDP 27015 and TCP 27015 must be open to the internet.

Directory Structure After Install

The important paths, relative to your install root:

cstrike/cfg/server.cfg     ← your main config (generated on first start)
cstrike/maps/              ← .bsp map files go here
cstrike/addons/            ← MetaMod + SourceMod live here
cstrike/logs/              ← server logs

Note: CSS uses cstrike/ — not game/csgo/cfg/ like CS2. If a guide tells you to edit csgo/cfg/, that's a CS2 guide and it does not apply here.

Keeping the Server Updated

Re-run the SteamCMD app_update 232330 validate command any time Valve pushes an update. For Linux, wrap srcds_run in a shell script or systemd service to auto-restart after crashes.