Перейти до вмісту

Документація

GameAP

Підключіть панель GameAP, і Provibr провізіонує, керує та імпортує на ній ігрові сервери. Ця сторінка описує, чим GameAP відрізняється від інших ігрових панелей.

Токен API

GameAP автентифікується одним токеном API, без клієнта OAuth2 та без пари ключів. Створіть його в панелі та вставте в Provibr разом із URL панелі.

  • Хост: повна URL панелі з портом, наприклад http://panel.example.com:8025. GameAP за замовчуванням працює по звичайному HTTP на 8025, і немає порту, який Provibr міг би додати без вгадування.
  • Токен API: токен Sanctum у формі id|secret. Provibr зберігає цю форму id|secret і відхиляє токен, вставлений без id спереду.
GameAP показує токен один раз і далі зберігає лише його хеш. Скопіюйте його одразу, бо Provibr теж його не зберігає, тож повторне надсилання даних означає створення нового токена.
Токен має створити адміністратор, і він має нести право на створення: токен без прав адміністратора може перелічувати сервери, але не може їх створювати чи видаляти. Provibr перевіряє це під час перевірки зʼєднання, а не лише при першому замовленні.

Токен не спливає, що робить його найчистішим довготривалим обліковим записом серед ігрових панелей: агент працює місяцями без того, щоб хтось знову вводив пароль.

Транспорт

Свіжий GameAP віддає звичайний HTTP на порту 8025, а 443 закритий. Поля відбитка TLS немає, бо без TLS немає сертифіката для закріплення.

Панель на звичайному http працює, але токен API й усе, що робить інтеграція, тоді передається без шифрування. Поставте попереду reverse proxy з TLS, щоб це змінити; тоді агент перевіряє ланцюг сертифікатів як завжди, без закріплення.

Гра та її шаблон

Сервер GameAP будується з гри та game mod: титулу на кшталт samp чи minecraft і його шаблону; разом вони є тим, чим в інших панелях є egg у Pterodactyl. Provibr їх вам не перелічує: токен API відхиляється на іграх, модах і вузлах панелі, які доступні лише адміністратору. Зчитайте код гри та ID мода у власній панелі GameAP і введіть їх у тариф.

Це найвиразніша відмінність від Pterodactyl і Pelican, які свої egg вам перелічують. Тут немає списку вибору: тариф несе код гри та ID мода, які ви вводите вручну.

Тарифи

Ігровий тариф несе код гри, ID мода та обмеження ресурсів. Замовлення йде через тариф: гра та її шаблон беруться з тарифу, а вузол — із налаштувань інтеграції.

Розміщення

Токен API не може перелічити вузли панелі, тож рушій розміщення не може жоден обрати. Вузол береться з налаштування інтеграції: ID вузла GameAP, який на панелі з одним вузлом дорівнює 1. Системи розподілу теж немає: агент обирає вільну трійку портів з діапазону, який ви задаєте, бо GameAP жодного свого не роздає.

На панелі з кількома вузлами агент не може прочитати місткість вузла, тож вузол не ранжується за вільним місцем і сервер потрапляє на той, який ви вказали.

Життєвий цикл

Створення, запуск, зупинка, перезапуск, перевстановлення та видалення — усе працює. Створити сервер і встановити його — це два кроки: панель спершу записує рядок і встановлює потім, а Provibr робить обидва й чекає, поки завдання демона завершиться.

HTTP-відповідь на дію означає лише, що завдання в черзі, а не що воно вдалося. Демон виконує його, і результат завдання є істиною. Зупинка іноді може повідомити помилку через гонку на хості, тож Provibr читає завдання, а не відповідь.

Призупинення

Коли Provibr призупиняє ігровий сервер, щоб дотриматися ліцензійного обмеження, він зупиняє сервер і позначає його як заблокований у панелі.

Прапорець заблокованого в GameAP адміністративний: сам по собі він не зупиняє запущений сервер і не відмовляє у запуску. Provibr зупиняє сервер, щоб дотриматися обмеження, але будь-хто з прямим доступом до панелі GameAP може знову його запустити. Блокування — це поняття як Provibr, так і панелі.

Чого Provibr не робить

Консолі немає, бо у GameAP вона йде через websocket із окремим короткоживучим токеном і власним протоколом кадрів, іншим шляхом, ніж тунель, який спільний для інших ігрових панелей. Немає й графіків споживання, бо GameAP не надає CPU, памʼяті, диска чи мережі по кожному серверу. Provibr не керує панеллю, її вузлами, файлами чи користувачами; ігровий сервер на панелі і є інтеграцією.