Aller au contenu

Panneau de contrôle Pterodactyl

Dans cet article

Information

Pterodactyl est un panneau de gestion de serveurs de jeux 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 jeux qui combine :

  • Support pour plus de 50 jeux : Fournit des modèles prêts à l'emploi pour une installation rapide des serveurs de jeux populaires. Configure automatiquement les logiciels, les dépendances et les paramètres de démarrage, prend en charge la sélection de la version du jeu et l'ajout de modèles personnalisés.
  • Gestion précise des ressources : Contrôle la RAM, le CPU, l'espace disque et l'allocation des priorités entre les serveurs. Empêche les surcharges, alloue les ressources par quotas et utilise la mémoire SWAP pour la stabilité.
  • Sauvegardes automatiques fiables : Assure des sauvegardes planifiées flexibles 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 sur les nœuds, assigne les ports sans conflit et permet le regroupement de 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: Offre un contrôle total via une interface web avec un terminal interactif (similaire à SSH). Inclut le formatage en couleur, l'historique des commandes, des boutons d'action rapide et des 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. Inclut un éditeur de configuration visuel avec coloration syntaxique et notifications de mise à jour.
  • Mises à jour automatiques: Assure le fonctionnement ininterrompu du système. Met à jour les serveurs de jeux selon un calendrier avec mode de test et retour en arrière en cas d'erreur. Met à jour le panneau de contrôle en une commande (php artisan p:upgrade), vérifiant la compatibilité et migrant la base de données sans perte de données. Met à jour automatiquement le démon Wings, maintenant la compatibilité avec les 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 (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
326 Pterodactyl Ubuntu 22.04 + + + + 1 1 - Non COMMANDER

Composants principaux du système :

Composant Utilité
Panel Interface de gestion web (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 jeux (Go). Installé séparément sur les machines où les serveurs de jeux seront exécutés
Database MariaDB pour le stockage des configurations, des utilisateurs, des serveurs et des paramètres
Docker Plateforme de conteneurisation, requise pour le fonctionnement de Wings et l'isolation des serveurs de jeux

Fichiers de configuration

Chemin Utilité
/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 d'exploitation 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 des données des serveurs de jeux : fichiers de monde, configurations, plugins. Créé après l'installation de Wings

Recommandations de ressources pour les jeux

Besoins approximatifs par serveur de jeu :

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

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

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

Les données d'autorisation qui peuvent être trouvées dans l'onglet Configuration* >> **Tags du panneau de contrôle du serveur ou dans l'e-mail peuvent être trouvées :

  • Lien : dans l'étiquette webpanel du tag. Pour accéder au panneau d'administration, ajoutez /admin au lien principal ;
  • Login : admin;
  • Password : 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 naviguez vers l'adresse de votre panneau Pterodactyl
  2. Cliquez sur Login:

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

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

Créer 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 requis :

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

Créer une Localisation

Qu'est-ce qu'une Localisation

Une Localisation est un regroupement logique de nœuds par emplacement géographique ou par usage. Utilisée pour organiser les serveurs, par exemple : "EU", "US", "Asia", "Production", "Testing". Les utilisateurs ne voient pas les localisations directement ; il s'agit d'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 de localisation court (ex: "US1", "EU1") ;
    • Description : description de la localisation (ex: "Data center in the USA") ;
  4. Cliquez sur Create :

Créer un Nœud

Qu'est-ce qu'un Nœud

Un Nœud est un serveur physique ou virtuel sur lequel les serveurs de jeux sont lancés via Wings. Chaque nœud possède ses propres ressources (CPU, RAM, disque) et peut servir plusieurs serveurs de jeux 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 12333 (communication Wings/Daemon SSL) seront ouverts dans le pare-feu.

Création d'un Nœud dans le Panneau

  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 basic settings :

    • Name : nom unique du nœud (ex: hostkey-us-node1) ;
    • Location : sélectionnez la localisation précédemment créée ;
    • Public : cochez la case si le nœud doit être visible par les utilisateurs ;
    • FQDN : spécifiez le nom de domaine du panneau (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 resource settings :

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

  5. Cliquez sur le bouton Create Node.

Attention lors de l'utilisation de HTTPS

Si le Panel fonctionne via HTTPS, vous devez spécifier un nom de domaine dans le champ FQDN, et non une adresse IP. Spécifier une adresse IP avec SSL activé entraînera une erreur de validation.

Exemple de paramètres pour une configuration All-in-One (4 vCore / 6GB RAM / 120GB SSD)

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

    Total Memory: 4608 MB (laissant 1.5GB pour le système)
    Memory Over-Allocation: 0
    Total Disk Space: 102400 MB (laissant 20GB pour le système)
    Disk Over-Allocation: 0

Configurer les Allocations

Après avoir créé un nœud, vous devez configurer les allocations — il s'agit de combinaisons d'adresses IP et de ports qui seront disponibles pour être assignées aux serveurs de jeux.

  1. Après la création du nœud, sa page s'ouvrira automatiquement. Naviguez vers l'onglet Allocation ;

  2. Dans la section Assign New Allocations (à droite), remplissez les champs :

    • IP Address : entrez l'adresse IP du serveur ;
    • IP Alias : spécifiez une description (ex: Main IP) ou laissez vide ;
    • Ports : spécifiez une plage de ports (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 (à gauche). Chaque ligne représente une combinaison IP:port distincte qui peut être assignée à un serveur de jeu.

Remarque

Sans la configuration des 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).

Installer Wings

Attention : Crucial 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 de serveurs de jeux.

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

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 (ex: wings vv1.12.1).

Configurer Wings via Auto-Deploy (Recommandé)

  1. Dans le panneau d'administration, allez dans l'onglet Configuration du nœud créé ;

  2. Dans la section Auto-Deploy (à droite), 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://your-domain.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 suivant devrait apparaître : Successfully configured wings.

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

        cat /etc/pterodactyl/config.yml
    

Créer 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émarrer Wings

Rechargez la configuration systemd

systemctl daemon-reload
Activeز 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 suivants :

  • fetching list of servers from API - Wings est connecté au Panel ;
  • configuring internal webserver - Le serveur web de Wings a démarré ;
  • sftp server listening for connections - Le serveur SFTP est opérationnel.

Vérifiez la création du répertoire du serveur :

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

Vérification du statut dans le panneau d'administration

  1. Ouvrez le panneau d'administration : https://your-domain.com/admin;
  2. Naviguez vers : Admin > Nodes > votre nœud ;
  3. Actualisez la page (F5) ;
  4. L'indicateur de statut vert Online devrait s'afficher en haut à droite ;
  5. Sur l'onglet About, les informations sur les ressources devraient s'afficher (CPU, RAM, Disque).

Si le nœud affiche le statut Online

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

Dépannage

Le nœud affiche le statut Offline

Vérifiez le statut de Wings :

systemctl status wings

Si Wings ne fonctionne pas, démarrez-le :

systemctl start wings

Vérifiez les journaux pour détecter des 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://your-domain.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 de 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 l'Auto-Deploy ne fonctionne pas, vous pouvez configurer Wings manuellement :

  1. Dans le panneau d'administration, allez dans l'onglet Configuration du nœud ;
  2. Copiez le contenu du fichier de configuration depuis le champ de texte à 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 Enter) ;

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

Créer un Nest et ajouter un Egg

Créer un Nest

  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 nest (ex: "Minecraft") ;
    • Description : description du nest ;
  4. Cliquez sur Save :

Télécharger un Egg prêt à l'emploi

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

  2. Trouvez le jeu souhaité :

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

  4. Trouvez le fichier egg-name.json (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 > Save as).

Eggs populaires

Importer l'Egg dans le Panneau

  1. Dans le panneau d'administration, allez dans 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'egg sera importé avec tous les paramètres, les images Docker et les variables.

Vérifier l'Egg importée

  1. Dans la liste des eggs, trouvez celui qui a été importé (ex: Paper) ;

  2. Cliquez dessus pour voir 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éer 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 leformulaire de création :

Core Details :

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

Allocation Management :

  • Node : sélectionnez le nœud créé ;
  • Default Allocation : sélectionnez l'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 la fin de l'installation (le statut Installing passera à Offline) :

Démarrer et Configurer le Serveur

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

  2. Allez sur le panneau utilisateur (sans /admin), connectez-vous en tant que propriétaire du serveur ;

  3. Cliquez sur le bouton Start :

  4. Lors du premier lancement, 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 votre navigateur (remplacez l'IP par la vôtre) :

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

Adresse de connexion :

<votre 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 l'API

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