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

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

Pelican

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

Два ключі API

У Pelican два API з двома різними ключами, і Provibr потрібні обидва. Вони з двох різних екранів, і обидва мають належати обліковому запису з правами адміністратора.

  • Ключ застосунку, з Admin → API Keys. Він починається з papp_ і керує серверами: створення, призупинення, перевстановлення, видалення. Надайте йому доступ на читання та запис до Server, Node, Allocation, User і Egg.
  • Клієнтський ключ, з власного Profile → API Keys. Він починається з pacc_ і несе команди живлення, показники використання наживо та консоль.
Скопіюйте клієнтський ключ, щойно він зʼявиться. Pelican показує його лише раз, а список згодом зберігає тільки короткий ідентифікатор. Цей ідентифікатор приймається як ключ, тож якщо вставити його, ви отримаєте звичайну помилку автентифікації, а не підказку, що ви скопіювали не те. Ключ застосунку можна прочитати зі списку повністю.
Альтернативи в командному рядку немає: Pelican не постачає команди artisan для ключів API, тож обидва створюються через вебінтерфейс.

Що ви заповнюєте

Чотири поля, і лише останнє необовʼязкове.

  • Адреса панелі, наприклад https://panel.example.com. Додавайте порт лише тоді, коли панель справді працює на ньому; за зворотним проксі вона відповідає на стандартному порту своєї схеми.
  • Ключ застосунку, що починається з papp_.
  • Клієнтський ключ, що починається з pacc_.
  • TLS-відбиток панелі, потрібен лише тоді, коли її сертифікат самопідписаний.
Слідкуйте, який ключ у яке поле йде. Pelican приймає клієнтський ключ і на керівному API теж, тож якщо переплутати ці два, видимої помилки не буде. Розрізняє їх лише префікс, і Provibr перевіряє його з обох боків саме з цієї причини.

Самопідписаний сертифікат

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

shell
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Команди та вивід термінала всюди англійською і в панелі, і на цих сторінках. Один текст, одна правда: те, що ви читаєте тут, ваш хост виведе дослівно так само.

Залиште поле порожнім для сертифіката від публічного центру сертифікації, а також коли панель доступна лише через http. Відбиток поряд з адресою http відхиляється, бо закріплювати нема чого. Панель на простому http працює, але обидва ключі тоді мандрують вашою мережею незашифрованими.

Eggs та їхні змінні

Сервер збирається з egg: образ Docker, команда запуску та набір змінних, які egg визначає сам. Provibr читає список із вашої панелі, тож форма замовлення пропонує ті eggs, які у вас справді є, замість того щоб питати номер.

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

Тарифи

Ігровий тариф містить egg, образ, команду запуску та ліміти, які отримує сервер. Повʼяжіть його з однією чи кількома інтеграціями Pelican, і його можна буде замовити.

Памʼять, диск і CPU приймають 0 як «без обмежень», а ліміт CPU рахується у відсотках від одного ядра: 100 — це одне повне ядро, 200 — два. Вага вводу-виводу коливається від 0 до 1000, а 500 є звичним значенням.

На який вузол потрапляє сервер

Pelican повідомляє, скільки памʼяті та скільки CPU має кожен вузол і скільки з цього вже роздано. Provibr використовує обидва показники: новий сервер потрапляє на вузол, де для нього є місце, і відхиляється з поясненням, коли місця немає в жодного вузла.

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

Що можна робити із сервером

Усе життя ігрового сервера, з панелі або через API:

  • Створити його з тарифу і видалити, коли клієнт іде.
  • Запустити, зупинити, перезапустити й жорстко зупинити його.
  • Призупинити та поновити його — це також відбувається автоматично, коли обліковий запис перевищує свій ліміт.
  • Перевстановити його — це знову запускає інсталяційний скрипт його egg.

Консоль

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

Сервери, які вже є

Сервери, які ви створили поза Provibr, лишаються недоторканими. Ви можете імпортувати їх, щоб вони зʼявилися в панелі та зараховувалися до вашої потужності, — це спосіб перенести наявну панель, нічого не перебудовуючи.

Імпорт не торкається сервера; він лише починає його враховувати. Доки ви його не імпортуєте, Provibr ним не керуватиме й не тарифікуватиме його.

Чого ця інтеграція не робить

Файли, резервні копії, бази даних і розклади лишаються в панелі Pelican, як і керування самою панеллю та її вузлами. Provibr охоплює життя сервера та його консоль, а не адміністрування вашої панелі.

Pelican сам ще у беті, і його API змінюється між випусками. Provibr перевірено на 1.0.0, а панель не дає способу запитати, яку версію вона запускає, тож оновлення, яке змінює відповідь, зʼявляється як помилка, а не як попередження заздалегідь. Прочитайте примітки до випуску, перш ніж оновлювати панель, з якою спілкується Provibr.