MAATRIX GAMES / Блог / Настройка кастомных режимов: surf, bhop, deathmatch

Настройка кастомных режимов: surf, bhop, deathmatch

MAATRIX GAMES

Стандартный CS2-сервер из коробки заточен под классику: 5x5, раунды, покупка оружия. Но стоит захотеть surf-полосу, bhop-разминку для прыжковой техники или дэтматч без раундов для тренировки прицела — и половина привычных конваров либо не работает, либо ведёт себя иначе, чем в CS:GO. Разберём по каждому режиму: что реально нужно прописать в конфигах, какие карты и файлы задействовать, и где заканчиваются возможности голых конваров и начинается территория плагинов.

Surf: карты, воздух и sv_airaccelerate

Surf держится на двух вещах: специальных картах с наклонными поверхностями (обычные de_ и cs_ карты для этого не подходят — нужна геометрия, заточенная под скольжение) и конваре, который отвечает за ускорение в воздухе.

По умолчанию sv_airaccelerate выставлен слишком низко для комфортного серфинга — стандартное движение "воздухом" на нём практически не работает. Сообщество surf-серверов годами использует значение около 150 как отправную точку — оно даёт ощутимый воздушный контроль, но не превращает игру в невесомость. Некоторые площадки под конкретные стили карт (например, "ramp" против "linear" surf) подстраивают его выше или ниже — тут нет единственно верного числа, экспериментируйте под свою аудиторию.

Базовый набор в server.cfg для surf-режима:

sv_airaccelerate 150
sv_accelerate 5
sv_gravity 800
sv_cheats 0
mp_friendlyfire 0
mp_roundtime 60
mp_maxrounds 0
mp_free_armor 1

Карты ставятся так же, как любые Workshop-карты — через SteamCMD или подписку на коллекцию в Workshop, с прописыванием в gamemodelist и mapcycle. Если ещё не поднимали сервер с нуля и не разбирались с базовой установкой через SteamCMD, GSLT-токеном и systemd-автозапуском — почитайте инструкцию по установке CS2-сервера, там пошагово разобран весь процесс от нуля до рабочего сервера, здесь фокус только на логике режима.

Важный нюанс: sv_airaccelerate в общем server.cfg применится ко всем картам подряд, включая обычные соревновательные, если они тоже есть в ротации. Если сервер смешанный (surf плюс обычные карты), это сломает баланс движения в классике. Решение — per-map конфиги (об этом ниже, в разделе про gamemodes_server.txt).

Bhop: физика прыжков без потери скорости

Bunny hop — это когда игрок прыгает без остановки, сохраняя и набирая скорость воздушными страфами. В CS2 (как и в CS:GO) есть встроенная система "стамины", которая специально мешает бесконечному прыганью: с каждым последующим прыжком высота и скорость немного проседают, если не соблюдать тайминг. Для bhop-сервера это нужно либо смягчить, либо убрать совсем — в зависимости от того, какой стиль вы хотите: "auto bhop" (сервер сам держит прыжок, пока зажат пробел) или "legit" (игрок обязан жать прыжок вручную с точным таймингом).

Конвары, которые отвечают за это:

sv_enablebunnyhopping 1
sv_autobunnyhopping 1
sv_staminamax 0
sv_staminajumpcost 0
sv_staminalandcost 0
sv_staminarecoveryrate 0
sv_airaccelerate 1000
sv_accelerate 10

sv_autobunnyhopping 1 включает автопрыжок — удобно для казуальных bhop-серверов, где игроки просто хотят кататься по трассе без задротства с таймингом. Для "legit"-серверов, где ценится именно скилл нажатия прыжка в нужный момент, ставьте sv_autobunnyhopping 0 и оставляйте sv_enablebunnyhopping 1 — тогда прыжок засчитывается только при ручном нажатии в правильный момент приземления.

Обнулённые стамина-конвары убирают штраф за частые прыжки — без этого даже с включённым bhop игрок будет терять скорость на 4-5 прыжке подряд, и весь смысл режима теряется. sv_airaccelerate для bhop обычно ставят заметно выше, чем для surf, — трассы bhop короче и требуют резких, а не плавных манёвров в воздухе.

Поднять сервер Counter-Strike 2 за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Deathmatch: респаун без раундов

Классический раундный цикл (купил — умер — жди раунда) в дэтматче не нужен — игроки должны респауниться сразу и без пауз, оттачивая прицел и позиционирование. За это отвечает не один конвар, а связка mp_ параметров.

mp_respawn_on_death_ct 1
mp_respawn_on_death_t 1
mp_respawnwavetime 0
mp_ignore_round_win_conditions 1
mp_roundtime 60
mp_maxrounds 0
mp_free_armor 2
mp_randomspawn 1
mp_randomspawn_los 0
mp_teammates_are_enemies 1
mp_solid_teammates 0
mp_buy_anywhere 1
mp_buytime 9999
mp_startmoney 16000
mp_afterroundmoney 16000

Разберём ключевые:

  • mp_respawn_on_death_ct / mp_respawn_on_death_t — включают немедленный респаун после смерти для каждой стороны отдельно.
  • mp_ignore_round_win_conditions 1 — раунд не завершается по стандартным условиям (все убиты, бомба взорвалась) — это то, что превращает "раунды" в непрерывный поток респаунов.
  • mp_free_armor 2 — выдаёт броню и шлем сразу при респауне, без похода в магазин. Значение 1 даёт только броню без шлема, 0 — ничего.
  • mp_randomspawn 1 — респаун в случайных точках карты, а не в стандартных зонах Т/CT, чтобы не было предсказуемых спавн-килов.
  • mp_teammates_are_enemies 1 — превращает режим в free-for-all: свои тоже враги. Уберите этот конвар (или поставьте 0), если хотите классический дэтматч "команда на команду".
  • mp_buy_anywhere 1 и большой mp_buytime — покупка оружия в любой точке карты в любой момент, без привязки к раунду.

Отдельно стоит проверить mp_weapons_allow_zeus, mp_weapons_allow_map_placed и лимиты на конкретное оружие через mp_death_drop_gun/mp_death_drop_grenade, если хотите контролировать, что остаётся на карте после смерти — на плотных дэтматч-серверах трупы с оружием быстро захламляют пол.

gamemodes_server.txt и разблокировка нестандартных конваров

Часть конваров в CS2 заблокирована вне определённых игровых режимов — Valve защищает целостность соревновательного и казуального режимов от произвольных твиков. Чтобы surf- и bhop-настройки вроде sv_airaccelerate применялись стабильно, сервер обычно переводят в кастомный game_type/game_mode через файл gamemodes_server.txt (лежит в game/csgo/cfg/), а не пытаются продавить их поверх штатного competitive или casual. Список заблокированных вне custom-режима конваров периодически меняется от патча к патчу — если что-то не применяется, первым делом проверяйте именно это, а не опечатку в команде.

Практичнее всего разносить настройки по картам, а не держать всё в одном server.cfg. CS2 автоматически подхватывает файл cfg/<имя_карты>.cfg при загрузке конкретной карты — туда и кладите специфичные для surf или bhop конвары, а общий server.cfg оставляйте под настройки, одинаковые для всего сервера (порт, хостнейм, RCON-пароль). Так смешанная ротация карт не ломает баланс движения на обычных картах.

Плагины для гибкой кастомизации

Голых конваров хватает для базовой физики движения и правил респауна, но полноценный surf нужен с таймером прохождения, чекпоинтами и телепортом на старт после падения — это уже логика, которую конвары не покрывают. Для этого используют плагины поверх фреймворка Metamod:Source (загрузчик, который встраивается между движком и игрой) и CounterStrikeSharp — актуальную на 2026 год платформу для написания плагинов CS2 на C#/.NET, пришедшую на смену SourceMod-плагинам эпохи CS:GO.

Через CounterStrikeSharp реализуют то, что вручную конварами не собрать: HUD со спидометром и таймером круга для surf, таблицы лидеров и статистику по прыжкам для bhop, кастомные меню оружия и логику урона для дэтматча. Экосистема плагинов под CS2 моложе, чем была у SourceMod под CS:GO, — многие полезные модули community ещё дорабатывает, поэтому перед установкой любого плагина проверяйте, под какую именно версию CounterStrikeSharp и билд сервера он собран: рассинхрон версий — частая причина падения сервера при старте карты.

Типичные грабли и проверка настроек

  • Конвар не применился после смены карты. Проверьте, не лежит ли он в общем server.cfg, который перезаписывается настройками из <mapname>.cfg или самого режима — порядок исполнения конфигов в CS2 важен, более поздний файл переопределяет более ранний.
  • Workshop-карта не подгружается. Убедитесь, что ID карты (или коллекции) прописан в gamemodelist и добавлен в mapcycle.txt — простое наличие карты на диске после SteamCMD-загрузки ещё не значит, что сервер знает о её существовании.
  • Забытый sv_cheats 1. Иногда его включают для тестов телепорта или noclip и забывают выключить — это дыра в безопасности сервера, обязательно возвращайте sv_cheats 0 перед тем как открывать сервер для игроков.
  • Проверка значений вживую. Через RCON можно в любой момент свериться с текущим состоянием: rcon_password <пароль> и затем mp_free_armor без значения — сервер вернёт текущее значение конвара, это быстрее, чем перезапускать сервер ради проверки.
  • Смешение режимов на одном сервере. Если хотите surf и deathmatch на одном инстансе через ротацию, per-map конфиги — не опция, а обязательное условие: иначе настройки одного режима будут "протекать" в другой.

Поднять сервер Counter-Strike 2 за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

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

Нужны ли отдельные карты для surf и bhop, или подойдут обычные?

Нужны отдельные — карты для surf и bhop проектируются специально под эту механику (наклонные поверхности, прыжковые блоки), обычные de_/cs_ карты для этого не годятся геометрически.

Можно ли совместить bhop и deathmatch на одном сервере?

Технически да, через ротацию карт и per-map конфиги, но аудитория у этих режимов разная — bhop игроки чаще хотят чистую механику без стрельбы, а смешение может размыть и то, и другое.

Почему mp_-конвары не применяются сразу после ввода команды?

Часть mp_-конваров применяется только на старте следующего раунда или карты, а не мгновенно — это нормальное поведение движка, не баг конфига.

Ломает ли custom game_type статистику и матчмейкинг?

Кастомный сервер с нестандартными конварами не участвует в официальном матчмейкинге Valve и не пишет статистику в профиль так, как соревновательные матчи, — это ожидаемо для любого community-сервера с изменённой логикой.

Обязательны ли плагины, или можно обойтись только конварами?

Для базовой физики surf/bhop/deathmatch — можно обойтись конварами из этой статьи. Плагины нужны, когда хочется таймеров, лидербордов, кастомных меню и логики, которую движок сам не считает.