TeaHost
Counter-Strike 2cs2настройкаматчи5 мин. чтения

Настройка warmup на CS2 сервере: разминка и раунды

Настройка warmup на CS2 сервере и параметров раундов: mp_warmuptime, бесконечная разминка, MR12 и MR15, овертайм, фризтайм и время раунда в server.cfg

Кратко

Разминку на сервере CS2 задают mp_do_warmup_period, mp_warmuptime в секундах и mp_warmup_pausetimer 1 для бесконечной разминки. Длина матча — mp_maxrounds: 24 для MR12 и 30 для MR15, вместе с mp_halftime 1 и mp_match_can_clinch 1; овертайм — mp_overtime_enable 1 и mp_overtime_maxrounds 6. Применить всё сразу — exec server.cfg и mp_restartgame 1.

Две самые частые жалобы на свежий дедик звучат так: «разминка длится вечно» и «матч заканчивается на пятнадцатом раунде вместо двадцать четвёртого». Настройка warmup на CS2 сервере и параметров раундов делается десятком переменных в server.cfg, но они взаимозависимы — поменяв одну, легко получить бесконечный матч или мгновенный переход к финалу. Разберём их по группам и соберём готовые конфиги под паблик и под матч.

Разминка: базовые переменные warmup на CS2 сервере

код
mp_do_warmup_period 1
mp_warmuptime 60
mp_warmuptime_all_players_connected 20
mp_warmup_pausetimer 0
ПеременнаяЧто делает
mp_do_warmup_period 1Разминка включена. Ноль — сервер сразу стартует матч
mp_warmuptimeДлительность разминки в секундах
mp_warmuptime_all_players_connectedНа сколько секунд сократить таймер, когда все ожидаемые игроки уже зашли
mp_warmup_pausetimer 1Заморозить обратный отсчёт — разминка не кончится сама

Бесконечная разминка нужна на пикап-сервере: люди подтягиваются по одному, и никто не хочет попасть в уже начавшийся матч. Включается именно mp_warmup_pausetimer 1, а не гигантским mp_warmuptime.

Управлять разминкой можно на лету:

код
mp_warmup_start
mp_warmup_end

Первая запускает разминку прямо сейчас, вторая обрывает и переводит сервер в матч. Обе удобно кидать по RCON, не заходя в игру.

Что дать игрокам во время разминки

Голая разминка бесполезна — люди стоят в спавне. Стандартный набор:

код
sv_infinite_ammo 2
mp_buy_anywhere 1
mp_buytime 9999
mp_startmoney 16000
mp_free_armor 2
mp_death_drop_gun 0
mp_respawn_immunitytime 0

sv_infinite_ammo 2 даёт бесконечные патроны с сохранением перезарядки — то, что нужно для отработки спреев. Значение 1 убирает перезарядку совсем, и это уже не тренировка.

mp_free_armor 2 выдаёт броню со шлемом, чтобы никого не убивали в голову на разминке случайным флюком.

Отдельный момент: эти строки не должны попасть в матчевую часть конфига. Держите разминку и матч в разных файлах и подключайте через exec — как это устроено, описано в статье про server.cfg. Если стоит MatchZy, за вас это уже сделано в warmup.cfg и live.cfg, смотрите установку MatchZy.

Длина матча: MR12 и MR15

Ключевая переменная одна:

код
mp_maxrounds 24
mp_halftime 1

mp_maxrounds — общее количество раундов за матч, а не количество до победы. mp_halftime 1 включает смену сторон посередине.

Форматmp_maxroundsПобед для выигрышаГде используется
MR122413Современный соревновательный формат
MR153016Классический формат, паблики
Овертайм MR3mp_overtime_maxrounds 64При ничьей, если mp_overtime_enable 1

Дополнительно:

код
mp_match_can_clinch 1
mp_match_end_restart 0
mp_match_restart_delay 15

mp_match_can_clinch 1 завершает матч, как только одна из команд набрала недостижимое для соперника количество побед — иначе сервер честно доиграет все 24 раунда при счёте 13:2.

Овертайм

код
mp_overtime_enable 1
mp_overtime_maxrounds 6
mp_overtime_startmoney 10000
mp_overtime_halftime_pausetimer 0

Овертайм — MR3, то есть 6 раундов, со стартовыми деньгами 10000. Если mp_overtime_enable 0, матч при ничьей просто закончится вничью, что для паблика нормально, а для турнира — нет.

mp_overtime_startmoney заметно влияет на баланс: 10000 — стандарт, 16000 делает овертайм чистым дуэлем без экономики.

Время раунда, фризтайм и мелочи

код
mp_freezetime 15
mp_roundtime 1.92
mp_roundtime_defuse 1.92
mp_roundtime_hostage 1.92
mp_round_restart_delay 5
mp_team_intro_time 0
mp_c4timer 40

Несколько неочевидных вещей:

  • mp_roundtime задаётся в минутах дробным числом. 1.92 — это 115 секунд, соревновательный стандарт. Просто 2 даст 120 секунд и слегка сдвинет тайминги раскидок.
  • Для режима с бомбой значение берётся из mp_roundtime_defuse, а не из mp_roundtime. Ставьте обе, чтобы не гадать.
  • mp_freezetime 15 — стандарт для матча. На паблике 6–10 секунд комфортнее, иначе люди скучают.
  • mp_team_intro_time 0 убирает заставку с представлением команд, которая на паблике только раздражает.

Готовый блок для паблика

код
mp_do_warmup_period 1
mp_warmuptime 30
mp_warmup_pausetimer 0
mp_maxrounds 30
mp_halftime 1
mp_match_can_clinch 1
mp_overtime_enable 0
mp_freezetime 8
mp_roundtime_defuse 1.92
mp_round_restart_delay 5
mp_team_intro_time 0
mp_autoteambalance 1
mp_limitteams 2

Короткая разминка, MR15 без овертайма, быстрый фризтайм. Люди заходят и играют, а не ждут.

Готовый блок для матча

код
mp_do_warmup_period 1
mp_warmuptime 999999
mp_warmup_pausetimer 1
mp_maxrounds 24
mp_halftime 1
mp_match_can_clinch 1
mp_overtime_enable 1
mp_overtime_maxrounds 6
mp_overtime_startmoney 10000
mp_startmoney 800
mp_freezetime 15
mp_roundtime_defuse 1.92
mp_autoteambalance 0
mp_limitteams 0
mp_forcecamera 1
mp_solid_teammates 1

mp_autoteambalance 0 и mp_limitteams 0 обязательны: иначе сервер начнёт перекидывать игроков между командами, когда кто-то отвалился. mp_forcecamera 1 не даёт мёртвым смотреть за противником.

Применение изменений

Часть переменных подхватывается сразу, часть — только со следующего матча. Надёжный способ применить всё:

код
exec server.cfg
mp_restartgame 1

mp_restartgame 1 перезапускает игру через секунду, сбрасывая счёт. На матчевом сервере после этого придётся заново проходить готовность.

Если после exec ничего не изменилось, проверьте порядок: конфиг режима, который подтягивается из gamemodes_server.txt, выполняется позже вашего и может перетереть значения. Про эту связку — в статьях про game_mode и game_type и mapcycle и mapgroup.

Частые вопросы

Почему разминка не заканчивается, хотя pausetimer выключен?

Скорее всего, сервер ждёт минимального количества игроков. Проверьте mp_warmup_pausetimer и наличие плагина, который управляет разминкой самостоятельно, — MatchZy держит разминку до .ready обеих команд.

Почему матч заканчивается раньше времени?

mp_match_can_clinch 1 завершает игру при недостижимом счёте. Если хочется доигрывать всегда — ставьте 0.

Как сделать матч без смены сторон?

mp_halftime 0. Формат странный, но иногда нужен для тренировочных сессий на одной стороне.

Коротко

Разминка — mp_do_warmup_period, mp_warmuptime и mp_warmup_pausetimer. Длина матча — mp_maxrounds вместе с mp_halftime и mp_match_can_clinch. Овертайм — отдельным блоком. Держите паблик-конфиг и матч-конфиг в разных файлах, и переключение режимов сведётся к одной команде exec.

Если сервер только собираете и хочется править конфиги прямо в браузере с мгновенным рестартом — тарифы под CS2 здесь.