Как поднять сервер Insurgency: Sandstorm: пошаговая инструкция
Если ты искал гайд по Insurgency и наткнулся на этот — не перепутай: Sandstorm (2018) не имеет ничего общего по установке с оригинальной Insurgency 2014 года, кроме названия студии New World Interactive. Это отдельная игра на другом движке, с другим app id, другой структурой конфигов и своим набором граблей. Ниже — весь путь от чистого VPS до рабочего сервера с ротацией карт, RCON и автозапуском.
Содержание
Системные требования и в чём отличие от оригинала
Ключевая разница: Insurgency (2014) работает на движке Source, а Sandstorm — на Unreal Engine 4. Это не формальность — UE4-сервер ощутимо прожорливее по CPU и памяти, хуже размазывает нагрузку по ядрам и требовательнее к диску из-за размера установки. Если когда-то поднимал сервер по оригинальной Insurgency, забудь про её лёгкость — Sandstorm играет в другой весовой категории.
Ориентировочные требования под сервер на 16-24 игрока:
- RAM: от 3 ГБ — рабочий минимум для небольшого закрытого сервера на 8-12 слотов; для комфортного паблика на 16-24 игрока закладывай 4-6 ГБ, особенно если планируешь режим Frontline с расширенным составом
- CPU: 2-4 ядра с высокой частотой — UE4 у Sandstorm однопоточно упирается в производительность ядра сильнее, чем в их количество
- Диск: SSD/NVMe обязателен, под установку и обновления закладывай 20+ ГБ — точный размер гуляет от патча к патчу
- ОС: Ubuntu 22.04/24.04 LTS или Debian 12 для Linux-сборки сервера; Windows Server тоже поддерживается, но бинарник и пути будут другие
- Канал: от 15-20 Мбит/с исходящего на полное лобби
Если тариф уже держит Source-сервер вроде CS2 или того же Insurgency — не думай, что Sandstorm впишется в те же рамки по железу, разница в требованиях реальная.
Устанавливаем SteamCMD и качаем сервер
Дедикейтед-сервер Sandstorm ставится через SteamCMD под отдельным app id — 581330 (это именно серверная сборка, не путай с клиентским app id самой игры). Как и с любым другим игровым сервером, работай от отдельного пользователя без root-прав:
sudo adduser sandstorm
sudo su - sandstorm
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
Скачиваем сервер анонимно, логин Steam-аккаунта не нужен:
cd ~/steamcmd
./steamcmd.sh +force_install_dir /home/sandstorm/sandstorm-server +login anonymous +app_update 581330 validate +quit
Первая установка может занять от 15-20 минут до часа в зависимости от канала — качается больше десятка гигабайт. Для будущих обновлений после патчей держи ту же команду в отдельном скрипте update.sh: validate докачает только изменившееся, полную переустановку делать не придётся.
Поднять сервер Insurgency: Sandstorm за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПервый запуск и структура файлов
После установки в ~/sandstorm-server появится основная папка Insurgency. Ключевые пути:
sandstorm-server/
└── Insurgency/
├── Binaries/Linux/
│ ├── InsurgencyServer.sh # обёртка для запуска
│ └── InsurgencyServer-Linux-Shipping
└── Saved/Config/LinuxServer/
├── Game.ini
├── Engine.ini
└── GameUserSettings.ini
Пробный запуск, чтобы убедиться, что бинарник стартует и не падает сразу:
cd ~/sandstorm-server/Insurgency/Binaries/Linux
./InsurgencyServer.sh Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?MaxPlayers=16 -Port=27102 -QueryPort=27131 -log
Карта и режим в Sandstorm задаются одной строкой — имя карты плюс сценарий через ?Scenario=, а не отдельными параметрами, как в большинстве других шутеров. Флаг -log пишет подробный вывод в Insurgency/Saved/Logs/ — на первом запуске держи его обязательно, так проще понять, что пошло не так, если сервер не поднялся или не появился в списке серверов. Если в консоли появилось что-то вроде LogInit: Game Engine Initialized и сервер не упал через несколько секунд после загрузки карты — всё встало нормально, можно останавливать (Ctrl+C) и переходить к нормальной конфигурации через файлы, а не через флаги командной строки.
При первом запуске папка Saved/Config/LinuxServer/ может не содержать всех файлов сразу — часть создаётся движком после первого старта. Если Game.ini пуст или отсутствует — создай его вручную по образцу ниже, движок подхватит настройки при следующем запуске.
Настраиваем Game.ini
Открой Insurgency/Saved/Config/LinuxServer/Game.ini и пропиши базовые параметры сервера:
[/Script/Insurgency.INSGameSession]
Hostname="Мой сервер Sandstorm | RU"
MaxPlayers=16
GamePassword=
AdminPassword=поставь-сложный-пароль
IdleTimeout=180
[URL]
Port=27102
Что здесь важно:
- Hostname — имя, которое видят игроки в браузере серверов; пиши так, чтобы сразу было понятно про регион и правила
- MaxPlayers — реальный лимит слотов; для 3-4 ГБ RAM не стоит задирать выше 12-16
- GamePassword — если сервер закрытый, для друзей или клана, впиши сюда пароль
- AdminPassword — используется для входа в консоль администратора и часто как база для RCON, обязательно смени со значения по умолчанию
Учитывай нюанс: часть параметров (порт, лимит игроков, карту со сценарием) можно продублировать и переопределить прямо в строке запуска — так делают многие серверные скрипты, чтобы не трогать Game.ini на каждый рестарт. Если значения в командной строке и в Game.ini расходятся — приоритет обычно у командной строки, поэтому при отладке лучше держать источник настроек в одном месте.
Карты, сценарии и ротация
В Sandstorm карта и режим объединены в понятие "сценарий" (Scenario) — имя карты плюс постфикс режима и стороны. Например, Farmhouse может встречаться со сценариями вроде Scenario_Farmhouse_Checkpoint_Security (кооп против ботов, оборона точек) или версией под PvP-режимы вроде Firefight и Push. Основные игровые режимы Sandstorm: Checkpoint (кооп-атака точек против AI), Push (атака/оборона по фазам), Firefight (командный TDM), Skirmish (захват точек с ограниченным респауном) и Frontline (крупномасштабный режим с расширенным составом игроков).
Ротация карт задаётся списком через запуск сервера или отдельным конфигом ротации, который читает сервер при смене карты. Общий подход — перечислить сценарии по одному на строку в порядке, в котором они должны сменять друг друга:
Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security
Hillside?Scenario=Scenario_Hillside_Checkpoint_Security
Precinct?Scenario=Scenario_Precinct_Firefight_Security
Refinery?Scenario=Scenario_Refinery_Push_Security
Точные имена доступных карт и сценариев для установленной у тебя версии игры лучше сверять в самом клиенте (экран выбора сервера/сценария в лобби) или в шаблонных конфигах, которые идут вместе с установкой сервера — с патчами New World Interactive периодически добавляет и переименовывает карты, и жёстко зашитый в статью список может устареть быстрее, чем хотелось бы.
Если параллельно держишь сервер по Squad — там ротация карт тоже завязана на понятие "слой" (карта+режим+баланс в одной строке), логика похожая, но формат файлов и названия параметров у движков разные, не путай синтаксис между играми.
Проброс портов, RCON и автозапуск
Sandstorm по умолчанию слушает UDP 27102 для игрового трафика и UDP 27131 для запросов из браузера серверов Steam. На VPS с внешним IP пробрасывать обычно ничего не нужно, но открыть брандмауэр — придётся:
sudo ufw allow 27102/udp
sudo ufw allow 27131/udp
Если сервер стоит за NAT (домашний ПК, а не VPS) — те же порты нужно пробросить в настройках роутера на внутренний IP машины.
RCON в Sandstorm настраивается отдельно и по умолчанию выключен — включается через Game.ini (в некоторых версиях сервера — через отдельную секцию [Rcon]):
[Rcon]
Rcon.Enabled=True
Rcon.Port=27015
Rcon.Password=другой-сложный-пароль
Права администраторов на сервере выдаются по SteamID64 через отдельный текстовый файл со списком (в зависимости от версии сборки он может называться по-разному — сверься с шаблоном, который идёт в комплекте установки в папке с конфигами). Формат обычно простой: один SteamID64 на строку с указанием уровня доступа.
Чтобы сервер не падал вместе с закрытой SSH-сессией и поднимался сам после ребута хоста, оформи его как systemd-сервис. Создай /etc/systemd/system/sandstorm.service:
[Unit]
Description=Insurgency Sandstorm Dedicated Server
After=network.target
[Service]
User=sandstorm
WorkingDirectory=/home/sandstorm/sandstorm-server/Insurgency/Binaries/Linux
ExecStart=/home/sandstorm/sandstorm-server/Insurgency/Binaries/Linux/InsurgencyServer.sh Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security -Port=27102 -QueryPort=27131 -log
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
Активируй и запусти:
sudo systemctl daemon-reload
sudo systemctl enable --now sandstorm
Логи и статус смотри через sudo systemctl status sandstorm и journalctl -u sandstorm -f, либо напрямую в Insurgency/Saved/Logs/. Обновлять сервер после патчей — той же командой app_update 581330, лучше через отдельный скрипт с остановкой сервиса перед скачиванием и стартом после, чтобы не поймать конфликт файлов на живом процессе.
Поднять сервер Insurgency: Sandstorm за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Можно ли поставить оригинальную Insurgency и Sandstorm на один VPS?
Да, это два независимых app id (237410 и 581330), конфликтов по файлам не будет — просто закладывай ресурсы под обе игры отдельно, Sandstorm заметно тяжелее.
Сервер не появляется в браузере серверов Steam?
В первую очередь проверь, что Query Port (27131/UDP) реально открыт снаружи — это самая частая причина. Также убедись, что порт не занят другим процессом на том же хосте.
Почему сервер вылетает при смене карты в ротации?
Чаще всего дело в опечатке в имени сценария или в карте, которой нет в установленной версии игры — сверь точное написание в клиенте перед тем как прописывать ротацию в конфиг.
Сколько игроков реально тянет минимальный тариф на 3 ГБ RAM?
Для 8-12 слотов без тяжёлых режимов вроде Frontline — приемлемо, но при первой возможности стоит перейти на 4-6 ГБ, особенно если планируешь полный паблик на 16+ человек.
Нужен ли отдельный тестовый сервер перед запуском публичного?
Крайне желательно — RCON, права администраторов и ротация карт лучше обкатать на закрытом инстансе, чем ловить баги конфигурации на живом паблике с игроками.