Naar de inhoud

Documentatie

PufferPanel

Koppel een PufferPanel-installatie en Provibr maakt, bestuurt en importeert er gameservers op. Deze pagina beschrijft waarin PufferPanel van de andere gamepanelen verschilt.

OAuth2-inloggegevens

PufferPanel authenticeert met een OAuth2-client en niet met een API-sleutel: een client-id en een client-secret. Maak er een aan in het paneel onder je account en plak beide in Provibr, samen met de paneel-URL.

  • Host: de volledige paneel-URL, bijvoorbeeld http://panel.example.com:8080. Poort 8080 is de standaard van een verse installatie; een paneel achter een reverse proxy draait op 443, en er is geen poort die Provibr kan aanvullen zonder te gokken.
  • Client-id: de OAuth2-clientidentificatie.
  • Client-secret: het geheim dat bij die client hoort.
  • TLS-fingerprint (optioneel): alleen bij een https://-host, om het certificaat te pinnen.
Het client-secret staat één keer op het scherm, bij het aanmaken van de client. Kopieer het meteen: PufferPanel toont het daarna niet meer, en een half gekopieerd secret geeft een gewone authenticatiefout in plaats van te melden dat het onvolledig is.

Wat de client mag volgt het account waar hij bij hoort. Geef hem een beheerdersaccount, zodat hij servers kan aanmaken en verwijderen.

Transport

Een verse PufferPanel spreekt plain HTTP op poort 8080. Draait het paneel achter TLS met een zelfondertekend certificaat, vul dan de fingerprint in; de agent vertrouwt dan dat ene certificaat in plaats van de controle uit te zetten. Uitlezen met:

shell
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Commando's en terminaluitvoer zijn overal Engels, in het paneel en op deze pagina's. Één tekst, één waarheid: wat je hier leest is letterlijk wat je host teruggeeft.

Laat het veld leeg bij een certificaat van een publieke autoriteit, en ook als het paneel alleen over http bereikbaar is. Een fingerprint naast een http-adres wordt geweigerd, want er is geen certificaat om te pinnen. Een paneel op plain http werkt wel, maar het client-secret en alles wat de koppeling doet reizen dan onversleuteld.

Templates

PufferPanel bouwt een server uit een community-template, zoals minecraft of factorio, en niet uit een genummerd egg. Provibr somt de templates op naam op; de volledige definitie, met de variabelen, wordt bij het bestellen opgehaald, dus de variabelen-editor van het plan valt terug op de standaardwaarden van de template.

Een community-template staat standaard op een host-omgeving, die binaries vraagt die een verse paneelhost niet heeft. Provibr schakelt naar de docker-variant van de template, die ze in zijn image draagt. Anders zou de server stranden op een ontbrekende binary.

Plannen

Een game-plan draagt de templatenaam en de resourcelimieten. Bestellen gaat via een plan en er is geen handmatige weg: PufferPanel eist de volledige templatedefinitie inline, en dat is precies wat een catalogus voor je doet.

Plaatsing

PufferPanel toont zijn nodes, maar niet hun geheugen, schijf of cpu. Provibr meldt de node tóch, maar met onbekende capaciteit, want een gamepaneel zonder node is onbestelbaar.

De engine plaatst op zo'n node zonder hem op vrije ruimte te rangschikken, want er valt niets te meten. Een paneel met meerdere nodes wordt op naamvolgorde gekozen, niet op welke node de meeste ruimte heeft.

Levenscyclus

Aanmaken, starten, stoppen, herstarten, killen, herinstalleren en verwijderen werken allemaal. Verwijderen stopt de server eerst, want de daemon weigert een draaiende container te verwijderen.

Opschorten

PufferPanel kent geen eigen opschorting. Schort Provibr een gameserver op om een licentielimiet af te dwingen, dan stopt het de container en blokkeert het de toegang in het Provibr-paneel.

Omdat het paneel de opschorting niet afdwingt, kan iedereen met directe toegang tot de PufferPanel-installatie de server weer starten. De blokkade is een Provibr-begrip, geen paneel-begrip, en juist daarom is het eerlijk om te zeggen dat de provider hem niet afdwingt.

Wat Provibr niet doet

Er is geen console: die van PufferPanel is poll-based en geen live terminal. Grafieken houden op bij cpu en geheugen, want meer meldt het stats-endpoint van het paneel niet. Provibr beheert het paneel, zijn nodes, bestanden, back-ups of gebruikers niet; een gameserver op het paneel is de koppeling.