Documentazione
Pterodactyl
Pterodactyl è l’integrazione con il pannello di gioco. Un server di gioco è un container costruito a partire da una ricetta anziché da un’immagine di sistema operativo, quindi quasi tutto ciò che lo riguarda è diverso da una macchina virtuale. Anche la console è la cosa principale e non un extra.
Due chiavi, non una
Pterodactyl divide la propria API in due, e Provibr ha bisogno di entrambe le metà. Svolgono compiti diversi e l’una non può sostituire l’altra.
- Chiave di applicazione: creazione, sospensione, reinstallazione, eliminazione e lettura. Inizia con ptla_.
- Chiave client: accensione e spegnimento, misurazioni di utilizzo e console. Inizia con ptlc_.
- Host: l’indirizzo del pannello. Non viene inserita automaticamente nessuna porta, perché un pannello Pterodactyl è un normale sito web dietro a un reverse proxy.
Impostazioni
Un solo campo facoltativo: l’indirizzo e-mail proprietario dei server creati da Provibr. Se resta vuoto, i server appartengono all’account associato alla chiave client. Se si indica un indirizzo non ancora presente sul pannello, viene creato un account apposito.
Le parole che usa Pterodactyl
- Egg
- La ricetta di costruzione: quali immagini di container si possono utilizzare, il comando di avvio e le variabili proprie. Un egg è ciò che si sceglie al posto di un sistema operativo.
- Nest
- Un gruppo di egg. È un’etichetta; ciò a cui si fa realmente riferimento è l’egg.
- Nodo
- Una macchina su cui gira Wings, il daemon che esegue i container. Se non se ne sceglie uno, viene selezionato il nodo con più memoria libera, saltando i nodi in manutenzione e quelli non pubblici.
- Assegnazione
- L’indirizzo e la porta su cui un server resta in ascolto. È il pannello a distribuirli dal proprio elenco; qui Provibr non assegna indirizzi, perché sarebbe una promessa che non può mantenere.
I piani di gioco
In un piano di gioco è descritto l’intero container, ed è l’unico modo per ordinare un server di gioco. Non esiste un modulo d’ordine manuale, perché troppe cose devono combaciare per poterle digitare ogni volta.
- Un egg su una sola integrazione, con il nest annotato come etichetta.
- Facoltativamente un’immagine di container e un comando di avvio. Se restano vuoti, decide l’egg.
- Valori delle variabili che prevalgono sui valori predefiniti dell’egg. Vengono inviate tutte le variabili dell’egg, comprese quelle che il cliente non vede mai, perché il pannello rifiuta una creazione con un campo mancante.
- Memoria, swap, disco, CPU e peso I/O. Zero significa illimitato per memoria, swap, disco e CPU.
- Quanti database, assegnazioni aggiuntive e backup può avere il server.
Che cosa si può fare
Avviare, arrestare, riavviare, forzare l’arresto, sospendere, riattivare, aggiornare lo stato, reinstallare ed eliminare. Qui la differenza fra le opzioni più delicate e quelle più brusche conta più che altrove.
- L’arresto invia alla console il comando di stop previsto dall’egg, così il gioco si chiude nel modo che si aspetta.
- L’arresto forzato ferma il container di colpo. Tutto ciò che non è ancora stato scritto su disco va perso, e il pannello chiede conferma.
- La sospensione arresta il server e ne blocca l’accesso al proprietario. I file restano. È anche ciò che la piattaforma utilizza quando si supera il limite della licenza.
- La reinstallazione esegue di nuovo il container di installazione dell’egg. Che cosa ne sia dei file esistenti lo decide l’egg, non noi, e la conferma lo dichiara.
Console
La console è un terminale sul container in esecuzione, ritrasmesso da Wings attraverso il suo agente fino al suo browser. Si vedono l’output della console, i cambi di stato e i dati di utilizzo; è possibile inviare comandi. È descritta più in dettaglio nella pagina dedicata alla console.
Adottare server già esistenti
La scheda di importazione elenca i server presenti sul pannello con i loro limiti e il loro stato, compresi quelli che Provibr già conosce, che vengono mostrati ma non sono selezionabili. I server importati incidono sulla sua capacità esattamente come quelli ordinati.
Da sapere
- La gestione del pannello stesso, o dei suoi nodi, non esiste. Provibr crea, esegue e rimuove server su un pannello gestito da lei.
- Backup, database e assegnazioni aggiuntive sono limiti che si impostano sul piano; il loro utilizzo avviene nel pannello di gioco stesso. I conteggi arrivano insieme al polling.
- Il pannello mantiene in cache i propri dati di utilizzo per una ventina di secondi, e Provibr esegue il polling più o meno con lo stesso ritmo. Processore, memoria e disco sono sempre corretti; una lettura ripetuta può mostrare una velocità di rete pari a zero là dove invece c’era traffico.
- Pterodactyl 1.x non comunica la propria versione tramite l’API, quindi il test di connessione lascia quel campo vuoto. Non è un difetto.