Как начать работу с Pterodactyl для управления игровым сервером — CloudSavvy IT
![]()
Pterodactyl — это платформа управления сервером, которая использует контейнеры Docker для управления экземплярами приложений. Он предназначен для запуска, настройки и управления игровыми серверами без управления, такими как серверы Minecraft, но также может использоваться для других приложений.
Установка Pterodactyl & The Daemon
Pterodactyl имеет два основных компонента: панель управления, на которой размещен веб-интерфейс и общается с демонами, и сами демоны, которые работают на хост-серверах, которые действуют как рабочие машины, работающие на вашем оборудовании.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Панель управления может быть установлена на базовом 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
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
