Как поднять сервер Left 4 Dead 2: пошаговая инструкция
Пройти кампанию с рандомными тиммейтами из паблика — то ещё удовольствие: кто-то стреляет по танку в упор из дробовика, кто-то бросает раненого под Witch. Свой сервер L4D2 решает это раз и навсегда, а поднимается он на удивление быстро — игра старая, движок Source лёгкий, и всё, что реально нужно, укладывается в SteamCMD и один конфиг. Разберём по шагам: от требований к VPS до автозапуска после ребута.
Содержание
Системные требования: сколько реально нужно ресурсов
Left 4 Dead 2 — игра 2009 года на движке Source, и по меркам 2026-го она почти невесома. Формально хватает от 1 ГБ RAM — это официальный минимум под голый дедикейтед-сервер без плагинов и большого числа кампаний. На практике я бы закладывал чуть больше, если планируешь держать сервер под нагрузкой постоянно, а не только на вечер с друзьями:
| Сценарий | RAM | vCPU | Игроков |
|---|---|---|---|
| Коллектив на 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) для публичных серверов, иначе игра показывает предупреждение о непроверенном сервере, а часть игроков его просто не увидит. Получить токен просто:
- Заходишь на
steamcommunity.com/dev/managegameservers. - Выбираешь приложение Left 4 Dead 2 Dedicated Server (App ID 222860).
- Создаёшь токен, привязанный к своему 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 в связке с логикой конкретного гейммода.