Как поднять сервер SCP: Secret Laboratory: пошаговая инструкция
Если ты наигрался в паблики SCP: Secret Laboratory с рандомными правилами и админами-невидимками — свой сервер решает это за один вечер. Игра не капризная к железу, ставится через привычный SteamCMD, а главная возня — это не установка, а настройка ролей и правил под свою команду. Ниже — весь путь: от чистого VPS до сервера, который виден в браузере, переживает перезагрузку и слушается твоего конфига.
Содержание
Системные требования
SCP: Secret Laboratory построена на Unity, и по нагрузке она ближе к лёгким проектам, чем к тяжёлым open-world играм. Для стабильного сервера на 15-20 слотов:
- RAM: от 2 ГБ — это минимум, на котором сервер держится без вылетов на средней популяции; для 20+ игроков и активных раундов комфортнее 3-4 ГБ
- CPU: 2 ядра, частота важнее количества — как и у большинства серверов на Unity, узкое место обычно одно ядро, обсчитывающее игровую логику
- Диск: 5-8 ГБ хватает с запасом под сам сервер, логи и бэкапы конфигов
- ОС: Linux (Ubuntu 22.04/24.04, Debian 12) — ниже все команды под Linux; Windows Server тоже поддерживается официально, но набор команд другой
- Канал: 10 Мбит/с исходящего с запасом достаточно даже для полного лобби, игра не гоняет тяжёлый трафик
Если сервер будет с модами (SCP:SL Exiled framework, кастомные плагины) — закладывай RAM с запасом, аддоны едят память сверх базового движка.
Устанавливаем SteamCMD и скачиваем сервер
SteamCMD качает выделенный сервер без установки полноценного Steam-клиента и графики. На Ubuntu/Debian:
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" -o steamcmd.tar.gz
tar -xvzf steamcmd.tar.gz
Заводить отдельного непривилегированного пользователя под игровой сервер — хорошая практика, не только для SCP:SL:
sudo adduser scpsl
sudo su - scpsl
Дальше всё разворачивай уже под этим пользователем.
Дедикейт-сервер SCP: Secret Laboratory имеет отдельный app id 996560 (это не тот же продукт, что клиентская игра). Качаем анонимно:
cd ~/steamcmd
./steamcmd.sh +force_install_dir ../scpsl-server +login anonymous +app_update 996560 validate +quit
SteamCMD скачает и распакует файлы в ~/scpsl-server. Обычно это 1-2 ГБ — заметно легче, чем большинство Source- и Unreal-серверов. Если скачивание оборвалось на середине — просто повтори ту же команду, validate докачает и проверит недостающие файлы.
Поднять сервер SCP: Secret Laboratory за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПервый запуск через LocalAdmin
В отличие от Source-игр, где сервер запускается напрямую бинарником, у SCP:SL есть отдельная утилита-обёртка — LocalAdmin. Она следит за процессом сервера, перезапускает его при падении и даёт консоль для команд, не завязываясь на конкретный игровой бинарник напрямую.
Внутри ~/scpsl-server после установки лежат LocalAdmin и SCPSL.x86_64. Права на выполнение обычно уже проставлены, но на всякий случай:
cd ~/scpsl-server
chmod +x LocalAdmin SCPSL.x86_64
Пробный запуск на порту 7777 (порт указывается параметром при старте LocalAdmin, а не прописывается в конфиге):
./LocalAdmin 7777
При первом старте SCP:SL сам создаст структуру конфигов и логов под текущим пользователем и попытается связаться с Центральным сервером (Central Server) — это система, через которую сервер регистрируется в общем браузере серверов игры. Если в консоли пошли строки about scene loading и в итоге появилось сообщение о готовности слушать порт — всё встало нормально. Останови процесс (Ctrl+C) и переходи к конфигурации: запускать прод-сервер с настройками по умолчанию — плохая идея, там открыт RCON без нормального пароля и не задано имя сервера.
Если у тебя уже есть опыт с Counter-Strike 2 или другими Source/CS-серверами — принцип похож: SteamCMD качает бинарники, а вся тонкая настройка живёт в текстовых конфигах, только структура файлов у SCP:SL своя.
Настраиваем config_gameplay.txt
Конфиги SCP:SL по умолчанию лежат не рядом с сервером, а в домашней директории пользователя, от которого запущен процесс:
~/.config/SCP Secret Laboratory/Configs/7777/
Число 7777 в пути — это тот самый порт, который ты передал LocalAdmin: игра хранит настройки отдельно для каждого порта, что удобно, если на одной машине крутится несколько инстансов сервера под разными пользователями или портами. Основной файл здесь — config_gameplay.txt, в нём живут ключевые параметры сервера, включая имя и лимит игроков:
server_name: <color=green>Мой сервер SCP:SL</color> | RU
max_players: 20
info_messages: Правила сервера — /rules в Discord
Что важно знать:
- server_name поддерживает Unity rich-text теги вроде
<color=...>и<b>— так серверы в браузере выделяются цветом и жирным текстом на фоне остальных - max_players — реальный лимит слотов; для 2 ГБ RAM не стоит задирать выше 16-20, иначе будешь ловить лаги на пиковой популяции
- сам файл при первом запуске создаётся автоматически с комментариями внутри — если каких-то параметров нет в примере выше, ищи их там же по названию, разработчик время от времени добавляет новые ключи между обновлениями
Пароль Remote Admin (RA) — консоли удалённого администрирования — задаётся отдельно, в соседнем файле config_remoteadmin.txt в той же папке. Обязательно смени его со значения по умолчанию сразу после первого запуска, иначе сервер легко перехватить через RA.
После правки конфигов перезапусти LocalAdmin — файлы подхватываются при старте процесса:
./LocalAdmin 7777
Регистрация сервера через Northwood ID
У Northwood Studios (разработчика SCP:SL) есть система учёток для владельцев серверов — условно её называют Northwood ID. Она нужна для двух вещей: во-первых, привязка сервера к аккаунту даёт ему статус "Verified" в браузере серверов (защита от подделки под чужой сервер с похожим именем), во-вторых — открывает доступ к веб-панели с доп. настройками и статистикой.
Сам процесс привязки завязан на официальный портал Northwood и периодически меняется вместе с обновлениями игры (появляются новые шаги, меняется формат токена), поэтому вместо конкретных команд — общий порядок действий:
- Зарегистрируй аккаунт на официальном сайте/портале Northwood, если ещё не сделал этого для клиентской игры
- В веб-панели найди раздел управления серверами и создай запись для своего сервера
- Полученный идентификатор/токен пропиши в соответствующий конфиг сервера (обычно это делается через RA-консоль или отдельный файл в папке конфигов)
- Перезапусти сервер — в браузере он должен появиться с бейджем верификации
Актуальные шаги и точные названия полей лучше сверять с официальной документацией или Discord-сервером Northwood прямо перед регистрацией — это тот случай, когда интерфейс меняется быстрее, чем гайды в интернете.
Проброс портов и автозапуск
По умолчанию SCP:SL слушает UDP 7777 — этот порт и указывался при запуске LocalAdmin. Если хочешь несколько серверов на одной машине — каждому свой порт (7778, 7779 и так далее) и свою папку конфигов, которая создастся автоматически по номеру порта. На VPS с публичным IP обычно ничего пробрасывать не нужно, но открыть порт в брандмауэре — обязательно:
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
TCP на всякий случай тоже открой — часть служебного трафика (в том числе связь с Central Server и веб-панелью) может идти поверх TCP. Если сервер стоит дома за роутером, а не на VPS — те же порты пробрасываются в настройках NAT на внутренний IP машины.
Чтобы сервер не гас вместе с закрытой SSH-сессией и поднимался сам после ребута хоста — оформи его как systemd-сервис. Создай /etc/systemd/system/scpsl.service:
[Unit]
Description=SCP Secret Laboratory Dedicated Server
After=network.target
[Service]
User=scpsl
WorkingDirectory=/home/scpsl/scpsl-server
ExecStart=/home/scpsl/scpsl-server/LocalAdmin 7777
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Активируй и запусти:
sudo systemctl daemon-reload
sudo systemctl enable scpsl
sudo systemctl start scpsl
Статус и логи смотри через sudo systemctl status scpsl и journalctl -u scpsl -f. Обновление после патчей игры — та же команда app_update 996560 через SteamCMD, только предварительно останови сервис (sudo systemctl stop scpsl), обнови и запусти заново — обновлять файлы на живом процессе не стоит.
Если параллельно администрируешь ещё и площадку под RP или ролевые сервера на других движках — сравни, как устроен процесс на Garry's Mod: там тоже отдельная обёртка над бинарником и своя система аддонов, но конфиги устроены совсем иначе, не переноси привычки один в один.
Поднять сервер SCP: Secret Laboratory за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Сервер не появляется в браузере серверов игры?
Проверь, что порт (по умолчанию 7777/UDP) реально открыт наружу, что LocalAdmin запущен без ошибок в консоли и что есть исходящее подключение к интернету — без связи с Central Server сервер просто не зарегистрируется в общем списке.
Что делать, если LocalAdmin не запускается или сразу падает?
Проверь права на исполнение (chmod +x LocalAdmin SCPSL.x86_64), наличие всех системных зависимостей (lib32gcc-s1, lib32stdc++6) и посмотри полный вывод в консоли — Unity обычно печатает конкретную причину падения прямо в лог.
Как сменить пароль администратора (RA)?
Открой config_remoteadmin.txt в той же папке, что и config_gameplay.txt (~/.config/SCP Secret Laboratory/Configs/<порт>/), и пропиши новый пароль вместо значения по умолчанию, затем перезапусти сервер.
Можно ли поставить моды и плагины?
Да, самый распространённый путь — фреймворк Exiled или EXILED-совместимые плагины, которые ставятся отдельно поверх дедикейт-сервера. Это отдельная тема настройки, но базово сервер должен быть развёрнут и стабильно работать до того, как накатывать плагины.
Сколько игроков реально тянет 2 ГБ RAM?
Комфортно — 15-16 слотов на активных раундах без модов. Для 20+ слотов или сервера с плагинами лучше сразу закладывать 3-4 ГБ, чтобы не упереться в память в разгар вечера, когда народ активно заходит.