Zum Inhalt springen

Dokumentation

Pelican

Pelican betreibt Ihre Gameserver: Ein Egg beschreibt, woraus ein Server gebaut wird, ein Node trägt ihn, eine Allocation gibt ihm seine Adresse. Provibr erreicht es von einem Agenten aus Ihrem eigenen Netzwerk, das Panel braucht also keinen eingehenden Port, und es wird nichts darauf installiert.

Zwei API-Keys

Pelican hat zwei APIs mit zwei verschiedenen Keys, und Provibr braucht beide. Sie stammen von zwei verschiedenen Bildschirmen, und beide müssen zu einem Konto mit Administratorrechten gehören.

  • Der Application-Key, aus Admin → API Keys. Er beginnt mit papp_ und verwaltet Server: anlegen, sperren, neu installieren, löschen. Geben Sie ihm Lese- und Schreibrechte auf Server, Node, Allocation, User und Egg.
  • Der Client-Key, aus Ihrem eigenen Profile → API Keys. Er beginnt mit pacc_ und trägt Ein-/Aus-Befehle, Live-Verbrauchszahlen und die Konsole.
Kopieren Sie den Client-Key in dem Moment, in dem er erscheint. Pelican zeigt ihn nur einmal an, und die Liste behält danach nur eine kurze Kennung. Diese Kennung wird als Key akzeptiert, sodass Sie beim Einfügen einen schlichten Authentifizierungsfehler bekommen statt eines Hinweises, dass Sie das Falsche kopiert haben. Der Application-Key lässt sich vollständig aus der Liste erneut auslesen.
Eine Alternative über die Kommandozeile gibt es nicht: Pelican bringt keinen artisan-Befehl für API-Keys mit, beide werden also über die Weboberfläche angelegt.

Was Sie eintragen

Vier Felder, und nur das letzte ist optional.

  • Die Adresse des Panels, zum Beispiel https://panel.example.com. Geben Sie nur dann einen Port an, wenn das Panel tatsächlich darauf läuft; hinter einem Reverse Proxy antwortet es auf dem Standardport seines Schemas.
  • Der Application-Key, beginnend mit papp_.
  • Der Client-Key, beginnend mit pacc_.
  • Der TLS-Fingerprint des Panels, nur nötig, wenn sein Zertifikat selbstsigniert ist.
Achten Sie darauf, welcher Key in welches Feld gehört. Pelican akzeptiert einen Client-Key auch auf der Verwaltungs-API, die beiden zu vertauschen erzeugt also keinen sichtbaren Fehler. Allein das Präfix unterscheidet sie, und Provibr prüft es genau deshalb auf beiden Seiten.

Selbstsigniertes Zertifikat

Wenn das Panel ein selbstsigniertes Zertifikat vorweist, tragen Sie seinen Fingerprint ein. Der Agent vertraut dann genau diesem einen Zertifikat, statt die Prüfung abzuschalten. Lesen Sie ihn aus mit:

shell
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Befehle und Terminal-Ausgaben sind überall auf Englisch, im Panel und auf diesen Seiten. Ein Text, eine Wahrheit: Was Sie hier lesen, ist wörtlich das, was Ihr Host zurückschreibt.

Lassen Sie das Feld leer bei einem Zertifikat einer öffentlichen Zertifizierungsstelle und ebenso dann, wenn das Panel nur über http erreichbar ist. Ein Fingerprint neben einer http-Adresse wird abgelehnt, weil es kein Zertifikat gibt, auf das sich pinnen ließe. Ein Panel auf schlichtem http funktioniert zwar, aber beide Keys reisen dann unverschlüsselt über Ihr Netzwerk.

Eggs und ihre Variablen

Ein Server wird aus einem Egg gebaut: ein Docker-Image, ein Startbefehl und ein Satz Variablen, die das Egg selbst festlegt. Provibr liest die Liste aus Ihrem Panel, das Bestellformular bietet also die Eggs an, die Sie tatsächlich haben, statt nach einer Nummer zu fragen.

Provibr lehnt eine Bestellung ab, wenn eine Variable, die das Egg als erforderlich markiert, leer bleibt, obwohl das Panel selbst sie akzeptieren würde. Das ist Absicht: Pelican legt den Server trotzdem an, und der Container stürzt dann beim ersten Start ab, was eine weitaus schlechtere Antwort ist als ein Feld, das rot wird.

Pläne

Ein Game-Plan enthält das Egg, das Image, den Startbefehl und die Limits, die ein Server bekommt. Verknüpfen Sie ihn mit einer oder mehreren Pelican-Integrationen, und er wird bestellbar.

Arbeitsspeicher, Festplatte und CPU akzeptieren 0 für unbegrenzt, und das CPU-Limit zählt in Prozent eines Kerns: 100 ist ein voller Kern, 200 sind zwei. Das IO-Gewicht reicht von 0 bis 1000, und 500 ist der übliche Wert.

Auf welchem Node ein Server landet

Pelican meldet, wie viel Arbeitsspeicher und wie viel CPU jeder Node hat und wie viel davon bereits vergeben ist. Provibr nutzt beides: Ein neuer Server geht auf einen Node, der Platz für ihn hat, und wird mit einer Begründung abgelehnt, wenn kein Node welchen hat.

Die Zahlen, die das Panel meldet, sind seine eigene Buchhaltung, keine Messung: Es addiert die Limits der Server auf einem Node, auch die derjenigen, die noch installieren. Ein Node kann deshalb voll aussehen, während tatsächlich wenig läuft.

Was Sie mit einem Server tun können

Das ganze Leben eines Gameservers, vom Panel aus oder über die API:

  • Ihn aus einem Plan anlegen und entfernen, wenn der Kunde geht.
  • Starten, stoppen, neu starten und hart beenden.
  • Sperren und wieder freigeben. Das geschieht auch automatisch, wenn ein Konto sein Limit überschreitet.
  • Neu installieren, was das Installationsskript seines Eggs erneut ausführt.

Die Konsole

Ein Gameserver wird über seine Konsole bedient: Befehle, Spieler und die Logzeile, die einen Absturz erklärt. Sie läuft im Panel über dieselbe ausgehende Verbindung wie alles andere, es gibt also keinen separaten Port und keine zweite Anmeldung.

Server, die schon da sind

Server, die Sie außerhalb von Provibr angelegt haben, bleiben unangetastet. Sie können sie importieren, damit sie im Panel erscheinen und auf Ihre Kapazität zählen, und so bringen Sie ein bestehendes Panel herüber, ohne etwas neu aufzubauen.

Der Import fasst den Server nicht an, er beginnt nur, ihn zu zählen. Bis Sie ihn importieren, verwaltet Provibr ihn weder, noch berechnet es ihn.

Was diese Integration nicht tut

Dateien, Backups, Datenbanken und Zeitpläne bleiben im Pelican-Panel, ebenso die Verwaltung des Panels und seiner Nodes selbst. Provibr deckt das Leben eines Servers und seine Konsole ab, nicht die Administration Ihres Panels.

Pelican selbst ist noch in der Beta, und seine API ändert sich zwischen Releases. Provibr ist gegen 1.0.0 getestet, und das Panel bietet keine Möglichkeit zu erfragen, welche Version es ausführt, sodass sich ein Upgrade, das eine Antwort ändert, als Fehler zeigt und nicht vorab als Warnung. Lesen Sie die Release-Notes, bevor Sie ein Panel aktualisieren, mit dem Provibr spricht.