Architecture technique
Intégration Pterodactyl

Intégration Pterodactyl

Les serveurs de jeux tournent dans des conteneurs orchestrés par Pterodactyl (open-source). ZelhayHost utilise les deux APIs Pterodactyl :

  • Application API (/api/application) — admin : créer des serveurs, des users, des allocations.
  • Client API (/api/client) — côté utilisateur : start/stop, console, fichiers, sauvegardes.

Les clés sont stockées chiffrées (AES-256-GCM).

Provisioning Game (résumé)

  1. Choix d'un nœud Pterodactyl en fonction de la dispo.
  2. Allocation d'un couple IP / port libre.
  3. POST /api/application/servers avec : utilisateur, Egg du jeu, image Docker, variables d'env, limites.
  4. Attente du statut installed (poll).
  5. Création de l'enregistrement GameServer côté base avec mapping vers l'ID Pterodactyl.

Console live

Le panel Game ouvre wss://<panel>/api/client/servers/:id/websocket après avoir obtenu un token via GET /api/client/servers/:id/websocket. Le WebSocket est proxifié par le backend.

Files & sauvegardes

Les opérations de gestionnaire de fichiers et de sauvegarde sont relayées telles quelles depuis la Client API Pterodactyl (l'utilisateur final n'a jamais l'URL Pterodactyl directe).

Suspension / réactivation

  • À l'expiration : POST /api/application/servers/:id/suspend.
  • Au renouvellement réussi : unsuspend.