Как начать работу с Pterodactyl для управления игровым сервером — CloudSavvy IT

Pterodactyl — это платформа управления сервером, которая использует контейнеры Docker для управления экземплярами приложений. Он предназначен для запуска, настройки и управления игровыми серверами без управления, такими как серверы Minecraft, но также может использоваться для других приложений.

Установка Pterodactyl & The Daemon

Pterodactyl имеет два основных компонента: панель управления, на которой размещен веб-интерфейс и общается с демонами, и сами демоны, которые работают на хост-серверах, которые действуют как рабочие машины, работающие на вашем оборудовании.

Панель управления может быть установлена ​​на базовом VPS, или вы можете установить ее непосредственно на одном из хост-серверов вместе с демоном.

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

Это позволяет вам определить, как запустить один сервер Minecraft, а затем развернуть 20 копий этого главного образа сервера Minecraft с различной конфигурацией, без установки Java 20 раз.

Установка птеродактиля немного сложнее, чем apt get install, поэтому мы не будем вдаваться в подробности здесь.

Вместо этого вы можете обратиться к их руководству по установке, который должен оставаться в актуальном состоянии. По сути, вы устанавливаете стек LAMP на VPS и настраиваете базу данных MySQL для правильного взаимодействия с Pterodactyl.

Затем на каждом узле хоста вам необходимо установить демон, Это включает в себя установку Docker и NodeJS и запуск LetsEncrypt’s certbot для создания сертификата SSL, чтобы соединение между панелью управления и демоном могло быть выполнено безопасно через TLS.

После его установки вам необходимо настроить и настроить каждый демон из консоли Pterodactyl. Во-первых, вам нужно создать несколько тегов Location на вкладке «Locations» на боковой панели, чтобы отсортировать каждого демона.

По сути, это коды регионов, которые вы можете создать для организации и не служат для каких-либо других целей, но для установки демона требуется хотя бы один.

Затем создайте новый узел на вкладке «Узлы» на боковой панели.

Дайте ему имя и описание, а затем введите доменное имя, которое может использоваться для доступа к демону. В конфигурации вы можете изменить каталог файлов демона (если вы используете OVH, это будет /home/daemon-data скорее, чем /srv/), а также изменение общего объема памяти и дискового пространства, доступного для новых серверов. Это касается всего узла, поэтому введите здесь спецификации своей машины.

Затем нажмите «Создать», и вам будет предоставлен файл JSON. Скопируйте это и вставьте в:

/srv/daemon/config/core.json

Затем вы можете запустить демон с помощью sudo npm start, Однако вы, вероятно, захотите демонизировать это с помощью systemd, поэтому он будет запускаться при запуске.

[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service

[Service]
User=root
#Group=some_group
WorkingDirectory=/srv/daemon
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/bin/node /srv/daemon/src/index.js
Restart=on-failure
StartLimitInterval=600

[Install]
WantedBy=multi-user.target

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

systemctl enable --now wings

Теперь узел должен быть связан (если это не так, проверьте настройки брандмауэра), но вам нужно будет сделать последний шаг, чтобы его можно было использовать — назначить выделение IP-адресов для новых серверов на вкладке «Распределение». , Если вашему серверу требуется несколько портов, вам нужно указать дополнительные выделения.

Настройка конфигурации вашего сервера

Конфигурация сервера начинается с яиц, которые содержат большую часть переменных и определяют, какой образ Docker использовать. Яйца делятся на гнезда в зависимости от игры; например, гнездо Minecraft содержит яйца для ванили, а также модифицированные конфигурации серверов, такие как Forge, Paper и BungeeCord.

Pterodactyl предупреждает большими красными буквами, что редактирование Egg — это расширенная функция, но ее легко изменить, и если вы хотите какой-либо ручной контроль над работой ваших серверов, вам придется с ними ознакомиться.

В разделе «Конфигурация» в настройках Egg вы найдете элементы управления для изменения образа Docker и команд запуска.

Вы получите максимальный контроль, предоставив свои собственные образы Docker. Ты можешь готовые изображения fork Pterodactyl, и измените сценарий запуска в entrypoint.sh чтобы включить все, что вы хотите.

Это полезно, если вы хотите выполнить некоторые действия до запуска двоичного файла игрового сервера. В моем случае я установил это, чтобы обновить сервер до правильной ветки Steam, а затем получить последнюю сборку моего кода с сервера TeamCity.

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

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

Вы можете использовать эти переменные в сценарии запуска и в точке входа в контейнер Docker (полезно для изменения сценария в зависимости от типа сервера), и они могут быть изменены для каждого сервера.

Создание сервера

На странице «Серверы» на боковой панели создайте новый сервер. Дайте ему имя и описание и обязательно укажите себя как владелец сервера, иначе это вызовет ошибку.

Вам также необходимо выбрать, на каком узле будет работать этот сервер и какое распределение портов он будет использовать. Если вам нужны дополнительные порты для RCON, вам необходимо установить вторичные распределения.

Ниже вы найдете элементы управления для управления ресурсами, где вы можете установить ограничения на память, диск и ЦП. Большинство игровых серверов являются однопоточными, но некоторые задачи (например, создание сетки при запуске для Rust) могут перегрузить ЦП, что может повлиять на другие службы в системе.

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

Затем выберите гнездо и яйцо, которые вы используете. Вы найдете элементы управления для отключения образа Docker, а также для переопределения всех переменных сервера в Egg. Возможно, вам потребуется заполнить здесь номера портов, чтобы они соответствовали выделениям.

После того, как все настроено, нажимаем создать. Pterodactyl отправит запрос демону и создаст новый сервер. Первая установка займет несколько минут, но как только она будет готова, вы сможете просмотреть выходные данные сервера на вкладке «Консоль» в меню сервера.

В этом меню вы также найдете встроенную систему управления файлами, а также имя пользователя для подключения через FTP (которое привязано к контейнеру Docker).

Вы также можете добавлять других пользователей на этот сервер и настраивать расписания для выполнения таких команд, как ежедневные перезапуски.

В разделе «Конфигурация» вы найдете элементы управления для редактирования переменных сервера, а также для запуска перестроек контейнера Docker. Это не стирает никаких данных, но необходимо, если вы редактируете entrypoint.cs

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *