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

Как поднять сервер ARK: Survival: пошаговая инструкция

MAATRIX GAMES

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

Системные требования и подготовка VPS

ARK: Survival Evolved — один из самых тяжёлых серверов среди survival-игр. Минимум, с которого стоит стартовать — 8 ГБ RAM, но это впритык для одной небольшой карты (The Island) на 10-15 игроков без построек-монстров. Если планируете большую базу, несколько карт-кластеров или 30+ слотов — закладывайте 12-16 ГБ.

Ориентировочно на что смотреть при выборе VPS:

  • CPU: ARK не умеет эффективно грузить много ядер — важнее частота, чем количество потоков. 3-4 быстрых ядра лучше, чем 8 медленных.
  • RAM: 8 ГБ — старт, 12 ГБ — комфортно для средней паплайт-сборки с модами, 16+ ГБ — кластер из нескольких карт.
  • Диск: SSD/NVMe обязателен, сама игра + сейвы весят 15-20 ГБ, с модами больше.
  • Канал: от 100 Мбит/с, свободный исходящий трафик — сервер постоянно синхронизирует состояние мира с клиентами.

ОС — Ubuntu 22.04/24.04 LTS или Debian 12, дальше все команды под них. Если у вас Windows-сервер, логика конфигов та же, просто пути и исполняемый файл (ShooterGameServer.exe) будут другие.

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

Сервер ARK ставится через SteamCMD под app id 376030 (это отдельный дедикейтед-сервер, не путать с клиентским app id игры). Работаем от отдельного непривилегированного пользователя, не от root:

sudo adduser arkserver
sudo su - arkserver
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

Перед первым запуском SteamCMD на свежей Ubuntu понадобятся 32-битные библиотеки:

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

Собственно установка сервера (займёт от 15 до 40+ минут в зависимости от канала — качается порядка 15 ГБ):

cd ~/steamcmd
./steamcmd.sh +force_install_dir /home/arkserver/ark-server +login anonymous +app_update 376030 validate +quit

Для обновления сервера в будущем — та же команда, validate докачает только изменившиеся файлы. Держите её в отдельном скрипте update.sh, пригодится и для автоматизации через cron.

Поднять сервер ARK: Survival за пару минут

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

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

Первый запуск и структура сервера

После установки структура каталогов такая:

ark-server/
├── ShooterGame/
│   ├── Binaries/Linux/ShooterGameServer
│   ├── Saved/
│   │   ├── Config/LinuxServer/
│   │   │   ├── GameUserSettings.ini
│   │   │   └── Game.ini
│   │   └── SavedArks/          # сейвы карты, бэкапить именно эту папку

Файлов GameUserSettings.ini и Game.ini при первой установке может не быть — создайте их вручную, сервер подхватит настройки при следующем запуске.

Минимальный запуск для проверки, что всё поднялось:

cd /home/arkserver/ark-server/ShooterGame/Binaries/Linux
./ShooterGameServer TheIsland?listen?SessionName=MyArkServer?ServerPassword=?ServerAdminPassword=SuperSecretAdmin123?Port=7777?QueryPort=27015?MaxPlayers=20 -server -log

Разберём параметры: TheIsland — карта (варианты: TheCenter, ScorchedEarth_P, Ragnarok, Aberration_P, Extinction), SessionName — имя в списке серверов, ServerAdminPassword — пароль для входа в консоль администратора и RCON, -log пишет подробный лог в ShooterGame/Saved/Logs/, что здорово помогает при первом запуске найти причину краша.

Первый старт длится 3-7 минут — сервер генерирует мир и грузит все ассеты. В логе появится строка о том, что сервер начал слушать порт — это сигнал, что можно подключаться.

GameUserSettings.ini — базовая конфигурация

Основные игровые настройки живут в секции [ServerSettings] файла GameUserSettings.ini. Вот рабочий каркас под средний сервер:

[ServerSettings]
ServerPassword=
ServerAdminPassword=SuperSecretAdmin123
MaxPlayers=20
DifficultyOffset=1.0
XPMultiplier=2.0
TamingSpeedMultiplier=3.0
HarvestAmountMultiplier=2.0
ServerCrosshair=True
ServerForceNoHUD=False
AllowThirdPersonPlayer=True
ShowMapPlayerLocation=True
EnablePVPGamma=False

[SessionSettings]
SessionName=MyArkServer
Port=7777
QueryPort=27015

[MessageOfTheDay]
Message=Добро пожаловать на сервер!
Duration=20

Дефолтные значения XPMultiplier, TamingSpeedMultiplier и HarvestAmountMultiplier равны 1.0 — на ванильных ставках ARK крайне медленный, и для небольшого сообщества игроков (не 24/7-хардкорного PvP-кластера) множители 2-3x обычно ощущаются комфортнее, не убивая при этом ощущение прогресса. Точные значения — вопрос вкуса вашей команды, тестируйте на своих игроках.

DifficultyOffset от 0 до 1.0 определяет максимальный уровень диких существ и лут-таблицы — 1.0 даёт полный доступ к контенту высокого уровня.

Game.ini — сложность и мультипликаторы

Если GameUserSettings.ini отвечает за общие настройки сервера, то Game.ini — за тонкую настройку геймплея: спавны динозавров, инженерные переопределения предметов, кастомные значения по видам существ. Формат другой — секции указывают на конкретные классы игры:

[/script/shootergame.shootergamemode]
BabyMatureSpeedMultiplier=5.0
BabyCuddleIntervalMultiplier=0.5
LayEggIntervalMultiplier=0.5
MatingIntervalMultiplier=0.5
CropGrowthSpeedMultiplier=2.0
PerLevelStatsMultiplier_Player[2]=2.0

[/script/shootergame.shootergamemode]
ConfigOverrideItemMaxQuantity=(ItemClassString="PrimalItemResource_Metal_C",Quantity=(MaxItemQuantity=5000,bIgnoreMultiplier=false))

Обратите внимание: секция [/script/shootergame.shootergamemode] в Game.ini может повторяться несколько раз для разных параметров — это нормально для формата ARK, парсер игры собирает их вместе. PerLevelStatsMultiplier_Player[2] — это множитель прироста здоровья (индекс 2) на левелап; полный список индексов статов (здоровье, стамина, вес и т.д.) стоит свериться в актуальной вики игры перед боевой настройкой, потому что нумерация статов у разных версий ARK путается.

Важный нюанс: изменения в обоих ini-файлах применяются только при перезапуске сервера, не хот-релоадом. Планируйте технические окна заранее и предупреждайте игроков через MessageOfTheDay.

Порты, firewall и автозапуск

ARK по умолчанию использует три порта:

ПортНазначениеПроброс
7777 (UDP)Game Port — основной игровой трафикобязателен
27015 (UDP)Query Port — отображение в списке серверовобязателен
27020 (TCP)RCON Port — удалённое администрированиеопционально, но рекомендуется

Открываем через ufw:

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

Если сервер за NAT (домашний ПК, не VPS с белым IP) — придётся дополнительно пробрасывать эти же порты на роутере в сторону локального IP сервера.

Для RCON включите приём подключений в GameUserSettings.ini:

[ServerSettings]
RCONEnabled=True
RCONPort=27020

Подключаться к RCON можно любым RCON-клиентом (mcrcon, стандартный протокол Source RCON) — удобно для рестарта, широковещательных сообщений и бана игроков без захода в саму игру.

Автозапуск и переживание падений сервера проще всего организовать через systemd-юнит:

# /etc/systemd/system/ark-server.service
[Unit]
Description=ARK Survival Evolved Server
After=network.target

[Service]
User=arkserver
WorkingDirectory=/home/arkserver/ark-server/ShooterGame/Binaries/Linux
ExecStart=/home/arkserver/ark-server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=MyArkServer?ServerAdminPassword=SuperSecretAdmin123?Port=7777?QueryPort=27015?MaxPlayers=20 -server -log
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now ark-server

Теперь сервер поднимется сам после перезагрузки хоста и перезапустится, если упадёт (а ARK, чего уж скрывать, падает — особенно на модовых сборках и при нехватке RAM). Логи после этого смотрите через journalctl -u ark-server -f или напрямую в ShooterGame/Saved/Logs/.

Поднять сервер ARK: Survival за пару минут

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

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

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

Сколько реально нужно RAM для 20 игроков?

На The Island без модов 8 ГБ хватит, но с запасом лучше брать 12 ГБ — свободная память нужна и под кэш файловой системы, и под пики при массовых сражениях/строительстве.

Сервер стартует, но не виден в списке серверов игры?

Обычно дело в непроброшенном Query Port (27015/UDP) или в том, что провайдер/файрвол блокирует UDP-трафик — проверьте ufw status и правила у хостера.

Можно ли сменить карту без потери сейвов?

Да, сейвы хранятся отдельно по картам в SavedArks/ с именем файла по карте — при смене карты в команде запуска старый прогресс на предыдущей карте останется нетронутым, но игроки не смогут перенести туда персонажа без кластера (ClusterId).

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

Останавливаете systemd-юнит, запускаете ту же команду SteamCMD с +app_update 376030 validate, запускаете юнит обратно. Делайте это до того, как игроки массово получат обновление клиента — иначе они не смогут подключиться из-за несовпадения версий.

Нужны ли моды сразу?

Нет, начните с ванильного сервера, чтобы убедиться, что базовая конфигурация стабильна, и только потом добавляйте моды через Steam Workshop (GameModIds в GameUserSettings.ini) — так проще ловить причину падений.