Документация BILLmanager 6

Интеграция с Pterodactyl

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

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

Настройка на стороне 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 той ноды, на которой этот сервер разворачивается.

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

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

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

  1. Подключитесь к серверу с платформой по SSH.
  2. Установите необходимые пакеты ПО:
    Ubuntu, Astra Linux
    apt install -y make billmanager-corporate-dev billmanager-plugin-python-libs python3-venv
    AlmaLinux
    dnf install -y make billmanager-corporate-devel billmanager-plugin-python-libs
  3. Перейдите в директорию /root/
    cd /root
  4. Скопируйте репозиторий BILLmanager: 
    git clone https://github.com/ISPsystemLLC/billmanager
  5. Перейдите в директорию с модулем: 
    cd billmanager/processing/game_server/bill-pter-bridge
  6. Запустите установку: 
    make

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

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

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

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

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

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

Параметры тарифа

Основные параметры тарифа:

  • userpassword — пароль пользователя Pterodactyl;
  • username — имя пользователя Pterodactyl;
  • serverid — имя сервера;
  • panelid — id игрового сервера;
  • ip — основной IP-адрес.

В содержание тарифа могут быть включены параметры:

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

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

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