TeaHost
Counter-Strike 2cs2режимыserver.cfgнастройка4 мин. чтения

Настройка game_mode и game_type в CS2

Как работают game mode и game type в CS2: все комбинации для казуала, соревновательного, Wingman и дезматча, порядок загрузки конфигов и частые ошибки

Кратко

Режим сервера CS2 задаёт пара game_type и game_mode: 0/0 — Casual, 0/1 — Competitive, 0/2 — Wingman, 1/2 — Deathmatch, 3/0 — Custom для surf и bhop. Задавайте её в параметрах запуска до загрузки карты, а правила режима пишите в gamemode_ИМЯ_server.cfg: он читается после server.cfg и перебивает его значения.

Пара конваров game mode и game type в CS2 определяет вообще всё: сколько раундов играется, дают ли деньги на закупку, можно ли купить AWP, работает ли варм-ап, включаются ли боты. Половина вопросов вида «поставил соревновательный сервер, а он играет как казуал» и «не работает mp_maxrounds» сводится именно к ним — и к тому, в каком порядке сервер читает конфиги.

Как работают game_mode и game_type в CS2

game_type задаёт группу режимов, game_mode — конкретный режим внутри группы. По отдельности они бессмысленны, работает только пара.

Рабочие комбинации:

game_typegame_modeРежимКонфиг режима
00Casual, обычный публичныйgamemode_casual_server.cfg
01Competitive, классические 5 на 5gamemode_competitive_server.cfg
02Wingman, 2 на 2 на половине картыgamemode_competitive2v2_server.cfg
10Arms Race, гонка вооруженийgamemode_armsrace_server.cfg
11Demolitiongamemode_demolition_server.cfg
12Deathmatchgamemode_deathmatch_server.cfg
30Custom — для кастомных настроек и плагинов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.