Naar de inhoud

Documentatie

WISP

Koppel een WISP-paneel en Provibr bouwt, draait en verwijdert er gameservers op. WISP is een fork van Pterodactyl, dus het model is hetzelfde; deze pagina beschrijft de plekken waar het afwijkt.

Een gehost paneel, je eigen node

WISP wordt als gehoste dienst verkocht: wisp.gg draait het paneel, en de node die je gameservers draagt staat op je eigen hardware. De agent praat met het paneel over zijn API en met de daemon van de node voor de console. Allebei uitgaand, dus er hoeft niets naar het internet open.

Omdat het paneel niet van jou is, valt er niets bij te werken en niets vast te zetten: WISP kan zijn API veranderen zonder een release die jij in de hand hebt. Provibr is getest tegen v3.7.5 en leest de draaiende versie bij het paneel zelf uit, dus afdrijven komt in de verbindingstest naar boven en niet in een mislukte bestelling.

Twee API-sleutels

WISP houdt de splitsing van Pterodactyl aan tussen twee API's, en geen enkele sleutel komt bij allebei. Maak ze aan op een beheerdersaccount en plak ze allebei, samen met het adres van het paneel.

  • Adres van het paneel: de volledige URL, bijvoorbeeld https://panel.example.com. Zet er alleen een poort bij als het paneel daar echt op draait; achter een reverse proxy antwoordt het op de standaardpoort van zijn schema.
  • Application-API-sleutel: hiermee worden servers gebouwd, opgeschort, opnieuw geïnstalleerd en verwijderd.
  • Client-API-sleutel: hierover lopen aan en uit, live statistieken en de console.
  • TLS-fingerprint (optioneel): laat hem leeg bij een gehost WISP-paneel; zijn certificaat komt van een publieke autoriteit en er is niets om op te pinnen.
WISP-sleutels dragen geen voorvoegsel, anders dan ptla_ van Pterodactyl en papp_ van Pelican. Niets kan je vertellen dat je de twee verwisseld hebt: Provibr kan het niet controleren, en het paneel beantwoordt een verkeerde sleutel met een lege 403 die leest als “te weinig rechten”. Faalt de verbindingstest, probeer de twee sleutels dan andersom voordat je iets in het paneel verandert.
De application-sleutel is meer dan serverbeheer: dezelfde nodelijst die Provibr uitleest bevat ook de licentiesleutel en het daemon-token van je node. Behandel hem alsof hij toegang tot het hele paneel geeft, en trek hem in WISP in als je de koppeling ooit verbreekt.

Transport

Een gehost WISP-paneel is over https bereikbaar met een publiek vertrouwd certificaat, dus het fingerprintveld blijft leeg. Vul het alleen in als je WISP zelf draait achter een self-signed certificaat; de agent vertrouwt dan dat ene certificaat in plaats van de controle uit te zetten. Lees hem uit 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 op te pinnen. Een paneel op gewoon http werkt wel, maar beide sleutels reizen dan onversleuteld.

Eggs

Een server wordt gebouwd uit een egg, precies zoals op Pterodactyl. WISP somt al zijn eggs met hun variabelen in één aanroep op, dus de keuzelijst vult zichzelf en een plan kan elke variabele overschrijven die het egg als bewerkbaar markeert.

Laat je een verplichte variabele leeg, dan weigert WISP de bestelling niet: het vult stilletjes de standaardwaarde van het egg zelf in. Je krijgt een werkende server, alleen niet degene die je besteld hebt. Provibr controleert verplichte variabelen vóór het versturen, dus de bestelling stopt in plaats daarvan met een melding die de variabele noemt.

Plannen

In een gameplan staan het egg, de resourcelimieten en eventuele overschreven variabelen. Bestellen gaat via een plan: het plan bepaalt welk egg gebruikt wordt en wat de server mag verbruiken, en één plan kan aan meer dan één paneel gekoppeld worden.

Plaatsing

Een WISP-node meldt zijn cores, geheugen en schijf, maar niet hoeveel daarvan al is uitgedeeld. Provibr telt dat op uit de servers op de node, precies zoals het dat bij een hypervisor doet.

De node zelf wordt door de agent gekozen en niet door de plaatsingsengine: die pakt de node met het meeste vrije geheugen en de eerste vrije poortallocatie daarop. De nodes van een WISP-paneel vanuit Provibr rangschikken bestaat nog niet.

Levenscyclus

Aanmaken, starten, stoppen, herstarten, killen, opschorten, vrijgeven, herinstalleren en verwijderen werken allemaal. Een opgeschorte server kan nog steeds verwijderd worden, en verwijderen geeft zijn poortallocatie weer vrij.

WISP meldt geen mislukte installatie. Een server staat als geïnstalleerd gemarkeerd of niet, en “nog bezig” en “er ging iets mis” zien er van buitenaf hetzelfde uit. Blijft een nieuwe server veel langer ongeïnstalleerd dan een egg normaal kost, open dan zijn console in WISP en lees de installatie-uitvoer daar.

Console en metingen

De console is een live terminal op de daemon van je node, in hetzelfde paneel als de rest van je infrastructuur, en de verbruiksgrafieken komen uit de eigen metingen van het paneel. Cpu, geheugen, schijf en netwerk worden elke pollronde uitgelezen; WISP meldt geen uptime, dus een container die tussen twee rondes herstart wordt niet altijd als herstart herkend.

Wat Provibr niet doet

Provibr beheert het paneel, zijn nodes, bestanden, back-ups, databases of gebruikers niet, en geen van WISP's eigen extra's hoort bij de koppeling: niet de splitter, niet subdomeinen, niet wipeschema's en niet modwinkels. Een gameserver op het paneel is wat Provibr levert, telt en beprijst; servers die je niet via Provibr hebt aangemaakt blijven met rust.