Pterodactyl expliqué
Sous le capot, ecloudserv s'appuie sur Pterodactyl, un panneau open-source d'hébergement de jeux/applications basé sur des conteneurs Docker. Voici comment les pièces s'emboîtent.
Les composants
- Panel — l'interface et l'API d'administration de Pterodactyl. Il gère utilisateurs, serveurs, nodes et œufs (« eggs »). ecloudserv ne l'expose pas directement : notre bot/API parle au Panel via son Application API.
- Wings — le démon installé sur chaque machine d'hébergement (node). Il crée les conteneurs Docker, démarre/arrête les serveurs et diffuse la console en temps réel via WebSocket.
- Node — une machine (VPS/serveur) qui fait tourner Wings + Docker. C'est là que vivent réellement les bots.
- Egg — un modèle de runtime (Node.js, Python, Java…) : image Docker, variables et commande de démarrage. Choisir un runtime = choisir un egg.
Comment ecloudserv s'y intègre
Quand tu crées un serveur depuis le panel ecloudserv :
- Notre API enregistre le serveur en base (statut
INSTALLING). - Elle appelle l'Application API de Pterodactyl pour provisionner le serveur sur un node.
- Wings crée le conteneur Docker et installe l'egg correspondant.
- Le statut passe à
RUNNINGet la console devient disponible.
Les deux clés d'API Pterodactyl
| Clé | Usage |
|---|---|
Application (ptla_…) | Administration : créer des serveurs, lister nodes/eggs/users. |
Client (ptlc_…) | Actions côté utilisateur : power, fichiers, backups, console. |
La console en temps réel
Le panel récupère un jeton court auprès de l'API, puis ouvre un WebSocket vers Wings. Les logs arrivent via l'évènement console output ; les commandes sont envoyées via send command. Le jeton expire vite et est renouvelé automatiquement.
Installer Wings sur un node (admin)
Pour ajouter une machine d'hébergement, installe Docker puis Wings :
# Wings (daemon Pterodactyl)
curl -L -o /usr/local/bin/wings \
"https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
chmod u+x /usr/local/bin/wings
mkdir -p /etc/pterodactyl
# Récupère la config dans : Panel → Admin → Nodes → [node] → Configuration
# Colle-la dans /etc/pterodactyl/config.yml, puis :
systemctl enable --now wingsLe panel admin ecloudserv (section Agent Wings) fournit ces commandes toutes prêtes.
Pour aller plus loin
Documentation officielle : pterodactyl.io.