Dune: Awakening — Self Hosted Server

Самостоятельное размещение — это способ для пользователей размещать миры Dune Awakening (в этом документе они называются «боевыми группами», а Sietches — «серверами») на своих собственных компьютерах и подключаться к ним. Хостинг-провайдеры смогут настраивать различные параметры в конфигурационных файлах, чтобы изменить поведение игровых серверов по своему усмотрению.

На этой странице мы поможем вам с настройкой, но текущий процесс требует некоторых технических знаний. Если у вас возникнут дополнительные вопросы, вы всегда можете присоединиться к нашему Discord-серверу для публичного тестового клиента . 

Требования

  • Компьютер под управлением Windows с включенными функциями виртуализации и HyperV (для этого требуется Windows Pro).

  • 20 ГБ оперативной памяти, в зависимости от количества серверов, которые будет использовать боевая группа.

  • Процессор, поддерживающий инструкции AVX2.

  • Для настройки переадресации портов при подключении к боевой группе игроков, находящихся вне сети, необходимо получить доступ к сетевому маршрутизатору.

  • Токен, сгенерированный на нашей странице учетной записи https://account-pts.duneawakening.com/

  • Вам потребуется настроить переадресацию следующих портов:
    • 7777-7810 UDP для игровых серверов.
    • 31982 TCP для RMQ

Первоначальная настройка

После включения аппаратной виртуализации в BIOS и активации функции HyperV пользователи смогут загрузить тестовый клиент-сервер Dune: Awakening в Steam и начать процесс. В папке Program Files вы найдете файл battlegroup.bat. Запуск его от имени администратора покажет различные параметры для настройки и запуска боевой группы. Изначально будет доступна только опция initial-setup:

Начальная настройка проведет вас через ряд шагов по подготовке сети и ресурсов виртуальной машины, а также по настройке боевой группы в Kubernetes.

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

В разделе «Команды виртуальной машины» есть параметры для запуска/остановки виртуальной машины, а также возможность изменить пароль пользователя dune по умолчанию в виртуальной машине и заменить сгенерированный во время настройки SSH-ключ новым.

В разделе «Команды боевой группы» есть опции для запуска/остановки боевой группы, обновления её до последней доступной версии и мониторинга её состояния. В разделе «Статус» отображается информация о запущенных серверах, а также о состоянии окружающих служб.

Редактирование боевой группы

Для внесения изменений в конфигурацию боевой группы, например, изменения количества серверов для каждой карты, используемых ими ресурсов, их параметров и т.д., изменения необходимо вносить в ресурс боевой группы Kubernetes. Поскольку это требует очень специфического синтаксиса, мы создали интерфейс редактора боевой группы, который позволяет легко обновлять ресурс боевой группы. При выборе пункта «Редактировать боевую группу» откроется этот редактор:

При входе на карту отобразятся все доступные настройки, их текущие и измененные значения. Это позволяет вносить изменения в каждый конкретный сервер (измерение) на карте или применять изменения ко всем серверам одновременно.

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

Также есть расширенная опция для редактирования группы боевых действий непосредственно в YAML. Это откроет редактор по умолчанию (vi) и позволит вам изменить любые настройки в спецификации группы боевых действий. Если изменение недействительно, ресурс уведомит вас, но бывают случаи, когда группа боевых действий может сломаться из-за некорректной модификации, поэтому следует проявлять осторожность.

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

Другой способ управления поведением боевой группы — это использование конфигурационных файлов. Открыв файловый менеджер, вы увидите папку с логами для каждого сервера, а также папку UserSettings с предварительно заполненными конфигурационными файлами, влияющими на поведение игры.

Изменения в конфигурационных файлах применяются ко всем серверам в боевой группе. Если необходимо применять настройки для каждого сервера отдельно, это следует делать в спецификации боевой группы, как указано выше.

Обратите особое внимание на параметры Port и IGWPort. Они позволяют установить разные начальные порты для игровых серверов, принимающих клиентов. Изменение этих параметров потребует соответствующей настройки переадресации портов.

Мониторинг

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

Есть возможность открыть веб-интерфейс Battlegroup Director, где можно отслеживать очереди перемещений, а также состояние различных серверов. Настройки, измененные на этой странице, не сохраняются , и вместо этого их необходимо применить к спецификации Battlegroup в Kubernetes, как указано выше.

Есть возможность открыть командную оболочку самой виртуальной машины, что позволит пользователю Dune запускать команды kubectl для более детального мониторинга состояния подов. Например, sudo kubectl -A get podsкоманда покажет состояние каждого пода в кластере, или можно указать поды конкретной боевой группы с помощью ее пространства имен.

Также есть возможность подключиться к любому запущенному в данный момент поду через командную оболочку, что позволяет просматривать его статус, логи и использование ресурсов изнутри пода.

Резервное копирование баз данных

Существуют опции для создания резервных копий базы данных боевой группы и для импорта существующей резервной копии. Желательно выполнять эти действия во время остановки боевой группы, поскольку это может существенно повлиять на производительность виртуальной машины и самой боевой группы.

Подкачка памяти

В экспериментальной версии функции подкачки памяти значительно снизится потребность карт в памяти. Включение этой функции позволит каждому игровому серверу использовать подкачку на диске, что позволит размещать игровые серверы с менее чем половиной первоначальных требований. После активации этой функции все серверы в боевой группе автоматически снизят свои требования до этого уровня. Во время первоначальной настройки, если используется параметр с объемом памяти менее 20 ГБ, будет предложено включить подкачку памяти для более комфортной работы.