Пара конваров game mode и game type в CS2 определяет вообще всё: сколько раундов играется, дают ли деньги на закупку, можно ли купить AWP, работает ли варм-ап, включаются ли боты. Половина вопросов вида «поставил соревновательный сервер, а он играет как казуал» и «не работает mp_maxrounds» сводится именно к ним — и к тому, в каком порядке сервер читает конфиги.
Как работают game_mode и game_type в CS2
game_type задаёт группу режимов, game_mode — конкретный режим внутри группы. По отдельности они бессмысленны, работает только пара.
Рабочие комбинации:
game_type | game_mode | Режим | Конфиг режима |
|---|---|---|---|
| 0 | 0 | Casual, обычный публичный | gamemode_casual_server.cfg |
| 0 | 1 | Competitive, классические 5 на 5 | gamemode_competitive_server.cfg |
| 0 | 2 | Wingman, 2 на 2 на половине карты | gamemode_competitive2v2_server.cfg |
| 1 | 0 | Arms Race, гонка вооружений | gamemode_armsrace_server.cfg |
| 1 | 1 | Demolition | gamemode_demolition_server.cfg |
| 1 | 2 | Deathmatch | gamemode_deathmatch_server.cfg |
| 3 | 0 | Custom — для кастомных настроек и плагинов | gamemode_custom_server.cfg |
Практически всё, что запускают на арендованных серверах, — это 0/1 для матчей, 0/0 для паблика, 1/2 для дезматча и 3/0 под кастомные режимы вроде surf и bhop.
Где их задавать
Ключевой момент, из-за которого ломается больше всего конфигов: game_mode и game_type должны быть известны серверу до загрузки карты. Прописанные в server.cfg они применятся, но с задержкой — карта уже загрузится в предыдущем режиме, и вы получите смешанное состояние.
Правильное место — параметры запуска:
+game_type 0 +game_mode 1 +map de_mirageПолный набор параметров разобран в заметке про параметры запуска сервера CS2.
В server.cfg их дублируют для страховки, и это допустимо, но первичный источник — строка запуска.
Порядок загрузки конфигов
Второй источник путаницы. Сервер читает конфиги в определённой последовательности, и файл режима читается после server.cfg:
server.cfg
gamemode_competitive.cfg
gamemode_competitive_server.cfgОтсюда следствие, которое экономит часы отладки: если вы прописали mp_maxrounds 16 в server.cfg, а сервер играет до 24 — значит, значение перезаписал конфиг режима.
Правильное разделение:
- В
server.cfg— то, что не зависит от режима: hostname, rcon, логи, сеть, права - В
gamemode_ИМЯ_server.cfg— всё, что относится к правилам конкретного режима: раунды, деньги, время, оружие
Файлы с суффиксом _server — ваши. Их Valve не перезаписывает при обновлениях, в отличие от базовых gamemode_competitive.cfg. Правьте только их.
Разбор структуры основного конфига — в заметке про настройку server.cfg.
Что настраивают внутри режима
Для соревновательного сервера типичный gamemode_competitive_server.cfg выглядит примерно так:
mp_maxrounds 24
mp_overtime_enable 1
mp_overtime_maxrounds 6
mp_freezetime 15
mp_roundtime 1.92
mp_roundtime_defuse 1.92
mp_buytime 20
mp_startmoney 800
mp_maxmoney 16000
mp_warmuptime 60
mp_halftime 1Для дезматча набор совсем другой — там правят время матча, респавн, выдачу оружия и бонусное оружие:
mp_teammates_are_enemies 0
mp_timelimit 10
mp_respawn_immunitytime 2
mp_dm_bonus_length_max 30Для кастомных режимов на 3/0 большая часть логики уходит в плагины, а конфиг отвечает только за базу. Про них — в заметках про surf-сервер и bhop-сервер.
Как проверить, что применилось
В консоли сервера:
game_type
game_mode
mp_maxroundsВызов конвара без значения возвращает текущее. Смотреть надо именно на живом сервере после загрузки карты — до неё значения могут быть ещё дефолтными. Как подключиться к консоли удалённо, описано в заметке про настройку RCON.
Если значение не то, которое вы ставили, — проверьте конфиг режима, почти всегда дело в нём.
Частые ошибки
Меняют режим на лету и не перезагружают карту. Смена game_mode без changelevel оставляет сервер в старом режиме до конца карты.
Правят gamemode_competitive.cfg вместо gamemode_competitive_server.cfg. Первый перезапишется при следующем обновлении игры, и настройки тихо откатятся.
Ставят соревновательный режим и удивляются ботам. Боты — отдельная история, управляются своими конварами; см. настройку ботов.
Забывают про mapgroup. Режим задан правильно, но сервер крутит карты не того пула. Про это — настройка mapcycle и mapgroup.
Используют турнирный плагин и одновременно правят конфиги режима. MatchZy и подобные сами выставляют половину конваров при старте матча — ваши значения будут перетёрты. При работе с плагином настраивайте матч через его конфиг.
Коротко
Пара game_type/game_mode задаётся в параметрах запуска, конфиг режима читается после server.cfg и перебивает его, править надо файлы с суффиксом _server, а проверять — вызовом конвара в консоли работающего сервера. Понимание этого порядка снимает большинство вопросов «почему настройка не применилась».
Если сервер только настраивается, начните с общей настройки сервера CS2, а готовые конфигурации под разные режимы есть в тарифах TeaHost под CS2.