Page 1 of 1

CS2 end-of-match map voting and warmup cvars: the votenextmap family, the warmup values, and the current build list

Posted: Sun Oct 25, 2026 2:32 am
by ice
Quick summary

End-of-match map voting and the warmup period are two separate switch groups in CS2. Six convars govern voting for the next map, and ten govern how warmup runs. Valve's own documentation page is a snapshot from October 2023, the s2v.app dump is from the current build, and the third-party Total CS database carries different numbers for four of them. This post lists all three side by side and says which one you should trust for each value.

The end-of-match voting group

Six commands decide whether players get a say in the next map:
  • Code: Select all

    mp_endmatch_votenextmap
    turns the vote on or off at all. Valve's snapshot has it at false. Total CS has it at 1.
  • Code: Select all

    mp_endmatch_votenextmap_keepcurrent
    decides whether the map you just played stays in the voting list. Valve's snapshot has false. Total CS has 1, and its own description says the default is enabled.
  • Code: Select all

    mp_endmatch_votenextleveltime
    is how long the vote stays open. Both references agree on 20 seconds.
  • Code: Select all

    mp_endmatch_votenextmap_wargames_modes
    lists which modes can be voted on during War Games. Valve's snapshot has 0.
  • Code: Select all

    mp_endmatch_votenextmap_wargames_nummaps
    caps the number of maps in a War Games vote. Both agree on 3.
  • Code: Select all

    mp_endmatch_votenextmap_wargames_nummodes
    caps the number of other War Games in the vote. Both agree on 1.
The warmup group
  • Code: Select all

    mp_warmuptime
    is the base warmup length. Valve's snapshot has 90 seconds. Total CS has 120.
  • Code: Select all

    mp_warmuptime_all_players_connected
    replaces that value once everyone is in. Valve's snapshot has 0, which disables it. Total CS has 15.
  • Code: Select all

    mp_warmuptime_match_cancelled
    is what runs if the match is cancelled, for example by a live VAC ban. Both agree on 5.
  • Code: Select all

    mp_endwarmup_player_count
    is how many players must be connected before warmup can end early. Valve's snapshot has 0, which requires the maximum player count for the mode.
  • Code: Select all

    mp_warmup_online_enabled
    and

    Code: Select all

    mp_warmup_offline_enabled
    turn warmup on for online and offline matches separately. Valve's snapshot has both at false.
  • Code: Select all

    mp_warmup_pausetimer
    set to 1 keeps the warmup period running indefinitely. Valve's snapshot has 0.
  • Code: Select all

    mp_warmup_items_drop_policy
    is a bitfield that controls which items can drop during warmup. Valve's snapshot has 247, which the page describes as 1 for a gun, 2 for the c4, 4 for a grenade, 8 for a defuser, 16 for a taser and 32 for a healthshot.
  • Code: Select all

    mp_warmup_items_nocount_policy
    is the matching bitfield for items that are unlimited during warmup. Valve's snapshot has 42.
  • Code: Select all

    mp_warmup_items_nocost
    decides whether weapons are free to buy during warmup. Valve's snapshot has false.
Two commands in this family are not convars and have no default:

Code: Select all

mp_warmup_start
starts warmup and

Code: Select all

mp_warmup_end
ends it immediately.

What the current build actually lists

The s2v.app convar dump names its build, 11162119, dated October 22 2026, and gives every entry a description with no default value column. On the warmup and voting family it matches Valve's wording closely. Its entry for

Code: Select all

mp_endmatch_votenextleveltime
reads "If mp_endmatch_votenextmap is set, players have this much time to vote on the next map at match end", which is the same sentence Valve's page prints.

Code: Select all

mp_warmuptime
reads "How long the warmup period lasts. Changing this value resets warmup."

One command is present in the dump with no description at all:

Code: Select all

mp_warmup_jointeam_cooldown
appears in the list but carries no text next to it. If you need to know what it does, the dump cannot tell you.

The disagreement, and which side to take

Three references, four contested values:
  • Code: Select all

    mp_endmatch_votenextmap
    : Valve false, Total CS 1.
  • Code: Select all

    mp_endmatch_votenextmap_keepcurrent
    : Valve false, Total CS 1.
  • Code: Select all

    mp_warmuptime
    : Valve 90, Total CS 120.
  • Code: Select all

    mp_warmuptime_all_players_connected
    : Valve 0, Total CS 15.
The pattern is that Valve's page is a snapshot and Total CS carries the CS:GO-era defaults. Valve's page says so itself in its notes: "Retrieved October 2, 2023 Build: 9832 (revision 8384867)". That makes the Total CS figures the ones that matter for a server you run today, and the Valve figures useful only as a record of what the shipped defaults were three years ago.

The official update notes support that reading. The September 23 2026 entry states that "Warmup time once all players have connected, freeze time, and technical timeout time are all reduced." A reduced warmup value is a change away from the old default, which is what you would expect if the older number was the CS:GO-era one. The October 22 2026 entry adds

Code: Select all

GameRules.StartWarmup
and

Code: Select all

GameRules.EndWarmup
for map scripting, and moves

Code: Select all

Instance.IsWarmupPeriod
and the other round-state reads onto the new

Code: Select all

GameRules
export. Neither entry touches the cvar defaults, so there is no current Valve anchor for them beyond the snapshot.

Setting it on your own server

Put the values in your server config file rather than typing them into the console, so they survive a restart:

Code: Select all

mp_endmatch_votenextmap "1"
mp_endmatch_votenextmap_keepcurrent "1"
mp_endmatch_votenextleveltime "20"
mp_warmuptime "120"
mp_warmuptime_all_players_connected "15"
mp_warmuptime_match_cancelled "5"
mp_warmup_online_enabled "1"
Two things worth knowing before you change anything. Valve's snapshot lists flags on every row, and the page never defines what the flags mean. It does not explain

Code: Select all

sv
,

Code: Select all

cl
,

Code: Select all

rep
,

Code: Select all

nf
or

Code: Select all

release
. It only shows which rows carry them and which carry

Code: Select all

cheat
. Do not assume a flag means something it does not say. And

Code: Select all

mp_warmup_online_enabled
and

Code: Select all

mp_warmup_offline_enabled
are both false in Valve's snapshot, which means a server with no explicit config gets no warmup at all. If your warmup is missing, that is why.

FAQ

Does the vote work if the map just played is in the list? Only if

Code: Select all

mp_endmatch_votenextmap_keepcurrent
is set. Valve's page says that if it is not set, the current map will not appear in the list of voting options.

Why does my warmup ignore mp_warmuptime? Valve's page says changing

Code: Select all

mp_warmuptime
resets warmup. Set it once at startup, then leave it alone.

Can I end warmup early? Yes.

Code: Select all

mp_endwarmup_player_count
sets how many connected players are needed. At 0 it requires the maximum player count for the mode.

Is the s2v.app dump enough on its own? No. It has no default values, only descriptions. Pair it with Total CS for the numbers.

Are the War Games settings used in normal matchmaking? Valve's snapshot has

Code: Select all

mp_endmatch_votenextmap_wargames_modes
at 0, so no modes are available for endmatch voting during War Games on a default server.

Sources

Valve Developer Community, List of Counter-Strike 2 console commands and variables (snapshot, October 2 2023, build 9832)
s2v.app CS2 convar dump, build 11162119, October 22 2026
Total CS, mp_endmatch_votenextmap
Total CS, mp_endmatch_votenextmap_keepcurrent
Total CS, mp_endmatch_votenextleveltime
Total CS, mp_warmuptime
Total CS, mp_warmuptime_all_players_connected
Total CS, mp_warmuptime_match_cancelled
Counter-Strike 2 official update notes