Две самые частые жалобы на свежий дедик звучат так: «разминка длится вечно» и «матч заканчивается на пятнадцатом раунде вместо двадцать четвёртого». Настройка 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 0sv_infinite_ammo 2 даёт бесконечные патроны с сохранением перезарядки — то, что нужно для отработки спреев. Значение 1 убирает перезарядку совсем, и это уже не тренировка.
mp_free_armor 2 выдаёт броню со шлемом, чтобы никого не убивали в голову на разминке случайным флюком.
Отдельный момент: эти строки не должны попасть в матчевую часть конфига. Держите разминку и матч в разных файлах и подключайте через exec — как это устроено, описано в статье про server.cfg. Если стоит MatchZy, за вас это уже сделано в warmup.cfg и live.cfg, смотрите установку MatchZy.
Длина матча: MR12 и MR15
Ключевая переменная одна:
mp_maxrounds 24
mp_halftime 1mp_maxrounds — общее количество раундов за матч, а не количество до победы. mp_halftime 1 включает смену сторон посередине.
| Формат | mp_maxrounds | Побед для выигрыша | Где используется |
|---|---|---|---|
| MR12 | 24 | 13 | Современный соревновательный формат |
| MR15 | 30 | 16 | Классический формат, паблики |
| Овертайм MR3 | mp_overtime_maxrounds 6 | 4 | При ничьей, если mp_overtime_enable 1 |
Дополнительно:
mp_match_can_clinch 1
mp_match_end_restart 0
mp_match_restart_delay 15mp_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 1mp_autoteambalance 0 и mp_limitteams 0 обязательны: иначе сервер начнёт перекидывать игроков между командами, когда кто-то отвалился. mp_forcecamera 1 не даёт мёртвым смотреть за противником.
Применение изменений
Часть переменных подхватывается сразу, часть — только со следующего матча. Надёжный способ применить всё:
exec server.cfg
mp_restartgame 1mp_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 здесь.