MAATRIX GAMES / Блог / Как поднять сервер Left 4 Dead 2: пошаговая инструкция

Как поднять сервер Left 4 Dead 2: пошаговая инструкция

MAATRIX GAMES

Пройти кампанию с рандомными тиммейтами из паблика — то ещё удовольствие: кто-то стреляет по танку в упор из дробовика, кто-то бросает раненого под Witch. Свой сервер L4D2 решает это раз и навсегда, а поднимается он на удивление быстро — игра старая, движок Source лёгкий, и всё, что реально нужно, укладывается в SteamCMD и один конфиг. Разберём по шагам: от требований к VPS до автозапуска после ребута.

Системные требования: сколько реально нужно ресурсов

Left 4 Dead 2 — игра 2009 года на движке Source, и по меркам 2026-го она почти невесома. Формально хватает от 1 ГБ RAM — это официальный минимум под голый дедикейтед-сервер без плагинов и большого числа кампаний. На практике я бы закладывал чуть больше, если планируешь держать сервер под нагрузкой постоянно, а не только на вечер с друзьями:

СценарийRAMvCPUИгроков
Коллектив на 4 человека, ванильные кампании1 ГБ1–2до 8
Постоянный паблик-сервер, несколько кампаний2 ГБ2до 12
С SourceMod/MetaMod и админ-плагинами2–3 ГБ2до 16

Источник нагрузки на CPU в Source-движке — это в первую очередь тикрейт симуляции и количество ботов-зомби на карте, а не число игроков само по себе: орда на финальной обороне грузит процессор заметно сильнее, чем спокойное прохождение уровня. Ядер L4D2 много не просит — движок плохо распараллелен, поэтому одно быстрое ядро полезнее четырёх медленных. Диск роли почти не играет: полный комплект кампаний с картами занимает пару гигабайт, SSD тут не критичен, но и не помешает при частых рестартах.

Установка сервера через SteamCMD

Дедикейтед-сервер L4D2 ставится через SteamCMD с app id 222860 — это отдельная сборка, для скачивания которой не нужен купленный аккаунт с игрой, подходит анонимный логин.

На Debian/Ubuntu сначала ставим зависимости — бинарник 32-битный, без нужных библиотек SteamCMD и сам сервер откажутся стартовать:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tar

Если lib32gcc-s1 не находится в репозитории — на старых релизах пакет назывался lib32gcc1, ставь ту версию, что доступна в твоём дистрибутиве.

Дальше скачиваем и запускаем сам SteamCMD от отдельного непривилегированного пользователя (заводить сервер под root — плохая идея):

sudo useradd -m -s /bin/bash steam
sudo su - steam
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

И ставим сам сервер L4D2 в отдельную папку:

./steamcmd.sh +force_install_dir /home/steam/l4d2server +login anonymous +app_update 222860 validate +quit

Первая загрузка — это около 15-20 ГБ трафика (карты, звук, модели), так что на слабом канале процесс может занять время. По завершении в /home/steam/l4d2server появится srcds_run и папка left4dead2 — это и есть основная директория мода со всеми конфигами.

Поднять сервер Left 4 Dead 2 за пару минут

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

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

Базовая настройка server.cfg

Конфиг сервера лежит в left4dead2/cfg/server.cfg — если файла нет, создаём его вручную. Вот рабочий стартовый набор:

hostname "Мой Left 4 Dead 2 сервер"
sv_password ""
sv_lan 0
sv_region 3
sv_allow_lobby_connect_only 0
sv_visiblemaxplayers -1
mp_gamemode "coop"
z_difficulty "Normal"
sv_consistency 1
sv_pure 1
mp_disable_autokick 0
sv_cheats 0
log on
sv_logfile 1

Ключевые моменты:

  • sv_lan 0 обязателен, если хочешь, чтобы сервер был виден снаружи, а не только в локальной сети.
  • mp_gamemode задаёт режим: coop — обычный кооператив, versus — выживший против зомби, survival — оборона до последнего, scavenge — сбор канистр. Для versus-режимов дополнительно понадобится mp_teamswitch_limit и связанные с раундами параметры, но для старта хватит базового набора.
  • z_difficulty принимает Easy, Normal, Hard, Impossible — регистр важен.
  • sv_region 3 — код региона для отображения в браузере серверов; при желании подбери значение под свой регион по официальной таблице Valve, но 3 (Европа) в большинстве случаев работает нормально и для остальных.

Пароль на сервер (sv_password) полезен, если не хочешь, чтобы к вам зашли рандомные игроки из интернета — L4D2 без пароля и с открытым sv_lan 0 вполне может засветиться в публичном списке.

Запуск сервера и выбор кампании

Стартуем сервер через srcds_run, указывая мод left4dead2 и порт:

cd /home/steam/l4d2server
./srcds_run -game left4dead2 -console -port 27015 +exec server.cfg +map c1m1_hotel

c1m1_hotel — первая карта кампании Dead Center, одной из четырёх кампаний, идущих в комплекте с игрой из коробки (Dead Center, Dark Carnival, Swamp Fever, Hard Rain — в оригинальной версии, плюс кампании из The Passing, Crash Course, Death Toll, Dead Air и The Sacrifice, добавленные позже как бесплатный контент). Чтобы сменить кампанию на лету без рестарта сервера, используй консольную команду на самом сервере:

changelevel c2m1_highway

Кастомные кампании (сборки других авторов) устанавливаются как VPK-файлы в left4dead2/addons/ — большинство кампаний с Steam Workshop нужно скачивать вручную через workshop_download_item в SteamCMD или через отдельный скрипт-загрузчик воркшопа, встроенной автозагрузки коллекций для дедикейтед-сервера L4D2 нет (в отличие, например, от Garry's Mod, где Workshop-коллекции подключаются проще).

Если планируешь ставить админ-плагины (RCON-команды, кастомные лимиты, античит-надстройки) — используй связку MetaMod:Source + SourceMod, она ставится в тот же addons/ и не конфликтует с ванильными конфигами.

GSLT и видимость сервера в браузере

С определённого момента Valve требует Steam Game Server Login Token (GSLT) для публичных серверов, иначе игра показывает предупреждение о непроверенном сервере, а часть игроков его просто не увидит. Получить токен просто:

  1. Заходишь на steamcommunity.com/dev/managegameservers.
  2. Выбираешь приложение Left 4 Dead 2 Dedicated Server (App ID 222860).
  3. Создаёшь токен, привязанный к своему Steam-аккаунту.

Полученный токен прописываем в server.cfg или прямо в строке запуска:

sv_setsteamaccount XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Без GSLT сервер обычно всё равно работает и виден друзьям по прямому подключению через консоль (connect IP:port), но в общем браузере серверов может либо не отображаться, либо показывать предупреждение — так что для паблик-сервера токен лучше не пропускать.

Проброс портов и файрвол

L4D2, как и большинство Source-серверов, использует один основной порт для игрового трафика:

  • 27015 UDP/TCP — основной игровой порт (можно сменить флагом -port, если 27015 занят другим сервером на той же машине).
  • 27020 UDP — порт SourceTV, если включаешь трансляцию флагом +tv_enable 1.

На VPS с ufw открываем нужные порты так:

sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp
sudo ufw allow 27020/udp

Если арендуешь сервер под управлением панели хостера, где порты уже проброшены заранее (как это устроено у большинства провайдеров с игровыми тарифами) — этот шаг можно пропустить и сразу проверять подключение через connect IP:27015 из консоли игры.

Автозапуск через systemd

Чтобы сервер поднимался сам после ребута VPS или падения процесса, заводим systemd-юнит:

# /etc/systemd/system/l4d2.service
[Unit]
Description=Left 4 Dead 2 Dedicated Server
After=network.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/l4d2server
ExecStart=/home/steam/l4d2server/srcds_run -game left4dead2 -console -port 27015 +exec server.cfg +map c1m1_hotel
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Включаем и стартуем:

sudo systemctl daemon-reload
sudo systemctl enable --now l4d2.service

Логи в реальном времени смотрим через journalctl -u l4d2.service -f — полезно, если сервер падает без явной причины в консоли: часто дело в битой карте или конфликтующем addon в addons/. Похожий принцип автозапуска через systemd мы разбирали и для сервера Rust — механика та же для любого дедикейтед-сервера на Linux, меняется только команда запуска.

Поднять сервер Left 4 Dead 2 за пару минут

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

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

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

Нужен ли купленный аккаунт Steam с игрой, чтобы поставить сервер?

Нет, дедикейтед-сборка L4D2 (app id 222860) качается через анонимный логин SteamCMD — покупать саму игру не нужно ни хостеру, ни игрокам, у которых она уже есть в библиотеке.

Сервер не виден в браузере серверов, хотя всё запустилось без ошибок — в чём дело?

Чаще всего это sv_lan 1 вместо sv_lan 0, не проброшенный порт 27015 или отсутствие GSLT-токена. Проверь все три пункта по очереди — обычно проблема в одном из них.

Сколько максимум игроков можно посадить на сервер?

В коопе — 4 выживших плюс до 4 в режиме versus (выжившие против зомби), итого до 8 активных слотов. sv_visiblemaxplayers -1 при этом просто отдаёт значение по умолчанию для текущего режима, вручную задирать его выше смысла нет — лишние слоты игра не использует.

Как обновить сервер после патча Valve?

Тем же steamcmd-скриптом, что и при установке — +app_update 222860 validate +quit подтянет последнюю версию и проверит целостность файлов. Перед обновлением сервер стоит остановить (systemctl stop l4d2), чтобы файлы не перезаписывались на живом процессе.

Можно ли играть вчетвером без ботов, а не с ИИ-компаньонами?

Да, для этого достаточно, чтобы все 4 слота выживших заняли реальные игроки — боты подключаются автоматически только на свободные слоты. Если хочешь принудительно ограничить состав, используй sv_visiblemaxplayers в связке с логикой конкретного гейммода.