Pterodactyl — это панель управления игровыми серверами. Интеграция BILLmanager с Pterodactyl позволяет автоматизировать услуги по предоставлению игровых серверов. Подробнее о Pterodactyl см. в официальной документации.

Работа панели Pterodactyl на одном сервере с BILLmanager не поддерживается.

Настройка на стороне PterodactylLink to Настройка на стороне Pterodactyl


  1. Создайте API-ключ панели:
    1. Нажмите значок , чтобы перейти в панель администратора.
    2. Перейдите в раздел Application API.
    3. Нажмите кнопку Create New.
    4. Выберите разрешения Read & Write для всех сущностей.
    5. В поле Description введите название ключа.
    6. Нажмите кнопку Create Credentials.
    7. Сохраните значение ключа.
  2. Создайте API-ключ пользователя для интеграции:
    1. Нажмите значок, чтобы перейти в настройки аккаунта.
    2. Перейдите в раздел API Credentials.
    3. В полe Description введите название ключа.
    4. Нажмите кнопку Create.
    5. Сохраните значение ключа.
  3. Cоздайте локации и ноды. На серверах, выполняющих роль ноды, должен быть запущен демон Wings. Нодам должны быть назначены allocations — комбинации IP-адресов и портов. Подробнее см. в документации Pterodactyl. Каждому создаваемому серверу будет назначаться свободный адрес из allocation той ноды, на которой этот сервер разворачивается.

Настройка на стороне BILLmanagerLink to Настройка на стороне BILLmanager


Добавление обработчикаLink to Добавление обработчика

Чтобы добавить обработчик Pterodactyl в платформу, установите модуль обработчика:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Установите необходимые пакеты ПО:

    Ubuntu, Astra Linux

    apt install -y make billmanager-corporate-dev billmanager-plugin-python-libs python3-venv
    BASH

    AlmaLinux

    dnf install -y make billmanager-corporate-devel billmanager-plugin-python-libs
    BASH
  3. Перейдите в директорию /root/
    cd /root
    BASH
  4. Скопируйте репозиторий BILLmanager: 
    git clone https://github.com/ISPsystemLLC/billmanager
    CODE
  5. Перейдите в директорию с модулем: 
    cd billmanager/processing/game_server/bill-pter-bridge
    CODE
  6. Запустите установку: 
    make
    CODE

Подключение обработчикаLink to Подключение обработчика

Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:

  1. Тип продукта — выберите Игровой сервер. Если в настройках платформы отсутствует тип продукта Игровой сервер, создайте его вручную. Подробнее о том, как создать тип продукта, в статье Параметры типа продукта. В поле Внутреннее имя укажите game_server.
  2. Модуль обработки — выберите Pterodactyl.
  3. Настройка интеграции:
    1. URL — введите URL сервера с Pterodactyl.
    2. API ключ панели — введите созданный ключ панели.
    3. API ключ пользователя — введите созданный ключ пользователя.
    4. ID локации — введите id локации Pterodactyl.
  4. Параметры обработчика услуг:
    1. Дата-центр — название дата-центра в BILLmanager, к которому будет подключён обработчик.

    2. Наименование — наименование обработчика для отображения в интерфейсе BILLmanager.
    3. Ответственный — отдел, которому будут назначаться задачи от обработчика.
    4. Сортировка — приоритет обработчика. Если к тарифному плану будет подключено несколько обработчиков, то при создании услуги первым выбирается обработчик с наименьшим приоритетом.

Настройка тарифаLink to Настройка тарифа

Чтобы настроить тариф, перейдите в раздел Продукты Тарифные планы → кнопка Создать:

  1. Тип продукта — выберите Игровой сервер.
  2. Параметры тарифного плана:
    1. Обработчик услуг — выберите созданный обработчик для Pterodactyl.
    2. Настройки обработчика:
      1. Nest — выберите нужный Nest — движок игрового сервера.
      2. Egg — выберите нужный Egg — тип игрового сервера.

Подробнее о создании тарифных планов см. в статье Создание, настройка, архивация тарифа.

Параметры типа продуктаLink to Параметры типа продукта

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

Основные параметры продукта не должны изменяться клиентом. Чтобы запретить клиенту изменение, в настройках параметра в поле Доступ для изменения выберите Сотрудник или Супер пользователь.

Основные параметры продукта:

Внутреннее имя параметра
Описание
userpasswordпароль пользователя Pterodactyl
usernameимя пользователя Pterodactyl
serveridимя сервера
panelidid игрового сервера
ipосновной IP-адрес

В целях безопасности логин и пароль клиента платформа генерирует автоматически при заказе.

Чтобы сделать пароль видимым в карточке услуги, перейдите в раздел  ПродуктыТипы продуктовИгровой сервер → кнопка Параметры пароль пользователя PterodactylИзменить → включите опцию Шифровать.

Чтобы добавить параметр, перейдите в раздел Продукты  Типы продуктов Игровой сервер → кнопка Параметры → кнопка Создать. В содержание продукта могут быть включены параметры: 

Внутреннее имя параметра
Описание
ncpuколичество CPU, шт.
memколичество RAM, МиБ
disk discобъём диска, МиБ
backup_limitмаксимальное количество резервных копий, шт.
ipколичество IP-адресов, шт.
db_limitлимит количества баз данных, шт.
io_weightвес использования операций ввода-вывода. Чем выше значение io_weight,тем больший приоритет получает процесс при выполнении операций ввода-вывода
swap_limitмаксимальный объём раздела подкачки, МиБ

Для каждой переменной в сочетании Nest-Egg с обязательными полями и без значений по умолчанию, необходимо добавить дополнительный параметр в тип продукта:

  1. Перейдите в ПродуктыТипы продуктовИгровой сервер → кнопка Параметры → кнопка Создать.
  2. Укажите настройки:
    1. Внутреннее имя — введите имя переменной Pterodactyl.
    2. Включите опцию Разрешить настройку подключения к тарифам.
    3. Включите опцию Показывать при заказе.
    4. Включите опцию Обязательный параметр.

Может быть полезно

Связанные статьи: