Ce guide résume en français les points importants de la documentation officielle de Pterodactyl, un panel open-source de gestion de serveurs de jeux. Pterodactyl permet d'administrer des serveurs comme Minecraft, Rust, Terraria, Teamspeak, Garry's Mod, ARK et beaucoup d'autres grâce à des conteneurs Docker isolés.
Le projet repose principalement sur deux composants :
- 🖥️ Panel : interface web d'administration, développée avec PHP et React.
- ⚙️ Wings : daemon installé sur les machines qui exécutent les serveurs de jeux, développé en Go et basé sur Docker.
ℹ️ Ce README ne remplace pas la documentation officielle. Il sert de guide rapide en français et renvoie vers les pages officielles dès qu'un détail dépend de votre système.
- Introduction officielle
- Installation du Panel
- Configuration du serveur web
- Installation de Wings
- Certificats SSL
- Configuration MySQL/MariaDB
Vous devez avoir :
- 🐧 un serveur Linux avec accès
rootousudo; - 🌐 un nom de domaine pointant vers le serveur, surtout si vous activez HTTPS ;
- 🧠 des bases solides en administration Linux ;
- 📦 un hébergement compatible Docker, idéalement KVM ou serveur dédié ;
- 💾 une sauvegarde de vos données importantes avant toute installation.
Pterodactyl ne fonctionne pas sous Windows pour Wings. Les environnements OpenVZ, OVZ, Virtuozzo ou certains LXC posent souvent problème avec Docker.
Pour vérifier la virtualisation :
systemd-detect-virtSi le résultat indique openvz ou lxc, demandez confirmation à votre hébergeur avant de continuer.
D'après la documentation officielle actuelle, le Panel et Wings fonctionnent sur les distributions suivantes.
| Système | Versions supportées | Notes |
|---|---|---|
| Ubuntu | 22.04, 24.04 | Ubuntu 22.04 demande des dépôts supplémentaires pour PHP. |
| Debian | 11, 12, 13 | Dépendances Debian documentées officiellement. |
| RHEL / Rocky Linux / AlmaLinux | 8, 9 | Des dépôts supplémentaires peuvent être nécessaires. |
Wings mentionne aussi Ubuntu 20.04 comme supporté, mais pour une nouvelle installation complète il vaut mieux partir sur une version récente et maintenue.
Pour le Panel :
- PHP
8.2ou8.3recommandé ; - extensions PHP :
cli,openssl,gd,mysql,PDO,mbstring,tokenizer,bcmath,xmloudom,curl,zip, etfpmavec NGINX ; - MySQL
5.7.22+ou MySQL8, ou MariaDB10.2+; - Redis ;
- un serveur web : NGINX, Apache ou Caddy ;
curl,tar,unzip,git;- Composer v2.
Pour Wings :
- Docker ;
curl;- un noyau Linux compatible Docker ;
- un certificat SSL si le Panel utilise HTTPS.
Les commandes exactes peuvent varier selon la distribution. Consultez toujours la page officielle avant de les lancer.
Exemple pour une base Debian/Ubuntu :
apt update
apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg tar unzip git redis-server nginx mariadb-serverInstallez ensuite PHP 8.2 ou 8.3 et les extensions nécessaires selon votre système. La documentation officielle donne un exemple complet pour Ubuntu avec les dépôts PHP adaptés.
Installez Composer :
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composermkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/Connectez-vous à MariaDB ou MySQL :
mariadb -u root -pCréez la base et l'utilisateur en remplaçant mot_de_passe_solide par un mot de passe unique :
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'mot_de_passe_solide';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
exitcd /var/www/pterodactyl
cp .env.example .env
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
php artisan key:generate --force
php artisan p:environment:setup
php artisan p:environment:database
php artisan p:environment:mail
php artisan migrate --seed --force
php artisan p:user:makeSauvegardez impérativement la clé APP_KEY du fichier .env. Sans cette clé, certaines données chiffrées deviennent irrécupérables, même avec une sauvegarde de la base de données.
grep APP_KEY /var/www/pterodactyl/.envAvec NGINX, Apache ou Caddy sur Debian/Ubuntu :
chown -R www-data:www-data /var/www/pterodactyl/*Sur RHEL, Rocky Linux ou AlmaLinux, l'utilisateur peut être nginx ou apache selon votre serveur web.
Ajoutez le cron suivant avec sudo crontab -e :
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1Créez ensuite le service systemd pteroq.service selon l'exemple officiel, puis activez-le :
sudo systemctl enable --now redis-server
sudo systemctl enable --now pteroq.serviceSur RHEL, Rocky Linux ou AlmaLinux, le service Redis peut s'appeler redis.service au lieu de redis-server.service.
La configuration dépend fortement de votre choix : NGINX, Apache ou Caddy, avec ou sans SSL.
La documentation officielle fournit les blocs de configuration à copier et adapter : configuration du serveur web.
Si vous utilisez NGINX avec SSL, vous devez créer les certificats avant de redémarrer NGINX. Caddy peut gérer automatiquement les certificats si sa configuration est correcte.
Wings doit être installé uniquement avec Pterodactyl 1.x.
Installation rapide proposée par la documentation :
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
sudo systemctl enable --now dockerVous pouvez aussi suivre la documentation officielle Docker pour une installation manuelle.
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wingsDans l'interface administrateur du Panel :
- ouvrez Nodes ;
- créez un nouveau node ;
- ouvrez l'onglet Configuration ;
- copiez le contenu dans
/etc/pterodactyl/config.yml, ou utilisez la commande générée par le Panel.
Si le Panel est en HTTPS, Wings doit aussi disposer d'un FQDN et de certificats SSL valides.
sudo wings --debugSi aucun problème n'apparaît, arrêtez le processus avec CTRL+C, puis créez le service systemd wings.service comme indiqué dans la documentation officielle.
Activez ensuite Wings :
sudo systemctl enable --now wingsUne allocation est une combinaison IP + port assignable à un serveur de jeu.
Pour trouver l'adresse IP principale :
hostname -I | awk '{print $1}'N'utilisez pas 127.0.0.1 comme allocation. Ajoutez les allocations depuis Nodes > votre node > Allocation dans le Panel.
Adaptez les ports à vos besoins réels et à votre pare-feu.
| Usage | Ports courants |
|---|---|
| Panel HTTP | 80/tcp |
| Panel HTTPS | 443/tcp |
| Wings SFTP | 2022/tcp par défaut |
| Wings API | 8080/tcp par défaut |
| Serveurs Minecraft | 25565/tcp par défaut |
Exemple iptables à adapter, uniquement si vous savez ce que vous faites :
sudo iptables -A INPUT -p tcp -m multiport --dports 80,443,2022,8080,25565 -j ACCEPT
sudo iptables-save > /etc/iptables.rulesIl existe un script communautaire qui automatise une partie de l'installation :
bash <(curl -s https://pterodactyl-installer.se)Ce script n'est pas la méthode officielle de Pterodactyl. Avant de l'utiliser, lisez son dépôt, comprenez ce qu'il modifie sur votre serveur et vérifiez qu'il supporte votre distribution : pterodactyl-installer.
Pour une installation Panel + Wings via ce script, l'option habituellement utilisée est l'installation combinée du Panel et de Wings. Répondez attentivement aux questions sur la base de données, le domaine, le pare-feu, HTTPS et Let's Encrypt.
- 🧠 Ne lancez pas de commandes serveur sans les comprendre.
- 🔑 Sauvegardez la clé
APP_KEY, la base de données et les fichiers de configuration. - 🔒 Utilisez HTTPS en production.
- ♻️ Gardez Docker, Wings, le Panel et le système à jour.
- 🧾 Vérifiez les logs du Panel, de NGINX/Apache/Caddy, de Redis, de Docker et de Wings en cas de problème.
- 📚 Préférez les liens officiels pour les détails qui changent souvent.