Săriți la conținut

Documentație

GameAP

Conectați un panou GameAP, iar Provibr aprovizionează, controlează și importă servere de joc pe el. Această pagină acoperă ce diferă față de celelalte panouri de joc.

Token API

GameAP se autentifică cu un singur token API, fără client OAuth2 și fără pereche de chei. Creați unul în panou, apoi lipiți-l în Provibr împreună cu adresa panoului.

  • Gazdă: adresa completă a panoului, cu portul, de exemplu http://panou.example.com:8025. GameAP folosește HTTP simplu pe 8025 în mod implicit, și nu există port pe care Provibr să-l poată adăuga fără să ghicească.
  • Token API: tokenul Sanctum, în forma id|secret. Provibr păstrează această formă id|secret și respinge un token lipit fără id-ul din față.
GameAP afișează tokenul o singură dată și păstrează apoi doar un hash. Copiați-l imediat: nici Provibr nu îl stochează, așa că retrimiterea credentialelor înseamnă crearea unui token nou.
Tokenul trebuie creat de un administrator și să poarte dreptul de creare: un token fără drepturi de administrator poate lista servere, dar nu le poate crea sau șterge. Provibr verifică asta la testarea conexiunii, nu abia la prima comandă.

Tokenul nu expiră, ceea ce îl face cea mai curată credentială de lungă durată dintre panourile de joc: agentul continuă să lucreze luni întregi fără ca cineva să reintroducă o parolă.

Transport

Un GameAP nou folosește HTTP simplu pe portul 8025, cu 443 închis. Nu există câmp pentru amprenta TLS, pentru că fără TLS nu există niciun certificat de fixat.

Un panou pe http simplu funcționează, dar tokenul API și tot ce face integrarea circulă atunci necriptat. Puneți în față un reverse proxy cu TLS ca să schimbați asta; agentul validează atunci lanțul de certificate ca de obicei, fără fixare.

Jocul și șablonul său

Un server GameAP se clădește dintr-un joc (un titlu ca samp sau minecraft) și un game mod, șablonul lui; împreună sunt ceea ce în altă parte este un egg de Pterodactyl. Provibr nu vi le listează: tokenul API este respins pe jocurile, modurile și nodurile panoului, care sunt doar pentru administrator. Citiți codul jocului și ID-ul modului în propriul panou GameAP și introduceți-le în plan.

Aceasta este diferența cea mai netă față de Pterodactyl și Pelican, care își listează egg-urile. Aici nu există listă de selecție: planul poartă codul jocului și ID-ul modului pe care le introduceți manual.

Planuri

Un plan de joc poartă codul jocului, ID-ul modului și limitele de resurse. Comanda trece printr-un plan: jocul și șablonul lui vin din plan, iar nodul vine din setările integrării.

Plasare

Tokenul API nu poate lista nodurile panoului, așa că motorul de plasare nu poate alege niciunul. Nodul vine din setarea integrării: ID-ul de nod al GameAP, care pe un panou cu un singur nod este 1. Nu există nici sistem de alocare: agentul alege un set de porturi libere dintr-un interval pe care îl fixați, pentru că GameAP nu distribuie niciunul al său.

Pe un panou cu mai multe noduri, nodul nu este ordonat după spațiu liber (agentul nu poate citi capacitatea unui nod), așa că un server ajunge pe nodul pe care l-ați indicat.

Ciclu de viață

Crearea, pornirea, oprirea, repornirea, reinstalarea și ștergerea funcționează toate. Crearea unui server și instalarea lui sunt doi pași: panoul scrie mai întâi înregistrarea și instalează după aceea, iar Provibr le face pe amândouă, apoi așteaptă să se termine sarcina daemonului.

Răspunsul HTTP la o acțiune arată doar că sarcina este în coadă, nu că a reușit. Daemonul o execută, iar rezultatul sarcinii este adevărul. O oprire poate din când în când să raporteze o eroare dintr-o cursă pe gazdă, așa că Provibr citește sarcina, nu răspunsul.

Suspendare

Când Provibr suspendă un server de joc (pentru a impune o limită de licență), oprește serverul și îl marchează ca blocat în panou.

Marcajul de blocat al GameAP este administrativ: de unul singur nu oprește un server în funcțiune și nu refuză o pornire. Provibr oprește serverul ca să impună limita, dar oricine are acces direct la panoul GameAP îl poate porni din nou. Blocarea este atât un concept al Provibr, cât și al panoului.

Ce nu face Provibr

Nu există consolă: cea a GameAP merge printr-un websocket cu un token efemer separat și propriul protocol de cadre, o cale diferită de tunelul pe care celelalte panouri de joc îl împart. Nu există nici grafice de utilizare, pentru că GameAP nu oferă CPU, memorie, disc sau rețea pe server. Provibr nu gestionează panoul, nodurile, fișierele sau utilizatorii lui; un server de joc pe panou este integrarea.