Настройка сервера CS2: server.cfg, режимы и полезные команды
Это руководство для операторов выделенных серверов Counter-Strike 2. Мы разберем структуру конфигов, ключевые cvars и связку game_type с game_mode, дадим готовые блоки server.cfg и покажем, как добавить сервер в мониторинг. Все команды и значения приведены как есть - копируйте их прямо в конфиг.
Где лежат конфиги: server.cfg и autoexec
Конфиги выделенного сервера CS2 находятся в папке game/csgo/cfg. Основной файл - server.cfg, он выполняется при старте карты и задает имя сервера, пароли, режим и правила матча.
Файл autoexec.cfg удобен для настроек, которые должны примениться один раз при запуске сервера (сетевые лимиты, fps_max). Чтобы он выполнялся, добавьте exec autoexec в server.cfg или в параметры запуска.
Разделяйте логику: глобальные и сетевые параметры в autoexec, правила конкретного матча в server.cfg и в режимных конфигах (gamemode_competitive_server.cfg и подобных).
Базовые параметры: hostname, sv_password, sv_lan
Это первое, что стоит задать на новом сервере. hostname определяет, как сервер виден в списке и в мониторинге. sv_password делает сервер приватным. sv_lan переключает режим локальной сети.
Для публичного сервера, видимого в интернете, обязателен GSLT токен (Game Server Login Token). Получите его на странице управления игровыми серверами Steam и пропишите через sv_setsteamaccount.
| Cvar | Назначение | Пример |
|---|---|---|
| hostname | Имя сервера в списке и мониторинге | hostname "crazypub | Retake" |
| sv_password | Пароль на вход (пусто = открытый) | sv_password "" |
| sv_lan | Режим LAN (0 для интернета) | sv_lan 0 |
| sv_region | Регион сервера для матчмейкинга | sv_region 3 |
| sv_setsteamaccount | GSLT токен для публичного сервера | sv_setsteamaccount "TOKEN" |
Тикрейт и sub-tick в CS2
В отличие от CS:GO, в Counter-Strike 2 нет привычного выбора тикрейта 64/128 через параметр запуска. Движок Source 2 использует sub-tick: обработка выстрелов и движения привязана к точному моменту времени внутри тика, а не к границе тика.
На практике это значит, что попытки задать tickrate 128, как в CS:GO, ничего не дают - сервер работает на фиксированной частоте, а точность обеспечивается sub-tick. Не тратьте время на старые параметры -tickrate из гайдов по CS:GO.
Если в гайде вам предлагают добавить -tickrate 128 для CS2 - это устаревший совет от CS:GO. В CS2 он не нужен и не влияет на точность благодаря sub-tick.
Режим игры: game_type и game_mode
Формат игры в CS2 задается парой cvars: game_type выбирает категорию, а game_mode - конкретный режим внутри нее. Эту пару нужно задавать вместе и до загрузки карты, поэтому ее обычно ставят в параметрах запуска или в начале конфига.
| Режим | game_type | game_mode |
|---|---|---|
| Соревновательный (Competitive) | 0 | 1 |
| Обычный (Casual) | 0 | 0 |
| Гонка вооружений (Arms Race) | 1 | 0 |
| Уничтожение (Demolition) | 1 | 1 |
| Дезматч (Deathmatch) | 1 | 2 |
| Wingman (2 на 2) | 0 | 2 |
| Кастомный (Custom) | 3 | 0 |
// Соревновательный режим
game_type 0
game_mode 1
// Дезматч
// game_type 1
// game_mode 2Правила раунда и экономика: mp_ cvars
После выбора режима тонкая настройка матча делается через cvars mp_. Они управляют числом раундов, временем, стартовыми деньгами и дружественным огнем. Ниже типовой блок для соревновательного сервера.
| Cvar | Назначение | Пример |
|---|---|---|
| mp_maxrounds | Раундов в матче | mp_maxrounds 24 |
| mp_roundtime | Время раунда (минуты) | mp_roundtime 1.92 |
| mp_roundtime_defuse | Время на картах с разминированием | mp_roundtime_defuse 1.92 |
| mp_freezetime | Заморозка в начале раунда (сек) | mp_freezetime 15 |
| mp_buytime | Время на закупку (сек) | mp_buytime 20 |
| mp_startmoney | Стартовые деньги | mp_startmoney 800 |
| mp_maxmoney | Лимит денег | mp_maxmoney 16000 |
| mp_friendlyfire | Урон по союзникам | mp_friendlyfire 1 |
| mp_overtime_enable | Включить овертайм при ничьей | mp_overtime_enable 1 |
| mp_autoteambalance | Автобаланс команд | mp_autoteambalance 1 |
// Правила соревновательного матча
mp_maxrounds 24
mp_roundtime 1.92
mp_roundtime_defuse 1.92
mp_freezetime 15
mp_buytime 20
mp_startmoney 800
mp_maxmoney 16000
mp_friendlyfire 1
mp_overtime_enable 1
mp_autoteambalance 1
mp_restartgame 1Боты на сервере
Боты помогают заполнить пустой сервер и держать активность, пока не подключились живые игроки. Управляйте их числом через bot_quota и режим квоты, а сложностью через bot_difficulty.
| Cvar | Назначение |
|---|---|
| bot_quota 8 | Желаемое число ботов |
| bot_quota_mode fill | fill - боты дополняют до квоты, освобождая слоты живым |
| bot_difficulty 2 | Сложность (0 легко, 3 эксперт) |
| bot_join_after_player 1 | Боты заходят после первого игрока |
| bot_chatter off | Отключить голосовые реплики ботов |
// Боты для заполнения сервера
bot_quota 8
bot_quota_mode fill
bot_difficulty 2
bot_join_after_player 1Производительность и сеть: fps_max и sv_minrate
Сетевые лимиты определяют, сколько данных сервер шлет клиентам и насколько плавно идет игра. Их разумно держать в autoexec, чтобы задавались один раз при старте. На выделенном сервере fps_max обычно ставят в 0 (без ограничения), если процессор справляется.
| Cvar | Назначение | Пример |
|---|---|---|
| fps_max | Лимит FPS сервера (0 = без лимита) | fps_max 0 |
| sv_minrate | Минимальный битрейт на клиента | sv_minrate 128000 |
| sv_maxrate | Максимальный битрейт (0 = без лимита) | sv_maxrate 0 |
| sv_mincmdrate | Минимальный cmdrate клиента | sv_mincmdrate 64 |
| sv_maxcmdrate | Максимальный cmdrate клиента | sv_maxcmdrate 128 |
// autoexec.cfg - применяется один раз при старте
fps_max 0
sv_minrate 128000
sv_maxrate 0
sv_mincmdrate 64
sv_maxcmdrate 128Готовый пример server.cfg
Соберем рассмотренные блоки в один рабочий конфиг для соревновательного сервера. Замените имена и пароли на свои.
// server.cfg - соревновательный сервер CS2
hostname "crazypub | Competitive"
sv_password ""
sv_lan 0
rcon_password "ChangeMe_Strong_Pass"
sv_setsteamaccount "YOUR_GSLT_TOKEN"
// Режим: Competitive
game_type 0
game_mode 1
// Правила матча
mp_maxrounds 24
mp_roundtime 1.92
mp_freezetime 15
mp_startmoney 800
mp_maxmoney 16000
mp_friendlyfire 1
mp_overtime_enable 1
mp_autoteambalance 1
// Сеть и производительность
exec autoexec
mp_restartgame 1Добавление сервера в мониторинг
Когда сервер настроен, добавьте его в мониторинг на monitoringcs2.com. Это дает публичную страницу с онлайном, текущей картой, графиком посещаемости и местом в общем списке - игрокам проще вас найти и вернуться.
Для добавления нужны внешний IP и игровой порт (по умолчанию 27015), а также открытый A2S-запрос - именно по нему мониторинг опрашивает сервер. Убедитесь, что порт не закрыт файрволом и сервер виден извне.
- 1Откройте monitoringcs2.com и перейдите к добавлению сервера.
- 2Укажите IP и порт сервера в формате IP:27015.
- 3Дождитесь первого успешного опроса A2S - после него появятся имя, карта и онлайн.
- 4Скопируйте ссылку на страницу сервера и разместите ее в описании сообщества или Discord.