Aller au contenu

Documentation

GameAP

Connectez un panneau GameAP et Provibr y provisionne, contrôle et importe des serveurs de jeu. Cette page couvre ce qui diffère des autres panneaux de jeu.

Jeton d'API

GameAP s'authentifie avec un seul jeton d'API, sans client OAuth2 ni paire de clés. Créez-en un dans le panneau, puis collez-le dans Provibr avec l'URL du panneau.

  • Hôte : l'URL complète du panneau avec le port, par exemple http://panel.example.com:8025. GameAP tourne par défaut en HTTP en clair sur le 8025, et il n'y a aucun port que Provibr puisse ajouter sans deviner.
  • Jeton d'API : le jeton Sanctum, sous la forme id|secret. Provibr conserve cette forme id|secret et refuse un jeton collé sans l'id devant.
GameAP affiche le jeton une seule fois et n'en garde ensuite qu'une empreinte. Copiez-le tout de suite, car Provibr ne le stocke pas non plus, et renvoyer les identifiants revient donc à créer un nouveau jeton.
Le jeton doit être créé par un administrateur et porter le droit de création : un jeton non administrateur peut lister les serveurs mais ne peut ni les créer ni les supprimer. Provibr le vérifie au test de la connexion, pas à la première commande.

Le jeton n'expire pas, ce qui en fait l'identifiant de longue durée le plus propre des panneaux de jeu : l'agent continue de fonctionner pendant des mois sans que personne resaisisse un mot de passe.

Transport

Un GameAP neuf sert du HTTP en clair sur le port 8025, le 443 étant fermé. Il n'y a pas de champ d'empreinte TLS, car sans TLS il n'y a aucun certificat à épingler.

Un panneau en http fonctionne, mais le jeton d'API et tout ce que fait l'intégration circulent alors en clair. Placez devant un reverse proxy avec TLS pour changer cela ; l'agent valide alors la chaîne de certificats comme d'habitude, sans épinglage.

Le jeu et son modèle

Un serveur GameAP se construit à partir d'un jeu et d'un game mod : un titre comme samp ou minecraft, plus son modèle. Ensemble, ils sont ce qu'un egg de Pterodactyl est ailleurs. Provibr ne les liste pas pour vous : le jeton d'API est refusé sur les jeux, les mods et les nœuds du panneau, réservés aux administrateurs. Vous lisez le code de jeu et l'id du mod dans votre propre panneau GameAP et les saisissez dans le plan.

C'est la différence la plus nette avec Pterodactyl et Pelican, qui listent leurs eggs pour vous. Ici, pas de liste de sélection : le plan porte le code de jeu et l'id du mod que vous saisissez à la main.

Plans

Un plan de jeu porte le code de jeu, l'id du mod et les limites de ressources. La commande passe par un plan : le jeu et son modèle viennent du plan, et le nœud vient des réglages de l'intégration.

Placement

Le jeton d'API ne peut pas lister les nœuds du panneau, donc le moteur de placement ne peut en choisir aucun. Le nœud vient du réglage de l'intégration : l'id de nœud de GameAP, qui vaut 1 sur un panneau à un seul nœud. Il n'y a pas non plus de système d'allocation : l'agent choisit un trio de ports libres dans une plage que vous fixez, car GameAP n'en distribue aucun de lui-même.

Sur un panneau à plusieurs nœuds, l'agent ne peut pas lire la capacité d'un nœud, si bien que le nœud n'est pas classé selon l'espace libre et qu'un serveur atterrit sur celui que vous avez indiqué.

Cycle de vie

Créer, démarrer, arrêter, redémarrer, réinstaller et supprimer fonctionnent tous. Créer un serveur et l'installer sont deux étapes : le panneau écrit d'abord l'enregistrement puis installe, et Provibr fait les deux, puis attend la fin de la tâche du démon.

La réponse HTTP à une action signifie seulement que la tâche est en file d'attente, pas qu'elle a réussi. Le démon l'exécute, et le résultat de la tâche est la vérité. Un arrêt peut de temps à autre signaler une erreur due à une course sur l'hôte, aussi Provibr lit-il la tâche et non la réponse.

Suspension

Lorsque Provibr suspend un serveur de jeu pour faire respecter une limite de licence, il arrête le serveur et le marque comme bloqué dans le panneau.

Le drapeau bloqué de GameAP est administratif : à lui seul, il n'arrête pas un serveur en cours ni ne refuse un démarrage. Provibr arrête le serveur pour faire respecter la limite, mais quiconque a un accès direct au panneau GameAP peut le redémarrer. Le blocage est autant une notion de Provibr qu'une notion du panneau.

Ce que Provibr ne fait pas

Il n'y a pas de console : celle de GameAP passe par un websocket avec un jeton éphémère distinct et son propre protocole de trames, une voie différente du tunnel que partagent les autres panneaux de jeu. Il n'y a pas non plus de graphiques d'usage, car GameAP ne fournit ni processeur, ni mémoire, ni disque, ni réseau par serveur. Provibr ne gère pas le panneau, ses nœuds, ses fichiers ni ses utilisateurs ; un serveur de jeu sur le panneau est l'intégration.