SRCDS \x2014 short for Source Dedicated Server \x2014 is Valve's command-line dedicated server executable for every game built on the Source and Source 2 engines: Counter-Strike 2, Team Fortress 2, Garry's Mod, Counter-Strike: Source, and Day of Defeat: Source all run on some version of the same underlying srcds binary and share a large amount of launch-flag and configuration syntax. If you have ever seen a server list entry with a custom map rotation, an RCON-managed admin, and a tuned tickrate, that is SRCDS under the hood. This guide covers real installation steps via SteamCMD, the exact launch flags used across Source-engine titles (-game, +map, -port, -maxplayers, and more), server.cfg tuning, RCON setup, and the troubleshooting steps every SRCDS admin eventually needs regardless of which specific Source game they are running.

What Is SRCDS?

SRCDS is the dedicated, headless server build of the Source engine, distributed via SteamCMD and shared across every Source-based multiplayer title. Rather than each Source game reinventing dedicated server tooling from scratch, Valve built a common srcds executable and lets individual games (CS2, TF2, Garry's Mod, and community-made Source mods) plug in their own game-specific content on top of the same core engine and networking layer. Practically, this means:

  • Learning SRCDS once transfers directly across every Source-engine game you might want to host \x2014 the core launch flags and server.cfg conventions are shared, with only game-specific cvars differing.
  • Server administration tools like RCON (remote console) work the same way across CS2, TF2, and Garry's Mod servers.
  • Each Source game has its own distinct SteamCMD App ID for its dedicated server (for example, Counter-Strike 2's dedicated server uses App ID 730 as of this writing \x2014 the same App ID as the client, since Valve distributes the CS2 dedicated server through the same app; Team Fortress 2's dedicated server uses App ID 232250). Always confirm the current App ID for your specific game from SteamDB or the game's official Steam Tools listing before installing.
  • Custom content \x2014 maps, mods, plugins like SourceMod and MetaMod \x2014 installs into the same general directory structure across every Source game, which is a major reason the Source server-hosting community has stayed active and well-documented for two decades.

SRCDS Hardware Requirements & Pricing

Source-engine servers are famously lightweight compared to modern Unreal Engine or Unity survival titles \x2014 the engine itself is nearly two decades old and highly optimized for competitive multiplayer with low per-player overhead. Realistic sizing:

Server SizePlayersvCPURAMStorageEst. Price/Month
Small/casual1-102 vCPU2-4 GB15 GB NVMe$6-$12
Standard competitive (CS2/TF2)10-242-4 vCPU4-6 GB25 GB NVMe$14-$24
Heavily modded (Garry's Mod/SourceMod)16-644-6 vCPU8-12 GB40 GB NVMe$26-$45

The single biggest factor that pushes a Source server up a tier is not player count but plugin/mod load \x2014 a vanilla competitive CS2 or TF2 server with 24 players is genuinely lighter on CPU than a 24-player Garry's Mod server running a dozen SourceMod/Lua-heavy gamemodes. Size based on what you plan to run, not just headcount, and prioritize single-thread CPU clock speed over raw core count, since SRCDS is still fundamentally a single-threaded-per-server-instance workload for most of its simulation.

Step-by-Step SRCDS Setup

1. Provision a Linux server

SRCDS runs on both Linux and Windows, but Linux is the overwhelmingly more common and cost-efficient choice for Source dedicated servers. A Linux dedicated server or VPS running Ubuntu 22.04/24.04 is a solid starting point.

2. Install SteamCMD and required 32-bit libraries

sudo useradd -m srcds
sudo su - srcds
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6
mkdir ~/steamcmd && cd ~/steamcmd
wget -q https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

3. Download the SRCDS files for your specific game

For Counter-Strike 2:

./steamcmd.sh +force_install_dir ~/cs2-server \
  +login anonymous \
  +app_update 730 validate \
  +quit

For Team Fortress 2:

./steamcmd.sh +force_install_dir ~/tf2-server \
  +login anonymous \
  +app_update 232250 validate \
  +quit

Substitute the correct App ID for whichever Source-engine game you are hosting; confirm it against SteamDB or the game's Steam Tools listing since App IDs are game-specific even though the underlying engine and launch-flag conventions are shared.

4. Understand the core launch flags

Every SRCDS launch command follows a similar pattern regardless of the specific game:

./srcds_run -game cstrike -console -usercon \
  +map de_dust2 \
  -port 27015 \
  +maxplayers 20 \
  +sv_setsteamaccount YOUR_GSLT_TOKEN

Key flags explained:

  • -game <modname> \x2014 tells srcds which game/mod content to load (e.g. cstrike for Counter-Strike titles, tf for Team Fortress 2, garrysmod for Garry's Mod).
  • +map <mapname> \x2014 the starting map to load on server boot.
  • -port <number> \x2014 the UDP port the server listens on; 27015 is the long-standing Source engine default, and running multiple servers on one machine means incrementing this for each instance (27016, 27017, and so on).
  • -maxplayers <number> (or +maxplayers depending on the specific title's convention) \x2014 sets the player slot cap.
  • -usercon \x2014 enables RCON over the standard networking socket rather than requiring a separate raw console connection, which is the modern standard way to enable remote administration.
  • +sv_setsteamaccount <token> \x2014 required for CS2 and several other modern Source titles: a free Game Server Login Token (GSLT) generated from your Steam account, which authenticates your server to Valve's matchmaking/server-browser systems. Generate one from Steam's official GSLT management page tied to your account.

5. Configure server.cfg

Inside your game's cfg directory (for example cstrike/cfg/server.cfg or tf/cfg/server.cfg), set core server behavior:

hostname "My Community Server"
rcon_password "choose_a_strong_password"
sv_password ""
mp_maxrounds 30
sv_lan 0
sv_region 255
tv_enable 0

Never leave rcon_password blank or use a weak/default value \x2014 an open RCON is one of the most common ways community Source servers get hijacked for cheating, malicious plugin injection, or being used to relay traffic for unrelated abuse.

6. Open the required ports

sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw enable

If you plan to run SourceTV or multiple server instances, open the additional adjacent ports each of those features requires (commonly 27020 for SourceTV, and incrementing UDP ports for each additional server instance on the same machine).

7. Launch the server

cd ~/cs2-server
./game/bin/linuxsteamrt64/cs2 -dedicated +map de_dust2 -port 27015 +sv_setsteamaccount YOUR_GSLT_TOKEN

Exact binary paths differ slightly between Source games and engine generations (Source 1 titles like TF2 use srcds_run at the game's root install directory; CS2, built on Source 2, uses a different binary path as shown above) \x2014 check the specific game's dedicated server documentation for its exact executable location.

8. Automate uptime with systemd

Wrap your launch command in a systemd service so the server restarts automatically after a crash or host reboot, rather than relying on a screen/tmux session you have to manually reattach to after every disconnect.

Common SRCDS Issues & Troubleshooting

Server does not appear in the in-game server browser

For CS2 and other modern titles requiring a GSLT, confirm sv_setsteamaccount is set with a valid, non-expired token \x2014 a missing or invalid GSLT is the most common reason a server runs fine locally but never appears publicly. Also confirm UDP port 27015 (or your configured port) is open both in the OS firewall and any cloud security group.

"Invalid Steam UserID Ticket" or authentication errors on startup

This usually indicates a GSLT problem \x2014 either a missing token, a token already in use by another running server instance, or a token generated for the wrong App ID. Generate a fresh token specifically for the game and App ID you are running.

RCON commands time out or fail to authenticate

Confirm rcon_password is set in server.cfg and that you are connecting with -usercon enabled at launch. Also verify the port you are sending RCON commands to matches the server's actual listening port.

Server crashes on a specific custom map

Custom (non-official) maps occasionally reference missing textures, models, or entities not included in the base game install. Check the server console log at the point of the crash, and confirm all required map dependencies (textures, materials) are installed alongside the map file itself.

High player-perceived latency despite a low server tickrate setting

Confirm your sv_region setting matches your server's actual geographic location so Valve's matchmaking/server browser correctly routes nearby players to it, and confirm your network route/provider has good peering to your target player base's region \x2014 tickrate misconfiguration and simple geographic distance are the two most common causes of perceived lag on an otherwise healthy server.

Plugins (SourceMod/MetaMod) stop working after a game update

Valve's engine updates occasionally change internal signatures that SourceMod/MetaMod extensions depend on. Check the SourceMod and MetaMod official forums/changelogs for an updated build compatible with the current game version before assuming your plugin installation is broken.

Buyer's Checklist Before Renting an SRCDS Server

  • Confirm the provider allows full SteamCMD access and custom SourceMod/MetaMod plugin installs, not just a fixed pre-built game panel template.
  • Check whether a Game Server Login Token (GSLT) is required for your specific title and confirm you can configure it yourself.
  • Verify you can open custom UDP/TCP ports for SourceTV or multiple server instances without a slow support-ticket process.
  • Ask about network peering/region options if your player base is concentrated in a specific geographic area.
  • Confirm root/SSH access for manual server.cfg and plugin configuration.
  • Check the provider's track record hosting other Source-engine titles as a proxy for support quality on SRCDS-specific issues.

Frequently Asked Questions

What does SRCDS stand for?

SRCDS stands for Source Dedicated Server, Valve's shared dedicated server engine used across Counter-Strike, Team Fortress 2, Garry's Mod, and other Source-based titles.

Do I need a Game Server Login Token (GSLT) for every Source game?

Modern titles like Counter-Strike 2 require one for the server to appear in matchmaking and the public server browser; check your specific game's documentation, since requirements vary slightly by title and by how long ago it was released.

Can I run multiple SRCDS instances on one server?

Yes, as long as each instance uses a distinct port (commonly incrementing from 27015) and you have sufficient CPU/RAM headroom for the combined load of all instances running simultaneously.

Is SRCDS free to use?

Yes, the dedicated server tools themselves are free via SteamCMD; you only need to own the base game if that specific title requires a licensed copy for the server files (most modern Source titles distribute the dedicated server for free even if the client game is paid).

What port does SRCDS use by default?

27015/UDP is the long-standing Source engine default, though this is configurable via the -port launch flag, and any additional instances on the same machine should use a different port.

How do I secure my SRCDS server from RCON abuse?

Always set a strong, unique rcon_password in server.cfg, never leave it blank, and avoid sharing it beyond your trusted admin team.

Do SourceMod and MetaMod work on any Source game?

SourceMod and MetaMod support a specific list of Source-engine titles; check their official compatibility documentation for your exact game and engine version before assuming universal support.

Once you understand SRCDS's shared launch-flag and server.cfg conventions, hosting any Source-engine game becomes a matter of swapping the App ID and a handful of game-specific cvars rather than learning an entirely new system. WebsNP's Linux dedicated servers and VPS hosting both give you the SteamCMD access and open-port flexibility SRCDS needs \x2014 contact our team if you want help setting up a Counter-Strike 2, TF2, or Garry's Mod server.