Документация 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. Подробнее о подключении по 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. Тип продукта — выберите Игровой сервер. Если в настройках платформы отсутствует тип продукта Игровой сервер, создайте его вручную. Подробнее о том, как создать тип продукта, в статье Параметры типа продукта. В поле Внутреннее имя укажите game_server.
  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имя сервера
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. Включите опцию Обязательный параметр.