Pterodactyl — это панель управления игровыми серверами. Интеграция BILLmanager с Pterodactyl позволяет автоматизировать услуги по предоставлению игровых серверов. Подробнее о Pterodactyl см. в официальной документации.
Работа панели Pterodactyl на одном сервере с BILLmanager не поддерживается.
Настройка на стороне Pterodactyl
- Создайте API-ключ панели:
- Создайте API-ключ пользователя для интеграции:
- Нажмите значок , чтобы перейти в настройки аккаунта.
- Перейдите в раздел API Credentials.
- В полe Description введите название ключа.
- Нажмите кнопку Create.
- Сохраните значение ключа.
- Cоздайте локации и ноды. На серверах, выполняющих роль ноды, должен быть запущен демон Wings. Нодам должны быть назначены allocations — комбинации IP-адресов и портов. Подробнее см. в документации Pterodactyl. Каждому создаваемому серверу будет назначаться свободный адрес из allocation той ноды, на которой этот сервер разворачивается.
Настройка на стороне BILLmanager
Добавление обработчика
Чтобы добавить обработчик Pterodactyl в платформу, установите модуль обработчика:
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Установите необходимые пакеты ПО: Ubuntu, Astra Linux
apt install -y make billmanager-corporate-dev billmanager-plugin-python-libs python3-venv
AlmaLinuxdnf install -y make billmanager-corporate-devel billmanager-plugin-python-libs
- Перейдите в директорию /root/:
cd /root
- Скопируйте репозиторий BILLmanager:
git clone https://github.com/ISPsystemLLC/billmanager
- Перейдите в директорию с модулем:
cd billmanager/processing/game_server/bill-pter-bridge
- Запустите установку:
make
Подключение обработчика
Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:
- Тип продукта — выберите Игровой сервер.
- Модуль обработки — выберите Pterodactyl.
- Настройка интеграции:
- URL — введите URL сервера с Pterodactyl.
- API ключ панели — введите созданный ключ панели.
- API ключ пользователя — введите созданный ключ пользователя.
- ID локации — введите id локации Pterodactyl.
- Параметры обработчика услуг:
- Дата-центр — название дата-центра в BILLmanager, к которому будет подключён обработчик.
- Наименование — наименование обработчика для отображения в интерфейсе BILLmanager.
- Ответственный — отдел, которому будут назначаться задачи от обработчика.
- Сортировка — приоритет обработчика. Если к тарифному плану будет подключено несколько обработчиков, то при создании услуги первым выбирается обработчик с наименьшим приоритетом.
Настройка тарифа
Чтобы настроить тариф, перейдите в раздел Продукты → Тарифные планы → кнопка Создать:
- Тип продукта — выберите Игровой сервер.
- Параметры тарифного плана:
- Обработчик услуг — выберите созданный обработчик для Pterodactyl.
- Настройки обработчика:
- Nest — выберите нужный Nest — движок игрового сервера.
- 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 с обязательными полями и без значений по умолчанию, необходимо добавить дополнительный параметр в тип продукта:
- Перейдите в Продукты → Типы продуктов → Игровой сервер → кнопка Параметры → кнопка Создать.
- Укажите настройки:
- Внутреннее имя — введите имя переменной Pterodactyl.
- Включите опцию Разрешить настройку подключения к тарифам.
- Включите опцию Показывать при заказе.
- Включите опцию Обязательный параметр.