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

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

MAATRIX GAMES

Авория не прощает нестабильного хостинга: если сервер лежит на домашнем ПК за NAT или у кого-то из группы не хватает аплинка, флот разваливается на постройке, а прыжки между секторами превращаются в лотерею с разрывом соединения. Boxelware выпустили официальный dedicated-сервер, который ставится через SteamCMD и работает на обычной консоли — без танцев с бубном, но с парой нюансов, которые проще узнать заранее, чем ловить на живом сервере. Разберём весь путь: от чистого VPS до галактики, в которую заходят по IP.

Системные требования и выбор VPS

Avorion — симулятор с вокселями и физикой построек, и нагрузка на сервер растёт не столько от числа игроков, сколько от количества активных секторов и сложности кораблей внутри них: у каждого блока своя масса, столкновения и генерация ресурсов считаются постоянно, пока сектор загружен хоть одним игроком.

Ориентир для старта:

ПараметрМинимумКомфортно (5-10 игроков, активная стройка)
RAM4 ГБ8 ГБ и выше
CPU2 ядра4+ ядра, важна частота на поток
Диск10 ГБ SSD20-30 ГБ SSD (сейвы растут с галактикой)
Сетьстабильный канал, без пакетных потерь

Важная особенность движка: симуляция сектора в Avorion слабо распараллеливается между ядрами, поэтому частота одного ядра часто важнее их количества — это не значит, что многоядерные тарифы бесполезны (сервер параллелит несколько одновременно активных секторов), но если бюджет ограничен, лучше взять меньше ядер повыше частотой, чем наоборот. Для старта с небольшой командой 4 ГБ RAM хватает с запасом; если планируете крупный кластер станций и десятки игроков одновременно — закладывайте 8+ ГБ сразу, чтобы не переезжать посреди сезона.

ОС — Linux или Windows, официальный билд кроссплатформенный. Ниже пример для Ubuntu/Debian, для Windows логика та же, отличаются только скрипты запуска.

Устанавливаем сервер через SteamCMD

Ставим зависимости и сам SteamCMD:

sudo apt update && sudo apt install -y lib32gcc-s1 screen curl
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

Скачиваем сам dedicated-сервер Avorion — его app id в Steam 565060 (это отдельное серверное приложение, не клиентская игра):

./steamcmd.sh +force_install_dir /home/steam/avorion-server +login anonymous +app_update 565060 validate +quit

Загрузка обычно укладывается в пару гигабайт. После завершения в папке появится исполняемый скрипт AvorionServer.sh (на Windows — AvorionServer.exe) и набор служебных файлов движка.

Дайте скрипту права на выполнение перед первым запуском:

cd /home/steam/avorion-server
chmod +x AvorionServer.sh

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

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

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

Первый запуск и создание галактики

Запускаем сервер напрямую в терминале, чтобы пройти начальную настройку:

./AvorionServer.sh

При первом старте сервер поднимает интерактивную консоль прямо в терминале — через неё же потом администрируют работающий сервер (бан игроков, рассылка сообщений, сохранение мира вручную). Если готовой галактики ещё нет, консоль предложит создать новую: вам нужно будет задать имя галактики и её размер — обычно это число, определяющее радиус игрового пространства от центра до края (чем больше значение, тем шире карта и тем дольше идёт первичная генерация дальних секторов при заходе в них). Формулировки запросов и порядок шагов немного отличаются между билдами игры, поэтому ориентируйтесь на подсказки самой консоли — команда help внутри неё покажет актуальный список доступных действий для конкретной версии, которую вы поставили.

После создания галактики сервер сгенерирует под неё рабочую папку с сохранением и файлом конфигурации server.ini — именно его вы будете редактировать дальше. Первый прогон стоит сделать в интерактивном режиме и в терминале, а не сразу через systemd — так вы увидите ошибки конфигурации сразу в консоли, а не будете искать их в логах постфактум.

Настройка server.ini: порт, имя, макс. игроков, размер галактики

Файл server.ini лежит в папке созданной галактики (что-то вроде ~/.local/share/Avorion/galaxies/<ИмяГалактики>/server.ini на Linux). Останавливаем сервер (/save и выход из консоли, либо штатная команда завершения), правим файл, запускаем заново.

Типичный набор ключей, который там встретится:

NAME = My Avorion Server
PASSWORD =
MAXPLAYERS = 16
PORT = 27000
GALAXYNAME = MyGalaxy
  • NAME — имя, которое видят игроки в списке серверов и в лаунчере.
  • PASSWORD — пароль на вход; оставьте пустым для открытого сервера.
  • MAXPLAYERS — лимит одновременных подключений. Ставьте с запасом под нагрузку из таблицы выше: чем выше лимит, тем больше шанс, что одновременно будет активно много секторов.
  • PORT — сетевой порт сервера, по умолчанию 27000/UDP. Меняйте, если на одной машине держите несколько игровых серверов и порты конфликтуют.
  • Размер галактики задаётся один раз при её создании (см. предыдущий раздел) и в server.ini, как правило, не хранится — если нужно начать с другим размером, проще создать новую галактику, чем редактировать существующую.

Точный набор доступных ключей может отличаться между версиями движка — если каких-то параметров из примера в вашем файле нет, а есть другие, ориентируйтесь на реальное содержимое server.ini, которое сгенерировал сам сервер: это самый надёжный источник для конкретно вашей версии.

После правок сохраните файл и перезапустите ./AvorionServer.sh — при старте сервер читает server.ini заново.

Похожий подход к первичной настройке через конфиг-файл встречается и в других sandbox-играх — например, в статье про сервер Factorio описан server-settings.json с той же логикой «отдельный файл на каждый мир».

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

Основной игровой порт — 27000/UDP (или тот, что вы указали в PORT). Именно его нужно открыть, чтобы клиенты вообще увидели сервер и смогли подключиться.

На домашнем роутере это проброс UDP 27000 на внутренний IP машины с сервером. На VPS с ufw:

sudo ufw allow 27000/udp
sudo ufw status

Если арендуете VPS у хостинга с собственным файрволом в панели — правило нужно добавить и там тоже, одного ufw на самой машине может быть недостаточно, если провайдер режет трафик снаружи. На готовых игровых образах MAATRIX GAMES игровые порты открываются автоматически при деплое сервера — отдельно ничего пробрасывать не нужно.

Проверить, что порт действительно слушается сервером, можно локально:

ss -tulnp | grep 27000

Если строки нет — сервер либо не запущен, либо слушает другой порт из-за конфликта настроек в server.ini.

Автозапуск и права администратора

Голый терминальный процесс умирает при закрытии SSH-сессии. Быстрый вариант — screen:

screen -dmS avorion /home/steam/avorion-server/AvorionServer.sh

Вернуться к консоли сервера: screen -r avorion, выйти без остановки процесса — Ctrl+A, затем D.

Для продакшена лучше systemd-юнит, который переживёт перезагрузку хоста и сам перезапустит сервер при падении:

[Unit]
Description=Avorion Dedicated Server
After=network.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/avorion-server
ExecStart=/home/steam/avorion-server/AvorionServer.sh
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target

Сохраните как /etc/systemd/system/avorion.service и включите:

sudo systemctl daemon-reload
sudo systemctl enable --now avorion
sudo systemctl status avorion

Есть нюанс: под systemd у вас нет прямого доступа к интерактивной консоли сервера тем же способом, что и при ручном запуске в терминале — часть административных команд (сохранение мира, выдача админ-прав) удобнее отдавать через journalctl для логов и штатный внутриигровой чат-канал команд, если он доступен в вашей версии, либо временно останавливать systemd-юнит и поднимать сервер вручную в screen, когда нужна прямая консоль. Права администратора внутри галактики обычно выдаются через команду в серверной консоли по имени или Steam ID подключившегося игрока — точный синтаксис смотрите там же через help, он может отличаться между патчами.

Логи сервера в реальном времени при запуске через systemd: journalctl -u avorion -f — полезно смотреть, если игроки жалуются на лаги при заходе в определённый сектор или на разрывы соединения.

Не забывайте про бэкапы папки галактики (galaxies/<ИмяГалактики>/) — вручную по крону или средствами хостинга. Устоявшаяся база с десятками станций и кораблей игроков восстановлению без бэкапа не подлежит.

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

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

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

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

Какой порт по умолчанию у сервера Avorion?

27000/UDP, задаётся ключом PORT в server.ini — если у вас на машине несколько игровых серверов, для каждого нужен свой номер.

Сколько игроков потянет один сервер?

Жёсткого технического лимита нет, всё упирается в число одновременно активных секторов и сложность построек в них — небольшая группа до 10 человек комфортно работает на 8 ГБ RAM, для более крупных постоянных серверов закладывайте запас по CPU заранее.

Можно ли перенести галактику с одного сервера на другой?

Да, достаточно скопировать всю папку галактики (galaxies/<ИмяГалактики>/) на новую машину и указать то же имя при запуске — версия движка на новом сервере должна совпадать или быть новее.

Сервер не виден в списке в игре — что проверить?

Чаще всего дело в непроброшенном UDP-порте из server.ini, либо в несовпадении версии клиента и сервера — обновите игру в Steam до той же версии, что стоит на сервере.

Нужен ли выделенный сервер, если играем вдвоём-втроём?

Не обязательно — Avorion поддерживает игру напрямую с ПК одного из игроков (host & play), но при разрыве его соединения или выключении ПК сессия для всех обрывается, в отличие от вынесенного на VPS сервера с постоянным аптаймом.