Aller au contenu

Panneau de contrôle Pterodactyl

Dans cet article

Information

Pterodactyl est un panneau de gestion de serveurs de jeu open source gratuit. Il permet une gestion centralisée des serveurs pour Minecraft, CS2, Rust et plus de 50 autres jeux via une interface web.

Pterodactyl. Fonctionnalités principales

Pterodactyl est une solution moderne de gestion de serveurs de jeu qui combine :

  • Support de plus de 50 jeux : Fournit des modèles prêts à l'emploi pour une installation rapide des serveurs de jeu populaires. Configure automatiquement les logiciels, les dépendances et les paramètres de démarrage, prend en charge la sélection des versions de jeu et l'ajout de modèles personnalisés.
  • Gestion précise des ressources : Contrôle la distribution de la RAM, du CPU, de l'espace disque et des priorités entre les serveurs. Prévient les surcharges, alloue les ressources par quotas et utilise la mémoire SWAP pour la stabilité.
  • Sauvegardes automatiques fiables : Assure une sauvegarde flexible programmée avec sélection des données (serveur entier ou fichiers clés). Stocke les sauvegardes localement ou dans le cloud (S3, FTP, GDrive) avec chiffrement et récupération instantanée.
  • Capacité multi-serveur efficace : Exécute chaque serveur dans un conteneur Docker isolé. Distribue automatiquement la charge entre les nœuds, attribue les ports sans conflits et permet de regrouper les serveurs liés.
  • Accès multi-utilisateur flexible : Gère les permissions via un modèle basé sur les rôles (rôles prédéfinis + personnalisés) avec plus de 50 permissions granulaires. Prend en charge l'accès temporaire, l'audit des actions et l'authentification à deux facteurs.
  • Console de gestion en temps réel : Fournit un contrôle complet via une interface web avec terminal interactif (similaire à SSH). Comprend le formatage des couleurs, l'historique des commandes, les boutons d'action rapide et les notifications d'événements.
  • Surveillance des statistiques en temps réel : Affiche des graphiques d'utilisation des ressources (CPU, RAM, disque, réseau) et des métriques de jeu (joueurs en ligne, TPS, ping). Permet de créer des tableaux de bord personnalisés, de configurer des alertes et d'exporter des données en CSV.
  • Gestion simplifiée des mods/plugins : Propose un magasin intégré pour l'installation automatique de mods, la gestion des versions et des dépendances. Comprend un éditeur de configuration visuel avec coloration syntaxique et notifications de mise à jour.
  • Mises à jour automatiques : Assure un fonctionnement ininterrompu du système. Met à jour les serveurs de jeu selon un calendrier avec mode de test et retour en arrière en cas d'erreurs. Met à jour le panneau de contrôle avec une seule commande (php artisan p:upgrade), en vérifiant la compatibilité et en migrant la base de données sans perte. Met à jour automatiquement le démon Wings, en maintenant la compatibilité avec différentes distributions Linux.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (Go) Min HDD/SSD (Go) Actif
326 Pterodactyl Ubuntu 22.04 + + + + 1 1 - COMMANDER

Composants principaux du système :

Composant Objectif
Panel Interface web de gestion (PHP/Laravel). Fournit le panneau d'administration et l'interface utilisateur pour la gestion des serveurs
Wings Démon pour le démarrage physique des serveurs de jeu (Go). Installé séparément sur les machines où les serveurs de jeu seront exécutés
Base de données MariaDB pour stocker les configurations, les utilisateurs, les serveurs et les paramètres
Docker Plateforme de conteneurisation, nécessaire pour le fonctionnement de Wings et l'isolation des serveurs de jeu

Fichiers de configuration

Chemin Objectif
/var/www/pterodactyl/.env Paramètres principaux du Panel : connexion à la base de données, Redis, APP_URL, APP_KEY
/var/www/pterodactyl/storage/logs/laravel.log Journaux de fonctionnement du Panel (erreurs d'application, requêtes)
/var/log/nginx/pterodactyl.app-error.log Journaux du serveur web NGINX pour le Panel
/etc/pterodactyl/config.yml Configuration de Wings : jeton d'autorisation, URL du Panel, paramètres Docker. Créé lors de l'installation de Wings
/var/lib/pterodactyl/volumes/ Répertoire de données des serveurs de jeu : fichiers mondes, configurations, plugins. Créé après l'installation de Wings

Ce qui est installé automatiquement

Le playbook installe et configure automatiquement :

  • Pterodactyl Panel - panneau de gestion central avec interface web ;
  • MariaDB - base de données pour stocker toutes les données du système ;
  • Redis - pour la mise en cache et les files d'attente de tâches ;
  • NGINX - serveur web pour servir le Panel ;
  • PHP 8.3 + PHP-FPM - pour le fonctionnement de l'application Laravel ;
  • Certbot - pour l'acquisition automatique de certificats SSL ;
  • Services Systemd - pteroq (traitement des files d'attente), tâches cron (planificateur).

Ce qui doit être installé en plus

Pour exécuter les serveurs de jeu, vous avez besoin de :

  • Wings - démon qui démarre et gère physiquement les serveurs de jeu dans les conteneurs Docker

Wings est installé sur chaque machine (nœud) où l'exécution de serveurs de jeu est prévue. Il peut s'agir du même serveur où le Panel est installé (configuration « tout-en-un ») ou de serveurs dédiés séparés (architecture distribuée).

Configuration requise

Pour le Panel (panneau de contrôle)

Configuration minimale requise :

  • Processeur : 2+ cœurs ;
  • Mémoire : 2 Go de RAM (4 Go recommandés pour un fonctionnement stable) ;
  • Disque : 20 Go SSD (40+ Go recommandés pour les journaux et les sauvegardes) ;
  • Système d'exploitation : Ubuntu 22.04 LTS (Jammy) - strictement cette version pour l'installation automatique.

Logiciels (installés automatiquement) :

  • PHP 8.3 + PHP-FPM ;
  • MariaDB 10.6+ ;
  • Redis 7.0+ ;
  • NGINX ;
  • Composer 2 ;
  • Certbot (pour SSL) ;
  • Docker (préinstallé dans l'image).

Exigences réseau :

  • Ports ouverts : 80 (HTTP), 443 (HTTPS) ;
  • Adresse IP statique ou nom de domaine (pour le certificat SSL) ;
  • Connexion Internet stable.

Pour le Node (nœuds avec serveurs de jeu)

Pour 5-10 serveurs de jeu simultanés :

  • Processeur : 4+ cœurs (6-8 cœurs recommandés pour les jeux exigeants) ;
  • Mémoire : 8 Go de RAM (12-16 Go recommandés selon les jeux) ;
  • Disque : 50 Go SSD (100+ Go recommandés pour plusieurs serveurs avec mods) ;
  • Système d'exploitation : Ubuntu 20.04/22.04, Debian 10/11, CentOS ⅞ (tout Linux avec support Docker).
  • Logiciels :
    • Docker (préinstallé dans l'image) ;
    • Wings (nécessite l'installation).

Exigences réseau :

  • Ports ouverts :
    • 8080 - Wings API (communication avec le Panel) ;
    • 2022 - SFTP (téléchargement de fichiers vers les serveurs de jeu) ;
    • 25565-25665 - plage de ports de jeu (configurée individuellement) ;
  • Connexion Internet stable avec une bonne bande passante ;
  • Faible latence pour un jeu confortable.

Configuration « tout-en-un » (Panel + Wings sur un seul serveur)

Pour les tests ou les petits projets, vous pouvez utiliser un seul serveur :

  • Processeur : 4+ cœurs ;
  • Mémoire : 8 Go de RAM (minimum 6 Go) ;
  • Disque : 60 Go SSD (100+ Go recommandés) ;
  • Système d'exploitation : Ubuntu 22.04 LTS.

Dans cette configuration, un serveur exécute :

  • Pterodactyl Panel (interface web) ;
  • Wings (démon de démarrage des serveurs) ;
  • Base de données et cache ;
  • Serveurs de jeu dans des conteneurs Docker.

Recommandations de ressources pour les jeux

Configuration approximative requise par serveur de jeu :

Jeu RAM CPU Disque
Minecraft (Vanilla/Paper) 2-4 Go 2+ cœurs 5-10 Go
Minecraft avec mods (Forge/Fabric) 4-8 Go 4+ cœurs 10-20 Go
CS2 / CS:GO 4-6 Go 4+ cœurs 15-20 Go
Rust 8-12 Go 4+ cœurs 20-30 Go
ARK: Survival Evolved 8-16 Go 6+ cœurs 30-50 Go
Terraria 1-2 Go 2+ cœurs 2-5 Go
Valheim 4-6 Go 4+ cœurs 5-10 Go

Démarrage après le déploiement de Pterodactyl

Après votre paiement, vous recevrez une notification à l’e‑mail que vous avez enregistré, vous informant que votre serveur est prêt à fonctionner. Elle contiendra l’adresse IP du VPS, ainsi qu’un login et un mot de passe pour la connexion. Les clients de notre société gèrent le matériel dans les serveurs et le panneau de contrôle APIInvapi.

Les données d’authentification, disponibles dans l’onglet Info >> Tags du panneau de contrôle du serveur ou dans l’e‑mail, sont :

  • Lien : dans le tag webpanel. Pour accéder au panneau d'administration, ajoutez /admin au lien principal ;
  • Identifiant : admin ;
  • Mot de passe : envoyé par e-mail à votre adresse lorsque le serveur est prêt à fonctionner après le déploiement du logiciel.

Première connexion

  1. Ouvrez un navigateur web et accédez à l'adresse de votre panneau Pterodactyl
  2. Cliquez sur Login :

  3. Après une autorisation réussie, vous serez redirigé vers la page principale du panneau.

  4. Pour accéder au panneau d'administration, cliquez sur le bouton :

Création d'un utilisateur

  1. Dans le menu de gauche du panneau d'administration, cliquez sur le nom de la section Users ;
  2. Cliquez sur le bouton Create New dans le coin supérieur droit :

  3. Remplissez les champs obligatoires :

    • Username : nom d'utilisateur ;
    • Email : adresse e-mail de l'utilisateur ;
    • First Name : prénom ;
    • Last Name : nom de famille ;
    • Password : mot de passe (minimum 8 caractères, doit contenir des lettres majuscules et minuscules et des chiffres) ;
  4. Si nécessaire, sélectionnez Yes dans la ligne Administrator pour accorder les droits d'administrateur ;
  5. Cliquez sur Create User :

Création d'un emplacement

Qu'est-ce qu'un Location

Location est un regroupement logique de nœuds par emplacement géographique ou objectif. Utilisé pour organiser les serveurs, par exemple : « EU », « US », « Asia », « Production », « Testing ». Les utilisateurs ne voient pas directement les emplacements, c'est un outil administratif.

  1. Dans le menu de gauche, sélectionnez Locations ;
  2. Cliquez sur le bouton Create New dans le coin supérieur droit :

  3. Remplissez les champs :

    • Short Code : code d'emplacement court (par ex. « US1 », « EU1 ») ;
    • Description : description de l'emplacement (par ex. « Centre de données aux États-Unis ») ;
  4. Cliquez sur Create :

Création d'un nœud

Qu'est-ce qu'un Node

Un Node est un serveur physique ou virtuel sur lequel les serveurs de jeu sont lancés via Wings. Chaque nœud possède ses propres ressources (CPU, RAM, disque) et peut servir plusieurs serveurs de jeu simultanément.

Préparation avant la création d'un nœud

Avant de créer un nœud, assurez-vous que :

  • Docker est installé sur le serveur (préinstallé dans les images HOSTKEY) ;
  • Vous avez une adresse IP ou un nom de domaine pour le nœud ;
  • Les ports 8080 (Wings API) et 2022 (SFTP) seront ouverts dans le pare-feu.

Création d'un nœud dans le Panel

  1. Dans le menu de gauche du panneau d'administration, sélectionnez Nodes ;

  2. Cliquez sur le bouton Create New dans le coin supérieur droit :

  3. Remplissez les paramètres de base :

    • Name : nom de nœud unique (par ex. hostkey-us-node1) ;
    • Location : sélectionnez l'emplacement créé précédemment ;
    • Public : cochez la case si le nœud doit être visible par les utilisateurs ;
    • FQDN : spécifiez le nom de domaine du panneau (par ex. pterodactyl50514.hostkey.in) ou l'adresse IP ;
    • Communicate Over SSL : cochez la case si le Panel utilise HTTPS ;
    • Behind Proxy : laissez désactivé si le nœud n'est pas derrière un proxy.
  4. Configurez les paramètres de ressources :

    • Daemon Server File Directory : /var/lib/pterodactyl/volumes (ne pas modifier) ;
    • Total Memory : spécifiez la RAM disponible en Mo (par ex. 4608 pour un serveur de 6 Go en tenant compte de la réserve) ;
    • Memory Over-Allocation : spécifiez 0 (pas de sur-allocation) ;
    • Total Disk Space : spécifiez l'espace disque disponible en Mo (par ex. 102400 pour un disque de 120 Go en tenant compte de la réserve) ;
    • Disk Over-Allocation : spécifiez 0 (pas de sur-allocation) ;
    • Daemon Port : 8080 (laisser par défaut) ;
    • Daemon SFTP Port : 2022 (laisser par défaut).

  5. Cliquez sur le bouton Create Node.

Important lors de l'utilisation de HTTPS

Si le Panel fonctionne via HTTPS, vous devez spécifier un nom de domaine dans le champ FQDN, pas une adresse IP. La spécification d'une adresse IP avec SSL activé entraînera une erreur de validation.

Exemple de paramètres pour la configuration tout-en-un (4 vCore / 6 Go RAM / 120 Go SSD)

    Name: hostkey-us-node1
    Location: US1
    Public: ☑
    FQDN: pterodactyl50514.hostkey.in
    Communicate Over SSL: ☑
    Behind Proxy: ☐

    Total Memory: 4608 MB (laissant 1,5 Go pour le système)
    Memory Over-Allocation: 0
    Total Disk Space: 102400 MB (laissant 20 Go pour le système)
    Disk Over-Allocation: 0

Configuration des allocations

Après avoir créé un nœud, vous devez configurer les allocations - ce sont des combinaisons d'adresses IP et de ports qui seront disponibles pour l'attribution aux serveurs de jeu.

  1. Après avoir créé le nœud, sa page s'ouvrira automatiquement. Accédez à l'onglet Allocation ;

  2. Dans la section Assign New Allocations (côté droit), remplissez les champs :

    • IP Address : entrez l'adresse IP du serveur ;
    • IP Alias : spécifiez une description (par ex. Main IP) ou laissez vide ;
    • Ports : spécifiez une plage de ports (par ex. 25565-25570 pour les serveurs Minecraft).
  3. Cliquez sur le bouton vert Submit :

  4. Les allocations créées apparaîtront dans le tableau Existing Allocations (côté gauche). Chaque ligne représente une combinaison IP:port distincte qui peut être attribuée à un serveur de jeu.

Remarque

Sans configurer les allocations, vous ne pourrez pas créer de serveurs sur ce nœud. Vous devez ajouter au moins une adresse IP avec des ports.

Recommandations de ports

  • Minecraft : 25565-25570 (port standard 25565) ;
  • CS2/CS:GO : 27015-27020 (port standard 27015) ;
  • Rust : 28015-28020 (port standard 28015) ;
  • Valheim : 2456-2460 (port standard 2456).

Installation de Wings

Critique pour le fonctionnement

Après avoir créé un nœud et configuré les allocations, vous devez installer Wings sur le serveur. Sans Wings, le nœud affichera le statut Offline et ne pourra pas démarrer les serveurs de jeu.

Connectez-vous au serveur via SSH et exécutez les commandes :

Créez un répertoire pour la configuration :

mkdir -p /etc/pterodactyl
Téléchargez Wings :

curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
Accordez les permissions d'exécution :

chmod u+x /usr/local/bin/wings
Vérifiez l'installation :

wings version

La version de Wings devrait s'afficher (par ex. wings vv1.12.1).

Configuration de Wings via Auto-Deploy (recommandé)

  1. Dans le panneau d'administration, accédez à l'onglet Configuration du nœud créé ;

  2. Dans la section Auto-Deploy (côté droit), cliquez sur le bouton Generate Token :

  3. Copiez la commande générée. Elle ressemblera à ceci :

        cd /etc/pterodactyl && wings configure --panel-url https://votre-domaine.com --token TOKEN --node 1
    

  4. Exécutez la commande copiée sur le serveur :

        cd /etc/pterodactyl && wings configure --panel-url https://pterodactyl50514.hostkey.in --token TOKEN --node 1
    

    Le message devrait apparaître : Successfully configured wings.

  5. Vérifiez la configuration créée :

        cat /etc/pterodactyl/config.yml
    

Création d'un service systemd

Créez un service systemd pour le démarrage automatique de Wings :

cat > /etc/systemd/system/wings.service <<'EOF'
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service

[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

Démarrage de Wings

Rechargez la configuration systemd

systemctl daemon-reload
Activez le démarrage automatique et démarrez Wings

systemctl enable --now wings
Vérifiez le statut

systemctl status wings

Le statut devrait afficher Active: active (running).

Vérification du fonctionnement

Vérifiez les journaux de Wings :

journalctl -u wings -n 50

Les journaux devraient contenir les messages :

  • fetching list of servers from API - Wings s'est connecté au Panel ;
  • configuring internal webserver - le serveur web Wings a démarré ;
  • sftp server listening for connections - le serveur SFTP fonctionne.

Vérifiez la création du répertoire des serveurs :

ls -la /var/lib/pterodactyl/volumes/

Vérification du statut dans le panneau d'administration

  1. Ouvrez le panneau d'administration : https://votre-domaine.com/admin ;
  2. Accédez à : Admin → Nodes → votre nœud ;
  3. Actualisez la page (F5) ;
  4. L'indicateur de statut vert Online devrait s'afficher en haut à droite ;
  5. Dans l'onglet About, les informations sur les ressources devraient s'afficher (CPU, RAM, Disk).

Si le nœud affiche le statut Online

Le nœud est entièrement configuré et prêt à créer des serveurs de jeu !

Dépannage

Le nœud affiche le statut Offline

Vérifiez le statut de Wings :

systemctl status wings

Si Wings n'est pas en cours d'exécution, démarrez-le :

systemctl start wings

Vérifiez les journaux pour les erreurs :

journalctl -u wings -n 100

Problèmes courants :

  1. Wings ne peut pas se connecter au Panel :

    • Vérifiez l'URL du panneau dans la configuration : cat /etc/pterodactyl/config.yml | grep remote ;
    • Assurez-vous que le Panel est accessible : curl -I https://votre-domaine.com.
  2. Le port 8080 est bloqué par le pare-feu :

    • Vérifiez le port : netstat -tulpn | grep 8080 ;
    • Ouvrez le port : ufw allow 8080/tcp.
  3. Problèmes SSL :

    • Si le Panel utilise HTTPS, Wings doit également fonctionner avec SSL ;
    • Vérifiez les paramètres SSL dans /etc/pterodactyl/config.yml.

Configuration manuelle (méthode alternative)

Si Auto-Deploy ne fonctionne pas, vous pouvez configurer Wings manuellement :

  1. Dans le panneau d'administration, accédez à l'onglet Configuration du nœud ;
  2. Copiez le contenu du fichier de configuration depuis le champ de texte de gauche ;
  3. Sur le serveur, créez un fichier de configuration :

    nano /etc/pterodactyl/config.yml
    

  4. Collez la configuration copiée et enregistrez (Ctrl+X, puis Y, puis Entrée) ;

  5. Redémarrez Wings : systemctl restart wings ;
  6. Vérifiez le statut : systemctl status wings.

Création d'un nid et ajout d'un œuf

Création d'un nid

  1. Dans le menu de gauche, sélectionnez la section Nests ;
  2. Cliquez sur le bouton Create New dans le coin supérieur droit :

  3. Remplissez les champs :

    • Name : nom du nid (par ex. « Minecraft ») ;
    • Description : description du nid ;
  4. Cliquez sur Save :

Téléchargez un œuf prêt à l'emploi

  1. Ouvrez le site https://pelican-eggs.github.io/ ;

  2. Trouvez le jeu souhaité :

    • Dans la section Game Eggs, sélectionnez une catégorie (par ex. Minecraft) ;
    • Trouvez le type de serveur souhaité (par ex. Paper, Vanilla, Forge) ;
  3. Cliquez sur le nom du serveur pour ouvrir la page GitHub ;

  4. Trouvez le fichier egg-nom.json (par ex. egg-paper.json) ;

  5. Cliquez sur le fichier, puis sur le bouton Raw dans le coin supérieur droit ;

  6. Enregistrez le fichier (Ctrl+S ou clic droit → Enregistrer sous).

Œufs populaires

Importez l'œuf dans le panneau

  1. Dans le panneau d'administration, accédez à la section Nests ;

  2. Cliquez sur le bouton Import Egg dans le coin supérieur droit :

  3. Cliquez sur Choose File et sélectionnez le fichier .json téléchargé ;

  4. Cliquez sur Import :

L'œuf sera importé avec tous les paramètres, images Docker et variables.

Vérification de l'œuf importé

  1. Dans la liste des œufs, trouvez celui importé (par ex. Paper) ;

  2. Cliquez dessus pour afficher les paramètres ;

  3. Assurez-vous que les éléments suivants sont remplis :

    • Docker Images : liste des images disponibles ;
    • Install Script : script d'installation du serveur ;
    • Variables : variables d'environnement (version, paramètres).

Création d'un serveur

  1. Dans le menu de gauche, sélectionnez Servers ;

  2. Cliquez sur le bouton Create New dans le coin supérieur droit :

  3. Remplissez le formulaire de création :

Core Details :

  • Server Name : nom du serveur (par ex. Test Minecraft Server) ;
  • Server Owner : sélectionnez l'utilisateur propriétaire dans la liste ;
  • Server Description : description (facultatif) ;
  • Start Server when Installed : laissez la case cochée.

Allocation Management :

  • Node : sélectionnez le nœud créé ;
  • Default Allocation : sélectionnez adresse IP:port dans la liste ;
  • Additional Allocations : laissez vide.

Application Feature Limits :

  • Database Limit : 0 ;
  • Allocation Limit : 0 ;
  • Backup Limit : 0.

Resource Management :

  • CPU Limit : 0 (pas de limites) ;
  • Memory : 2048 MiB (2 Go pour commencer) ;
  • Swap : 0 MiB ;
  • Disk Space : 5120 MiB (5 Go) ;
  • Block IO Weight : 500 ;
  • Enable OOM Killer : laissez désactivé.

Nest Configuration :

  • Nest : Minecraft ;
  • Egg : Paper (pas Sponge !) ;
  • Docker Image : Java 21 ;
  • Service Variables : laissez les valeurs par défaut.

  • Cliquez sur Create Server en bas de la page ;

  • Attendez que l'installation soit terminée (le statut Installing passera à Offline) :

Démarrage et configuration du serveur

  1. Après l'installation, ouvrez le serveur depuis la liste (AdminServers) :

  2. Accédez au panneau utilisateur (sans /admin), connectez-vous en tant que propriétaire du serveur ;

  3. Cliquez sur le bouton Start :

  4. Au premier démarrage, une fenêtre d'acceptation de licence apparaîtra :

  5. Cliquez sur I Accept pour accepter l'EULA de Minecraft ;

  6. Attendez que le serveur démarre (le statut passera à Running) :

Vérification des performances

Ouvrez dans votre navigateur (remplacez l'IP par la vôtre) :

https://api.mcsrvstat.us/3/<adresse IP>:25565
Si la réponse indique "online": true - le serveur fonctionne et est accessible aux joueurs.

Adresse de connexion :

<adresse IP>:25565

Remarque

Des informations détaillées sur les paramètres principaux de Pterodactyl sont contenues dans la documentation des développeurs.

Commander un serveur Pterodactyl via API

Pour installer ce logiciel en utilisant l'API, suivez les instructions suivantes.