Skip to content

Counter-Strike: Source server.cfg configuration

Where cstrike/cfg/server.cfg lives, what executes when, and the documented convars worth setting on a CS:S server.

Updated August 07, 2026
Counter-Strike: Source

The main configuration file for a Counter-Strike: Source server is cstrike/cfg/server.cfg. cstrike is the CS:S mod folder, and every path in this article — configs, maps, addons — is relative to it.

For first boot and connecting, see Getting started with your Counter-Strike: Source server.

Where the config files live

Path What it is
cstrike/cfg/server.cfg The main server config, executed by the server
cstrike/cfg/ Any other .cfg you write, loaded with exec
cstrike/cfg/sourcemod/ Config files SourceMod generates for its own plugins, once installed
cstrike/addons/sourcemod/configs/ SourceMod's admin and map list configs

The split matters: cfg/sourcemod/ holds generated cvar configs for plugins, while addons/sourcemod/configs/ holds SourceMod's own data files such as the admin list. They are different directories and it is a common mistake to edit one expecting the other. Plugin specifics are covered in How to install SourceMod plugins on your Counter-Strike: Source server.

How to edit server.cfg

  1. Open the Files area of your panel and browse to cstrike/cfg/.
  2. Edit server.cfg.
  3. Save.
  4. Apply the change — either restart the server, or run exec server.cfg from the console.

Edits do not apply the moment you save

server.cfg is read when the server executes it, not when your editor writes it. Until you restart or exec the file, the running server is still using the old values. If a change "did nothing", this is usually why.

Which convars should I set?

The convars below are ones documented in a primary source — Valve's own developer documentation, or AlliedModders' SourceMod code that reads them. They are the settings worth understanding rather than an exhaustive list.

Server visibility and content

Convar What it does
sv_region Which part of the world the server browser reports the server as being in
sv_pure Forces clients to use content matching the server's, to stop modified models, materials and sounds
sv_downloadurl Address of a FastDL HTTP server for delivering custom content
sv_cheats Master switch for cheat-protected commands

sv_region takes these values:

Value Region
0 US — East
1 US — West
2 South America
3 Europe
4 Asia
5 Australia
6 Middle East
7 Africa
255 World (default)

Valve's documentation notes that a server set to a specific region (0–7) is listed when that region or <All> is selected in the browser's location filter, while any other value means it is only listed under <All>. The same page notes the cvar may be deprecated — it has been removed from HLDS though it still exists in SRCDS, and the Steam server browser no longer offers a region selector. Treat it as harmless to set and not something to rely on.

sv_pure accepts 0, 1 or 2. Set to 1 or 2 and, from the next map change, the server enforces that client-side materials, models and sounds match what is specified in pure_server_whitelist.txt. Valve documents a real cost to sv_pure 1: on the first map load the server calculates CRCs for every file marked allow_from_disk+check_crc, which can pause the server for a long time if the whitelist is broad. sv_pure 2 avoids that because the server does not need to calculate CRCs.

sv_pure and custom content pull in opposite directions

A pure server is the right default for a competitive pub. If you run custom skins, models or sounds, sv_pure is the setting that stops them loading. Decide which of the two you are running before you set it, rather than debugging "my custom content stopped working" later.

Gameplay

These are convars SourceMod's own plugins read at runtime, which is how their names are verified here:

Convar Read by
mp_friendlyfire SourceMod's funvotes and basetriggers plugins
sv_alltalk SourceMod's funvotes plugin
sv_gravity SourceMod's funvotes plugin
mp_maxrounds SourceMod's basetriggers plugin
mp_winlimit SourceMod's basetriggers plugin
mp_fraglimit SourceMod's basetriggers plugin

mp_maxrounds, mp_winlimit and mp_fraglimit are the three end-of-map conditions, and basetriggers reads all three to answer a player typing "nextmap" or "timeleft" in chat. If you set none of them and no time limit, the map never ends on its own.

Map rotation

Convar What it does Default
mapcyclefile Names the file containing the map cycle mapcycle.txt

Map rotation has its own guide: How to add and rotate maps on a Counter-Strike: Source server.

Administration

Convar What it does
rcon_password The RCON password. SourceMod treats it as a protected cvar

RCON is a single shared password with total control

SourceMod's sm_cvar documentation lists rcon_password among the cvars protected by default, alongside sm_show_activity and sm_immunity_mode — protected because anyone holding it controls the server completely. Use a long random string used nowhere else. If you want per-person admin access with individual permissions instead of one shared password, that is exactly what SourceMod's admin system provides: see How to add admins to a Counter-Strike: Source server with SourceMod.

Your panel console needs no RCON password at all

The Console tab in your GameServerKings panel is attached directly to the server process. Commands typed there run as the server console, with no password crossing the network.

How do I check a setting's actual value?

Type the convar's name into the server console with no argument. The server prints its current value.

Do this rather than trusting a value copied from a guide — including this one. Config files, game updates and plugins all change convars at runtime, so the only authoritative answer for what your server is doing right now comes from your server.

Copied configs fail quietly

Pasting a server.cfg from another game or another Source title is the most common way to break a CS:S server, because a line the engine does not recognise produces an error and then execution continues with the rest of the file. The result is a config that looks like it applied while silently skipping lines. Read the console output the first time you exec a config you did not write.

FAQ

Where is server.cfg on a Counter-Strike: Source server?

cstrike/cfg/server.cfg. On Windows paths this is written cstrike\cfg\server.cfg. The cstrike folder is the CS:S mod directory.

Why are my server.cfg changes not applying?

Because the file is only read when it is executed. Saving the file does not push the values into the running server. Restart the server, or run exec server.cfg in the console.

How do I find out what a convar is currently set to?

Type the convar name in the server console with no value and it prints the current setting. This is more reliable than any documented default, because configs and plugins change convars at runtime.

What does sv_pure do on a Counter-Strike: Source server?

It forces connecting clients to use content that matches the server's, which stops players modifying models, materials or sounds to gain an advantage. Set it to 1 or 2 and it takes effect from the next map change. Use 2 if you want to avoid the CRC calculation pause that sv_pure 1 causes on first map load with a broad whitelist.

Does sv_region still do anything?

Partly. It sets the region the server browser reports, and a server set to 0–7 shows under that region or <All>. Valve's own documentation flags it as possibly deprecated, since the Steam server browser no longer has a region selector, though the in-game browser may still offer one. Set it correctly, but do not expect it to drive traffic.

Should I set a password on my server?

Only if you want it private. A join password makes the server unusable for a public community, which is what most CS:S servers are for. If your goal is to stop other people running admin commands rather than to stop them playing, you want admin permissions instead — see How to add admins to a Counter-Strike: Source server with SourceMod.

Can I use a Counter-Strike 2 config on Counter-Strike: Source?

No. They are different engines — CS:S is Source 1 and CS2 is Source 2 — and the convar sets diverge. Unknown lines fail silently in the middle of an otherwise working file, so a ported config tends to half-apply rather than fail loudly. Start from a CS:S config.


Made with 💜 by GameServerKings

Need a Counter-Strike: Source server?

Deploy an instantly-provisioned Counter-Strike: Source server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $4.50 /month