Zum Inhalt springen

Dokumentation

GameAP

Verbinden Sie ein GameAP-Panel, und Provibr stellt darauf Gameserver bereit, steuert und importiert sie. Diese Seite beschreibt, was sich von den anderen Gamepanels unterscheidet.

API-Token

GameAP authentifiziert sich mit einem einzigen API-Token, ohne OAuth2-Client und ohne Schlüsselpaar. Erstellen Sie eines im Panel und fügen Sie es zusammen mit der Panel-URL in Provibr ein.

  • Host: die vollständige Panel-URL samt Port, zum Beispiel http://panel.example.com:8025. GameAP läuft standardmäßig über einfaches HTTP auf 8025, und es gibt keinen Port, den Provibr ohne Raten ergänzen könnte.
  • API-Token: das Sanctum-Token in der Form id|secret. Provibr behält diese id|secret-Form bei und weist ein Token ab, das ohne die vorangestellte id eingefügt wurde.
GameAP zeigt das Token einmal an und behält danach nur einen Hash. Kopieren Sie es sofort, denn Provibr speichert es ebenfalls nicht, und ein erneutes Senden bedeutet ein neues Token.
Das Token muss von einem Administrator erstellt werden und die Berechtigung zum Anlegen tragen: Ein Token ohne Administratorrechte kann Server auflisten, aber nicht anlegen oder löschen. Provibr prüft dies beim Testen der Verbindung, nicht erst bei der ersten Bestellung.

Das Token läuft nicht ab, womit es die sauberste langlebige Zugangsberechtigung der Gamepanels ist: Der Agent arbeitet monatelang weiter, ohne dass jemand ein Passwort erneut eingeben muss.

Transport

Ein frisches GameAP liefert einfaches HTTP auf Port 8025 aus, Port 443 ist geschlossen. Es gibt kein Feld für einen TLS-Fingerabdruck, denn ohne TLS gibt es kein Zertifikat zum Pinnen.

Ein Panel über einfaches http funktioniert, aber das API-Token und alles, was die Integration tut, reisen dann unverschlüsselt. Setzen Sie einen Reverse-Proxy mit TLS davor, um das zu ändern; der Agent prüft die Zertifikatskette dann wie gewohnt, ohne Anheftung.

Das Spiel und seine Vorlage

Ein GameAP-Server entsteht aus einem Spiel und einem Game-Mod: einem Titel wie samp oder minecraft und seiner Vorlage. Zusammen sind sie das, was anderswo ein Pterodactyl-Egg ist. Provibr listet diese nicht für Sie auf: Das API-Token wird für die Spiele, Mods und Nodes des Panels abgewiesen, die nur Administratoren vorbehalten sind. Sie lesen den Game-Code und die Mod-ID in Ihrem eigenen GameAP-Panel ab und tragen sie in den Plan ein.

Das ist der schärfste Unterschied zu Pterodactyl und Pelican, die ihre Eggs für Sie auflisten. Hier gibt es keine Auswahlliste: Der Plan trägt den Game-Code und die Mod-ID, die Sie von Hand eingeben.

Pläne

Ein Gameplan trägt den Game-Code, die Mod-ID und die Ressourcengrenzen. Bestellt wird über einen Plan: Das Spiel und seine Vorlage kommen aus dem Plan, und die Node kommt aus den Einstellungen der Integration.

Platzierung

Das API-Token kann die Nodes des Panels nicht auflisten, also kann die Platzierung keine auswählen. Die Node kommt aus der Einstellung der Integration, der Node-ID von GameAP, die auf einem Panel mit nur einer Node 1 ist. Es gibt auch kein Zuteilungssystem: Der Agent wählt aus einem von Ihnen gesetzten Bereich einen freien Satz Ports, denn GameAP teilt keine eigenen zu.

Auf einem Panel mit mehreren Nodes kann der Agent die Kapazität einer Node nicht lesen, sodass die Node nicht nach freiem Platz gereiht wird und ein Server auf der von Ihnen genannten landet.

Lebenszyklus

Erstellen, Starten, Stoppen, Neustarten, Neuinstallieren und Löschen funktionieren alle. Einen Server anzulegen und ihn zu installieren sind zwei Schritte: Das Panel schreibt zuerst den Datensatz und installiert danach, und Provibr tut beides und wartet dann, bis die Aufgabe des Daemons fertig ist.

Die HTTP-Antwort auf eine Aktion bedeutet nur, dass die Aufgabe in der Warteschlange steht, nicht dass sie geglückt ist. Der Daemon führt sie aus, und das Ergebnis der Aufgabe ist die Wahrheit. Ein Stopp kann gelegentlich einen Fehler durch ein Rennen auf dem Host melden, daher liest Provibr die Aufgabe und nicht die Antwort.

Sperren

Sperrt Provibr einen Gameserver, um eine Lizenzgrenze durchzusetzen, stoppt es den Server und markiert ihn im Panel als gesperrt.

Die Gesperrt-Kennung von GameAP ist administrativ: von sich aus stoppt sie keinen laufenden Server und verweigert keinen Start. Provibr stoppt den Server, um die Grenze durchzusetzen, aber wer direkten Zugang zum GameAP-Panel hat, startet ihn wieder. Die Sperre ist ebenso ein Provibr-Begriff wie ein Panel-Begriff.

Was Provibr nicht tut

Eine Konsole gibt es nicht: Die von GameAP läuft über einen WebSocket mit einem eigenen, kurzlebigen Token und einem eigenen Frame-Protokoll, ein anderer Weg als der Tunnel, den die anderen Gamepanels teilen. Verbrauchsgrafiken gibt es ebenso wenig, denn GameAP liefert kein CPU, Speicher, Festplatte oder Netzwerk pro Server. Provibr verwaltet das Panel, seine Nodes, Dateien oder Benutzer nicht; ein Gameserver auf dem Panel ist die Integration.