The mp_ cvars control the rules of a round: how long freezetime lasts, how much money players start with, whether friendly fire hurts, when the map ends. Half of them ship with stock CS and half only exist once you install ReGameDLL_CS. Getting the units wrong — minutes versus seconds — is the usual mistake, so units are called out explicitly here.
1. Round timing
| Cvar | Unit / default | Notes |
|---|---|---|
mp_freezetime | seconds, 6 | Buy-and-stand time at round start. 3 is common on public. |
mp_roundtime | minutes, 5 | Length of a round. Range roughly 1–9. |
mp_buytime | minutes, 0.25 | Minutes. 0.25 = 15 seconds. Stock minimum is 0.25. |
mp_c4timer | seconds, 45 | Bomb fuse. Configurable on ReGameDLL; classic value 45. |
mp_timelimit | minutes, 0 | Map time limit. 0 = never ends on time. |
mp_chattime | seconds, 10 | End-of-map scoreboard/chat window before the change. |
The classic trap: setting mp_buytime 15 expecting 15 seconds and getting 15 minutes. It is in minutes.
2. Economy
| Cvar | Unit / default | Notes |
|---|---|---|
mp_startmoney | $, 800 | Starting cash. Range 0–16000. |
mp_buy_anywhere | 0 (ReGameDLL) | 1 lets players buy outside the buy zone. |
mp_free_armor | 0 (ReGameDLL) | 0 none, 1 kevlar, 2 kevlar+helmet at spawn. |
3. Teams and fair play
| Cvar | Unit / default | Notes |
|---|---|---|
mp_friendlyfire | 0 | 1 = teammates can damage each other. |
mp_tkpunish | 1 | Team-killers are punished next round. |
mp_autoteambalance | 1 | Engine evens out team sizes. |
mp_limitteams | 2 | Max team-size difference allowed before joins are blocked. |
mp_hostagepenalty | 13 | Kicks a player after killing this many hostages. 0 = off. |
4. Ending a map
| Cvar | Unit / default | Notes |
|---|---|---|
mp_maxrounds | rounds, 0 (ReGameDLL) | End the map after N rounds regardless of time. |
mp_winlimit | wins, 0 (ReGameDLL) | End when a team reaches N round wins. |
mp_fraglimit | frags, 0 | End on individual frag count (deathmatch-style). |
These interact with mapcycle.txt: whichever limit fires first ends the map and advances the cycle. If none is set and mp_timelimit is 0, the map runs forever.
5. Visibility and feel
| Cvar | Unit / default | Notes |
|---|---|---|
mp_flashlight | 1 | Allow flashlights. |
mp_footsteps | 1 | Audible footsteps. 0 makes movement silent (avoid on comp). |
mp_playerid | 0 | 0 shows names on aim for all, 1 team-only, 2 off. |
mp_forcechasecam | 0 | Restrict spectator camera modes for dead players. |
mp_fadetoblack | 0 | 1 fades a dead player's screen to black (anti-ghosting). |
6. Stock versus ReGameDLL — know which you have
The most confusing thing about the mp_ family is that the set of cvars that exist depends on your game library. Stock Valve CS has a fixed list baked into mp.dll / cs.so; setting a cvar it does not know about is a silent no-op — no error, no warning, the value just goes nowhere and you conclude the setting "does nothing". ReGameDLL_CS adds a large second tier of cvars that expose things Valve hard-coded: round and win limits, buy-anywhere, free armor, configurable fall and grenade damage, and more. This is one of the main reasons admins install it.
Because ReGameDLL loads its own game.cfg at startup, that file executes after server.cfg and can quietly override a value you thought you set. If an mp_ cvar keeps reverting, open cstrike/game.cfg — the answer is usually there. When in doubt about whether a cvar exists on your build, type it in the console with no argument: a known cvar echoes its value, an unknown one prints nothing useful. Never copy an mp_ block wholesale from a forum post written for a different engine; verify each line exists on your server first.
Finally, remember these round rules interact with the map rotation and voting. A mp_maxrounds or mp_winlimit that fires before mp_timelimit ends the map early and advances the cycle, which can surprise players mid-vote. Pick one primary limit — time, rounds, or wins — and keep the others off unless you deliberately want a race between them.
Common errors
- Buytime absurdly long — you set
mp_buytimein seconds. It is minutes; use0.25for 15 seconds. - A cvar "does not exist" — it is a ReGameDLL cvar (
mp_maxrounds,mp_winlimit,mp_buy_anywhere,mp_free_armor) and you are on stock CS. Install ReGameDLL, or drop the cvar. - Map never ends —
mp_timelimit 0with no round/win/frag limit set. - Setting ignored — a plugin or
game.cfgre-sets it afterserver.cfg. ReGameDLL executesgame.cfg; check there. - Freezetime feels wrong — you confused it with
mp_roundtime; freezetime is seconds, roundtime is minutes.
Verification
Read any cvar back by typing it with no value in the console:
mp_buytime mp_freezetime mp_roundtime
Then play one round and confirm the timings match — a stopwatch on freezetime and buytime removes all doubt. For the server-level cvars that sit alongside these, see the essential server cvars list.









