2hours.gg/

Игровые серверы на часы. Платите, только когда играете.

Как настроить приватный ванильный сервер Counter-Strike 2

Почти каждый гайд по серверу CS2 в интернете — на деле гайд по MatchZy: полноценный плагин для соревновательных матчей, ножевые раунды и куча конфига. Здесь всё наоборот. Вам нужен приватный выделенный сервер CS2 для вас и друзей, чистый ваниль, без плагинов. Настройка гораздо короче, чем кажется по интернету, и всё сводится к одному, что большинство упускает: токен входа теперь обязателен.

Сначала: токен GSLT (не опционально)

CS2 не примет подключения на публичном IP без Game Server Login Token (GSLT). Это самая частая причина, по которой свежий сервер «нормально стартует, но никто не может зайти». Получите его бесплатно:

  • Перейдите на страницу Steam Game Server Account Management (steamcommunity.com/dev/managegameservers).
  • Создайте токен для app ID 730 (Counter-Strike 2). В ответ вы получите длинную строку.
  • Он привязан к вашему аккаунту Steam. Один токен на сервер. Не делитесь им: утёкший токен может привести к бану серверов вашего аккаунта.

Установка сервера

Выделенный сервер CS2 — это app 730 (то же, что и игра). Установите его через SteamCMD:

./steamcmd.sh +login anonymous \
  +app_update 730 validate \
  +quit

Анонимный вход работает; владеть игрой на аккаунте сервера не нужно. Конфиг находится по пути:

<install>/game/csgo/cfg/server.cfg

Ванильный server.cfg

Вставьте это, измените три значения, отмеченные CHANGE ME. Никаких плагинов, без MatchZy.

// --- Identity ---
hostname "My Private CS2 Server"          // CHANGE ME
sv_setsteamaccount "YOUR_GSLT_TOKEN"      // CHANGE ME - the token from above

// --- Lock it down ---
sv_password "friends-only"                // CHANGE ME - join password
rcon_password "pick-a-long-secret"        // admin console over RCON

// --- Vanilla behaviour ---
sv_cheats 0
sv_pure 1
sv_lan 0
mp_autoteambalance 1
mp_limitteams 2

// --- A sane private match ---
mp_maxrounds 24
mp_roundtime 1.92
mp_freezetime 15
mp_warmuptime 30
sv_alltalk 0
sv_deadtalk 1

Это полный приватный соревновательный конфиг. Режима игры и стартовой карты тут НЕТ: CS2 задаёт их в строке запуска, потому что game_type и game_mode должны быть известны до загрузки карты.

Строка запуска

Запустите сервер из папки установки. Учтите: теперь это бинарник cs2 с -dedicated, а не srcds_run:

./game/bin/linuxsteamrt64/cs2 -dedicated \
  -ip 0.0.0.0 -port 27015 \
  +game_type 0 +game_mode 1 \
  +map de_dust2 \
  -maxplayers 10 \
  +exec server.cfg
  • game_type 0 + game_mode 1 — стандартный соревновательный 5v5. Другие режимы смотрите в таблице ниже.
  • map de_dust2 — стартовая карта. Подойдёт любая официальная карта (de_mirage, de_inferno, cs_office…).
  • exec server.cfg применяет ваши cvar, включая sv_setsteamaccount, до подключения игроков.
  • Порт 27015 — игровой порт и порт запросов A2S. Откройте его в файрволе (UDP + TCP).

Пары game_type / game_mode

В CS2 нет единого cvar «mode». Каждый режим — это пара из двух чисел:

game_type  game_mode   Mode
    0          0        Casual
    0          1        Competitive (5v5)
    0          2        Wingman (2v2)
    0          3        Hostage / Casual (cs_ maps)
    1          0        Arms Race
    1          1        Demolition
    1          2        Deathmatch

Смена game_type на работающем сервере в CS2 нестабильна, так что выбирайте режим в строке запуска и перезапускайте процесс, чтобы его сменить. Менять только карту (changelevel de_mirage) в рамках того же режима — нормально.

Загрузка карты из Workshop

Карты Workshop — не аргумент запуска. Вы загружаете их во время работы через host_workshop_map и Workshop ID карты, и сервер скачивает и хостит её. Сначала добавьте -disable_workshop_command_filtering в строку запуска, затем в консоли сервера (или по RCON):

host_workshop_map 3070315466

Число — это ID из URL страницы Workshop. Первая загрузка тянет карту из Steam, так что дайте ей момент. Это единственная ловушка CS2, на которой все спотыкаются: указание имени карты Workshop после +map в строке запуска не делает ничего; нужно host_workshop_map.

Как сохранить приватность

С заданным sv_password подключиться могут только те, кто ввёл пароль. Поделитесь IP сервера и паролем с вашей группой и попросите их использовать консоль: connect your.server.ip:27015; password friends-only. Пароль также держит сервер вне публичного пула quick-play, что и нужно для приватной игры.

Смотрите также

← Назад ко всем руководствам