NEW 📢 Limited launch offer: up to 70% off your first month on every game!See plans

How to host a Counter-Strike: Source server (2026)

Counter-Strike: SourceUpdated Nov 5, 20269 min read

Short answer. You can host a Counter-Strike: Source server yourself for free: install Steam app 232330 (Counter-Strike: Source Dedicated Server) with SteamCMD using an anonymous login, start it with ./srcds_run -game cstrike and open port 27015 for both TCP and UDP. Or rent a Counter-Strike: Source server and skip the networking.

Players join by address: they open the developer console in the game and type connect followed by your IP address and port.

Checked on 5 November 2026 against the update Valve released on 16 September 2026, the newest one announced on Steam.

This guide uses Valve's own documentation for SteamCMD and Source dedicated servers, and what we run on every Counter-Strike: Source server we host. To skip to the rental route, go to Option 2.

What you need

  • The server software: "Counter-Strike: Source Dedicated Server", Steam app 232330. It is free and downloads with an anonymous Steam login.
  • A machine that stays on: a spare PC, a home server or a cloud virtual machine. This guide uses 64-bit Debian or Ubuntu, which is the route we can show commands for.
  • Hardware: Valve's Source Dedicated Server page gives only general hardware figures for Source dedicated servers, none specific to Counter-Strike: Source. It also notes that a server uses a lot of upload bandwidth, and that a home connection may not have enough upload for large games.
  • Network: port 27015 for TCP and UDP, reachable from the internet. Valve's page says it carries game traffic, pings and RCON, and that -port changes it. SourceTV, if you use it, needs UDP 27020. Valve also warns that an internet provider using CGNAT can make hosting any server impossible.
  • A Game Server Login Token (optional): a free token from your Steam account at steamcommunity.com/dev/managegameservers, for the game's app ID 240. Our servers start without one.
  • The game: every player needs Counter-Strike: Source on Steam.

Option 1: host it yourself

The SteamCMD steps follow Valve's SteamCMD page. The launch options follow Valve's command line options page and the line our own servers use.

Install the server

  1. Install the library SteamCMD needs.
    sudo apt-get install lib32gcc-s1
  2. Create a steam user and switch to it, as Valve's page shows.
    sudo useradd -m steam
    sudo -iu steam
  3. Install SteamCMD.
    mkdir ~/Steam && cd ~/Steam
    curl -sqL "https://client-update.steamstatic.com/installer/steamcmd_linux.tar.gz" | tar zxvf -
  4. Download the server.
    ~/Steam/steamcmd.sh +quit
    ~/Steam/steamcmd.sh +force_install_dir /home/steam/css +login anonymous +app_update 232330 validate +quit
    On our servers, SteamCMD sometimes finished without installing anything and still reported success. Our install script therefore checks that an app manifest file (appmanifest_*.acf) exists in the steamapps folder, and tries up to three times if it does not. Do the same check by hand in /home/steam/css/steamapps, and run the download again if no such file is there.
  5. Copy the Steam client library where our install puts it:
    mkdir -p ~/.steam/sdk32
    cp ~/Steam/linux32/steamclient.so ~/.steam/sdk32/

Start it

  1. Launch the server from the server folder:
    cd /home/steam/css
    ./srcds_run -game cstrike -console -port 27015 -maxplayers 24 +map de_dust2 -strictportbind -norestart
    -game cstrike picks the game, -maxplayers sets the slots, +map sets the starting map and -strictportbind makes the server quit with an error message if it cannot bind the port. Our servers also pass +ip 0.0.0.0. Valve notes that +ip is only needed when the machine has several network cards.
  2. Wait for the ready line. Our panel treats the server as started when the console prints gameserver Steam ID . Valve also notes that a Source server does not answer queries until a map is loaded.
  3. Set the name and the RCON password. Valve's guide says the main configuration file is cstrike/cfg/server.cfg, and that its hostname line is the name shown in the server browser. Put rcon_password there as well. Valve's RCON page says the server refuses every RCON login while the password is empty.
  4. Open the port. Allow 27015 for TCP and UDP on the machine's firewall (with ufw: sudo ufw allow 27015) and forward both on your router to this machine.
  5. Join it. In the game, enable the developer console, press the ~ key and type connect your.ip.address:27015.
  6. Update by stopping the server and running the download command from the install steps again.

If Steam refuses the connection

Valve's page for dedicated servers says that if you get the error "Could not establish connection to Steam servers." with result number 18 or 106, you need to regenerate your token, or create a new one and replace it in your sv_setsteamaccount startup option. Our servers start with the token option only when a token is set, so a server with no token never sends an empty one.

Add plugins

SourceMod plugins need SourceMod, and the SourceMod install guide says SourceMod requires Metamod:Source. Our install fetches the newest builds of both from the 1.12 download branch into the cstrike folder, checks that addons/metamod.vdf and addons/sourcemod exist afterwards, and deletes addons/metamod_x64.vdf, the 64-bit loader file, because on our servers it only added a library error to every boot log.

Option 2: host it on PlayNHost

Renting removes the install, the ports and the update routine. You still choose a name, a map and your rules.

  1. Pick a plan. Open the Counter-Strike: Source server hosting page and compare the plans: DUST (10 players), INFERNO (25) and NUKE (64) at the time of writing. Press Create Server (Customize Plan on NUKE) and finish the order. Prices change, so check them on that page.
  2. Wait for the install. The server appears in the panel. Its Console prints gameserver Steam ID when it is ready.
  3. Name it. On the Settings tab, open Game Settings and set Server name (the panel accepts it without spaces) and Map. Add an RCON password if you want an outside RCON tool, then restart. Your plan sets the most player slots: Max Players is read only here, and you can lower the count from Slots on the Overview page.
  4. Optional: add a Steam token. Paste a free token into Steam Login Token (GSLT) in the same place and restart.
  5. Optional: plugins. Open the Modding tab and turn on Install SourceMod on the SourceMod and Metamod:Source card, then press Reinstall to apply and confirm with Reinstall. Only the install reads this option, so a restart alone does not apply it. The reinstall leaves your configs, maps and addons folder in place. Your plugins then go in cstrike/addons/sourcemod/plugins under Files. See How to install plugins on your Counter-Strike: Source server.
  6. Invite your players. The Overview page shows the Server Address, with the port. Give players the address to paste after connect in the console. See How to connect to your Counter-Strike: Source server.

What the panel does for you:

  • Your port is assigned and open for TCP and UDP from the start, and the panel shows the exact address. It is usually not 27015, so give players the address from the panel. See Counter-Strike: Source ports and firewall explained.
  • Each time the server starts, the panel writes your Server name and RCON password into cstrike/cfg/pnh_autoexec.cfg and runs that file with the server. Change those two in the panel, not in a file.
  • With Auto-update server on (the default, under Show advanced in Game Settings), the server updates through Steam when it installs. A first install also checks that the files really arrived and tries up to three times if they did not.
  • The panel passes a Steam token to the game only when you set one.

Self-hosting or renting: an honest comparison

  • Cost: the server software is free. Self-hosting costs power, hardware and bandwidth, or a cloud machine. Renting is a monthly fee set by the plan.
  • Uptime: a home server is only up while your PC, power and internet are. A rented server runs on the host's hardware.
  • Exposure: at home, players connect to your public IP address and you look after the firewall and router. A rented server keeps your home IP out of it.
  • Setup: self-hosting needs the command line, port forwarding and, for plugins, a manual install. Renting needs a name, a map and, if you want them, a token and a switch.
  • Control: self-hosting gives you every file. On our servers you still have the Files tab and the Console.

Ready to skip the setup? See the Counter-Strike: Source server plans. Already have a server? Start with Counter-Strike: Source server is not in the browser.

Already hosting it somewhere else? Move your server to us

OUR LATEST BLOGS