Настройка server.cfg на сервере CS2

server.cfg хранит общие настройки выделенного сервера CS2: название, пароли, режим доступа, ботов и журналирование. Игровые правила конкретного режима лучше держать в его отдельном конфиге, чтобы CS2 не перезаписала их позднее при загрузке режима.

Где находится server.cfg#

Файл должен называться server.cfg и находиться по пути:

game/csgo/cfg/server.cfg

Если файла нет, создайте его как обычный текстовый файл в кодировке UTF-8. На BazaHost это можно сделать в файловом менеджере панели. Перед редактированием остановите сервер или сохраните резервную копию текущего файла.

Базовый пример#

// Название и доступ
hostname "Мой сервер CS2"
sv_password ""
rcon_password "ЗАМЕНИТЕ_НА_ДЛИННЫЙ_УНИКАЛЬНЫЙ_ПАРОЛЬ"
sv_lan 0

// Боты
bot_quota 0
bot_quota_mode "normal"

// Журнал сервера
log on
sv_logfile 1

Что задают эти строки:

  • hostname определяет название в браузере серверов.
  • sv_password задает пароль для подключения. Пустая строка оставляет сервер открытым.
  • rcon_password защищает удаленную консоль. Не используйте пароль от аккаунта или панели.
  • sv_lan 0 разрешает работу интернет-сервера. Значение 1 предназначено для локальной сети.
  • bot_quota задает квоту ботов. При значении 0 сервер не поддерживает постоянную квоту.
  • bot_quota_mode "normal" означает фиксированное число ботов. Режим fill заполняет ботами места до значения bot_quota, а match поддерживает указанное соотношение ботов к людям.
  • log on включает журнал событий, а sv_logfile 1 разрешает запись в файл. Следите за размером каталога логов на активном публичном сервере.

Не публикуйте рабочие значения rcon_password и sv_password в скриншотах, тикетах и репозиториях.

Как применить изменения#

После сохранения перезапустите сервер. Для большинства изменяемых во время работы параметров достаточно выполнить в консоли панели:

exec server.cfg

Команда exec читает файл из game/csgo/cfg/. Расширение можно не указывать, поэтому exec server также загрузит server.cfg. Если консоль сообщает, что файл не найден, проверьте имя, расширение и путь.

Через игру ту же команду можно передать по RCON:

rcon exec server.cfg

Подключение и защита RCON описаны в статье «Администрирование сервера CS2 через RCON».

Порядок загрузки и приоритет#

При запуске CS2 выполняет общие конфиги, затем конфиг выбранного режима и пользовательский файл вида gamemode_competitive_server.cfg. Значение, выполненное позднее, заменяет более раннее значение той же переменной. Поэтому параметры mp_* и bot_*, которые должны отличаться между режимами, надежнее помещать в соответствующий gamemode_*_server.cfg.

Параметры страницы «Настройки игры» в панели передаются серверу при старте. Не задавайте один и тот же hostname, пароль, режим или карту одновременно в панели и нескольких cfg-файлах: итог зависит от порядка выполнения. Практичная схема такая:

  • карта, game_type, game_mode, GSLT и доступные поля запуска задаются в панели;
  • общие серверные параметры хранятся в server.cfg;
  • правила отдельного режима хранятся в gamemode_<режим>_server.cfg;
  • временные наборы команд запускаются вручную через exec.

Подробнее о сочетаниях game_type и game_mode читайте в статье «Режимы игры и смена карт на сервере CS2». GSLT не следует записывать в открытый cfg-файл, для него есть отдельное поле и инструкция по GSLT.

Не копируйте старые конфиги CS:GO целиком#

В интернете много шаблонов для CS:GO с удаленными, переименованными или неактуальными для CS2 переменными. Не добавляйте большой список cvar без проверки. Если после exec server.cfg консоль выводит Unknown command, удалите такую строку и найдите актуальный эквивалент для CS2.

Особенно не стоит переносить старые настройки 128 tick и сетевые твики. CS2 использует subtick, а ограничения описаны в статье «Tickrate и subtick на сервере CS2».

Что дальше#

Нужен сервер Counter-Strike 2?

Хостинг Counter-Strike 2 на BazaHost: NVMe, Ryzen 9 и защита от DDoS. Тарифы от 449 ₽/мес.

Выбрать тариф