Surf-сервер CS2: настройка карт и плагинов
Как поднять surf-сервер в CS2: установка карт, sv_airaccelerate, SurfTimer на CounterStrikeSharp, рекорды и VIP. Полный гайд 2026.
Кратко: Surf-сервер CS2 требует MetaMod + CounterStrikeSharp, плагин CS2SurfTimer и правильных конваров движения (sv_airaccelerate 150). Физика CS2 отличается от CSGO, но при корректных настройках серверы работают стабильно.
Surf-сервер CS2: настройка карт и плагинов
Surf - один из старейших и самых популярных режимов в Counter-Strike, и с переходом на CS2 сообщество активно адаптирует его под движок Source 2. По состоянию на 2026 год инфраструктура для surf в CS2 уже достаточно зрелая: доступны стабильные версии CounterStrikeSharp, несколько форков SurfTimer и сотни портированных карт. Тем не менее настройка surf-сервера CS2 имеет нюансы, которые принципиально отличают его от привычного CSGO - особенно в части физики движения и совместимости плагинов. В этом гайде разберём весь процесс от установки базового сервера до настройки таймера, рекордов и VIP.
Pterohost - игровой хостинг с NVMe-дисками, DDoS-защитой и поддержкой 24/7, оптимизированный под CS2-серверы. Промокод 4START даёт -20% на первый заказ. Заказать CS2 сервер
Требования и предварительная подготовка
Перед началом убедитесь, что у вас есть:
- Выделенный сервер или VPS с Ubuntu 22.04/24.04 или Debian 12 (рекомендуется 4 ГБ ОЗУ, 2+ ядра CPU, 50+ ГБ SSD)
- Базовый CS2 dedicated server установленный через SteamCMD
- Открытые порты: UDP 27015 (игровой), UDP/TCP 27020 (RCON), TCP 27005 (Steam)
Если базовый сервер ещё не настроен, ознакомьтесь со статьёй Установка CS2 сервера - там описана базовая установка через SteamCMD и первичная конфигурация.
Минимальная версия компонентов (актуально на 2026)
| Компонент | Минимальная версия | Где взять |
|---|---|---|
| CS2 Dedicated Server | актуальный билд через SteamCMD | steamcmd |
| MetaMod: Source | 2.0.0-dev (build 1282+) | sourcemm.net |
| CounterStrikeSharp | 1.0.0+ | github.com/roflmuffin/CounterStrikeSharp |
| CS2SurfTimer | актуальный main-branch | github.com/CS2SurfTimer |
Установка MetaMod и CounterStrikeSharp
Surf-таймеры для CS2 работают через CounterStrikeSharp (CSS) - .NET-фреймворк для плагинов. CSS требует MetaMod как слой между игрой и плагинами.
Установка MetaMod
# Скачайте актуальную версию с sourcemm.net
cd /home/steam/cs2-server/game/csgo
wget https://mms.alliedmods.net/mmsdrop/2.0/mmsource-2.0.0-git1282-linux.tar.gz
tar -xzf mmsource-2.0.0-git1282-linux.tar.gz
После распаковки в папке csgo/addons/metamod/ появится файл metaplugins.ini. Проверьте, что в gameinfo.gi добавлена строка для MetaMod:
Game csgo/addons/metamod
Откройте game/csgo/gameinfo.gi и в секции SearchPaths добавьте строку перед первым Game csgo:
Game csgo/addons/metamod
Установка CounterStrikeSharp
# Скачайте актуальный релиз
cd /tmp
wget https://github.com/roflmuffin/CounterStrikeSharp/releases/latest/download/counterstrikesharp-with-runtime-linux.zip
unzip counterstrikesharp-with-runtime-linux.zip -d /home/steam/cs2-server/game/csgo/
После установки структура должна выглядеть так:
csgo/addons/
metamod/
counterstrikesharp/
api/
configs/
plugins/
shared/
Запустите сервер и проверьте в логах наличие строки:
[CounterStrikeSharp] Loaded successfully
Подробнее про SourceMod и плагины - в статье Установка SourceMod и плагинов CS2.
Установка карт surf_
Где брать карты
CS2 использует собственный формат карт .vpk, несовместимый с .bsp из CSGO. Для CS2 подходят:
- Steam Workshop - самый простой способ, карты обновляются автоматически. Команда для добавления воркшоп-карты в ротацию через
host_workshop_map <workshop_id>. - GameBanana (gamebanana.com) - ищите по тегу “CS2 Surf”. Проверяйте, что карта именно для CS2.
- CS2Surf.com - специализированный сайт с каталогом surf-карт для CS2.
Установка карты вручную
# Распакуйте скачанную карту в папку maps
cd /home/steam/cs2-server/game/csgo/maps
# Карта должна иметь расширение .vpk
ls -la surf_*.vpk
Файл маплиста
Создайте файл csgo/cfg/surf_maplist.txt с перечнем карт:
surf_beginner
surf_rookie
surf_kitsune
surf_utopia_njv
surf_mesa
surf_network
surf_aircontrol_ksf
Для автоматической смены карт используйте плагин MultiMapChooser или встроенный MapChooser из CS2SurfTimer.
Настройка физики движения: sv_airaccelerate и другие конвары
Это ключевая часть - именно конвары определяют, будет ли surf “работать” так, как ожидают игроки.
Основные конвары для surf
Создайте файл csgo/cfg/surf.cfg:
// ====================================
// Surf Server Config
// CS2 SurfTimer configuration
// ====================================
// Базовые параметры движения
sv_airaccelerate 150
sv_accelerate 10
sv_friction 4
sv_maxvelocity 3500
sv_maxspeed 320
// Гравитация (стандартная, некоторые карты требуют изменений)
sv_gravity 800
// Отключить стэмину (важно для surf)
sv_staminamax 0
sv_staminajumpcost 0
sv_staminalandcost 0
sv_staminarecoveryrate 0
// Autobhop (обычно включают на surf)
sv_autobunnyhopping 1
sv_enablebunnyhopping 1
// Настройки сервера
sv_cheats 0
sv_competitive_official_5v5 0
sv_lan 0
// Таймаут и AFK
sv_timeout 300
mp_autokick 0
// Отключить коллизии между игроками
mp_solid_teammates 0
// Урон от падения - отключить
sv_falldamage_scale 0
Загрузка конфига при старте карты - добавьте в autoexec.cfg:
exec surf.cfg
Разница физики CS2 vs CSGO
Это важный момент, который часто вызывает вопросы у игроков, переходящих с CSGO:
| Параметр | CSGO | CS2 | Влияние |
|---|---|---|---|
| Тиккрейт сервера | 64/128 | 64 (subtick) | Движение обрабатывается иначе |
| Модель коллизий | BSP-трейс | Source 2 коллизии | Поведение на рампах отличается |
| sv_airaccelerate 150 | Стандарт surf | Работает, но ощущается иначе | Требует привыкания |
| Обработка strafe | Классическая | Subtick-интерполяция | Strafing чуть отзывчивее |
Главное отличие - в CS2 subticksystem означает, что сервер обрабатывает движение между тиками через интерполяцию. Для surf это приводит к тому, что некоторые техники из CSGO работают иначе или требуют небольшой адаптации углов. Значение sv_airaccelerate 150 остаётся стандартом, но часть опытных surf-серверов экспериментирует со значениями 100-200.
Если игроки жалуются на “странное” поведение - попробуйте sv_airaccelerate 100 для более мягкого ощущения или sv_airaccelerate 200 для более отзывчивого.
Установка CS2SurfTimer
Скачивание плагина
cd /tmp
# Клонируйте репозиторий CS2SurfTimer
git clone https://github.com/CS2SurfTimer/CS2SurfTimer.git
cd CS2SurfTimer
Скомпилированные релизы доступны в разделе Releases репозитория. Скачайте актуальный .zip и распакуйте в папку плагинов:
unzip CS2SurfTimer_*.zip -d /home/steam/cs2-server/game/csgo/addons/counterstrikesharp/plugins/CS2SurfTimer/
Структура папки плагина
После установки:
addons/counterstrikesharp/plugins/CS2SurfTimer/
CS2SurfTimer.dll
CS2SurfTimer.pdb
cfg/
CS2SurfTimer.cfg
lang/
en.json
ru.json
Настройка конфига таймера
Отредактируйте CS2SurfTimer.cfg:
{
"DatabaseType": "sqlite",
"DatabaseHost": "",
"DatabasePort": 3306,
"DatabaseName": "surftimer",
"DatabaseUser": "surf",
"DatabasePassword": "",
"DatabasePath": "surftimer.db",
"ChatPrefix": "[Surf]",
"TimerHudType": 1,
"EnableCheckpoints": true,
"MaxCheckpoints": 500,
"EnableVIP": true,
"VIPFlag": "@css/vip",
"EnableBots": true,
"BotCount": 2,
"EnableTop": true,
"TopCount": 50,
"EnableAnnouncements": true,
"SoundOnFinish": true,
"SoundOnCheckpoint": true,
"Language": "ru"
}
Настройка базы данных MySQL (для крупных серверов)
Если планируете несколько серверов с общими рекордами:
{
"DatabaseType": "mysql",
"DatabaseHost": "127.0.0.1",
"DatabasePort": 3306,
"DatabaseName": "surftimer",
"DatabaseUser": "surf_user",
"DatabasePassword": "ваш_пароль"
}
Создайте базу данных:
CREATE DATABASE surftimer CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'surf_user'@'localhost' IDENTIFIED BY 'ваш_пароль';
GRANT ALL PRIVILEGES ON surftimer.* TO 'surf_user'@'localhost';
FLUSH PRIVILEGES;
Таблицы создаются плагином автоматически при первом запуске.
Зоны старта и финиша (Zone Setup)
После установки плагина необходимо расставить зоны на каждой карте. Это делается в игре с правами администратора.
Команды для работы с зонами
!zone - открыть меню управления зонами
!zonemenu - альтернативная команда меню
!addzone start - начать рисовать зону старта
!addzone end - зона финиша
!addzone stage X - зона этапа X (для многоэтапных карт)
!addzone bonus X - бонусная зона
!savezones - сохранить все зоны карты
!deletezone - удалить ближайшую зону
Зоны рисуются по двум точкам (угла bbox) - вы встаёте в один угол, ставите первую точку, переходите в противоположный угол, ставите вторую. Данные сохраняются в базе данных по имени карты автоматически.
Зоны для многоэтапных карт
Для карт с этапами (surf_kitsune, surf_utopia_njv и другие):
!addzone stage 1 - финиш первого этапа (он же старт второго)
!addzone stage 2 - финиш второго этапа
...
!addzone end - финиш всей карты
Настройка VIP-системы
CS2SurfTimer интегрируется с CounterStrikeSharp Admin Framework для управления VIP.
Добавление игрока в VIP
Отредактируйте addons/counterstrikesharp/configs/admins.json:
{
"STEAM_1:0:123456789": {
"identity": "STEAM_1:0:123456789",
"flags": ["@css/vip"],
"immunity": 0
}
}
Привилегии VIP в SurfTimer
В конфиге плагина можно настроить отдельные привилегии для VIP:
{
"VIPSettings": {
"TrailEnabled": true,
"CustomColors": true,
"TeleportToCheckpoint": true,
"ExtraCheckpoints": 1000,
"SpeedBoostEnabled": false,
"HideTimer": true
}
}
Трейлы (цветные следы за игроком) - популярная VIP-привилегия. Для них потребуется дополнительный плагин CS2Trails или аналогичный, совместимый с CounterStrikeSharp.
Дополнительные плагины для surf-сервера
Практичный набор плагинов
| Плагин | Назначение | Репозиторий |
|---|---|---|
| CS2SurfTimer | Основной таймер | github.com/CS2SurfTimer |
| CS2-Advertisements | Реклама/объявления в чате | github.com/K4ryuu |
| CS2-Discord-Utilities | Интеграция с Discord | github.com/NockyCZ |
| CS2-Tags | Теги перед именем | github.com/daffyyyy |
| CS2-HUD-Surf | Кастомный HUD | github.com/CS2SurfTimer |
Команды администратора через RCON
Основные команды управления surf-сервером через RCON описаны в статье Команды CS2 сервера. Наиболее полезные для surf:
rcon changelevel surf_beginner
rcon exec surf.cfg
rcon sv_airaccelerate 150
rcon css_reload_admins
Частые проблемы и их решение
Игроки “проваливаются” сквозь рампы
Причина: Несовместимость карты - карта сделана для CSGO, не портирована под CS2. Решение: Используйте только карты с пометкой CS2 или конвертированные через Hammer Editor Source 2.
Таймер не фиксирует финиш
Причина: Зоны не настроены или сохранены неправильно. Решение:
!zone - проверить наличие зон
!savezones - пересохранить зоны
Убедитесь, что плагин видит зоны: !zonemenu должен показывать список настроенных зон для текущей карты.
Рекорды не сохраняются после рестарта
Причина: Проблема с путём к SQLite-файлу или правами доступа. Решение:
ls -la /home/steam/cs2-server/game/csgo/addons/counterstrikesharp/plugins/CS2SurfTimer/
# Файл surftimer.db должен существовать и иметь права на запись
chmod 664 surftimer.db
Сервер не запускается с MetaMod
Причина: Неверная версия MetaMod или отсутствует строка в gameinfo.gi.
Решение: Проверьте лог csgo/addons/metamod/logs/ - там будет конкретная ошибка. Часто помогает обновление MetaMod до актуального dev-билда.
sv_airaccelerate сбрасывается после смены карты
Причина: Конфиг не загружается автоматически при смене карты.
Решение: Добавьте в csgo/cfg/autoexec.cfg:
exec surf.cfg
Или создайте csgo/cfg/mapname_surf_beginner.cfg - такой конфиг загружается автоматически при входе на карту surf_beginner.
server.cfg для surf-сервера
Полный пример csgo/cfg/server.cfg для surf:
hostname "My Surf Server [CS2] | RU"
sv_password ""
rcon_password "ваш_rcon_пароль"
// Режим игры
game_type 0
game_mode 0
// Физика surf
sv_airaccelerate 150
sv_accelerate 10
sv_friction 4
sv_maxvelocity 3500
sv_gravity 800
// Стамина - отключить
sv_staminamax 0
sv_staminajumpcost 0
sv_staminalandcost 0
sv_staminarecoveryrate 0
// Bunnyhop
sv_autobunnyhopping 1
sv_enablebunnyhopping 1
// Урон от падения
sv_falldamage_scale 0
// Игровые настройки
mp_friendlyfire 0
mp_autokick 0
mp_solid_teammates 0
mp_death_drop_gun 0
mp_death_drop_grenade 0
// Тайм-ауты
sv_timeout 300
mp_timelimit 60
mp_roundtime 60
mp_roundtime_defuse 60
// Логи
log on
sv_logfile 1
Связанные материалы
Если вы только разворачиваете сервер - начните с установки CS2 dedicated server: там описана базовая установка через SteamCMD, настройка systemd и первый запуск. После этого изучите установку плагинов через SourceMod и CounterStrikeSharp - это основа для любых серверных модификаций. Список RCON-команд и управление сервером через консоль собраны в справочнике команд CS2.
Заключение
Surf-сервер на CS2 в 2026 году - вполне реализуемый проект. Основной стек: MetaMod + CounterStrikeSharp + CS2SurfTimer с SQLite или MySQL. Физика CS2 отличается от CSGO из-за subticksystem, но sv_airaccelerate 150 остаётся стандартным стартовым значением. Самое трудоёмкое - расстановка зон на каждой карте и подбор актуальных CS2-совместимых карт с Workshop или GameBanana. При правильной настройке сервер работает стабильно и поддерживает все классические surf-функции: многоэтапные карты, таблицы рекордов и VIP-привилегии.
Pterohost - CS2 серверы на NVMe с постоянной DDoS-защитой и поддержкой в любое время суток. Промокод 4START даёт -20% на первый заказ. Заказать CS2 сервер