Installer Pterodactyl Panel & Wings
Procédure complète : prérequis, installation Panel/Wings, nœud, phpMyAdmin, MySQL et premiers serveurs de jeux.
Prêt à lancer votre service ? Consultez les offres et commandez en ligne.
Voir les offres et commanderObjectif
Installer Pterodactyl Panel et Wings sur un VPS Linux (Debian / Ubuntu), puis configurer un nœud, phpMyAdmin et MySQL de façon propre et sécurisée.
Le Panel est l’interface web. Wings est le daemon qui lance les conteneurs Docker des serveurs de jeux.
Prérequis
- VPS Anthony IT Solutions (Debian 11/12 ou Ubuntu 22.04/24.04)
- Accès root en SSH (première connexion SSH)
- Minimum conseillé : 2 vCPU / 4 Go RAM / 40 Go disque
- Un domaine (ex.
panel.votredomaine.fr) en enregistrement A vers l’IP du VPS - Ports : 22, 80/443, 8080 (Wings), 2022 (SFTP), + ports de jeux
1. Préparer le système
Connectez-vous en root, mettez à jour, puis redémarrez :
apt update
apt full-upgrade -y
apt install -y bash curl wget sudo unzip nano ca-certificates gnupg
rebootReconnectez-vous après le reboot et vérifiez l’OS :
cat /etc/os-release
hostnamectl2. Installer le Panel et Wings
Lancez l’installeur interactif :
bash <(curl -s https://pterodactyl-installer.se)- Option d’installation
Installez d’abord le Panel, puis Wings sur la même machine (idéal pour un VPS unique).
- Domaine FQDN
Ex.
panel.votredomaine.fr- le DNS A doit déjà pointer vers le VPS. - E-mail & SSL
Indiquez un e-mail valide et acceptez Let’s Encrypt.
- Base de données
Notez le mot de passe MySQL / utilisateur Panel affiché par le script.
- Compte admin
Créez l’admin Panel (e-mail, username, mot de passe fort).
Vérifiez les services :
systemctl status nginx
systemctl status mariadb
systemctl status wings
systemctl status dockerOuvrez https://panel.votredomaine.fr et connectez-vous avec le compte admin créé.
3. Configurer le nœud (Node)
- Location
Admin → Locations → New (ex.
France/FR-01). - Node
Admin → Nodes → Create :
- Name :
node-01 - FQDN : même domaine ou
node.votredomaine.fr - Memory / Disk : laissez une marge pour le système
- Daemon Port :
8080 - SFTP Port :
2022
- Name :
- Allocations
Ajoutez l’IP publique + une plage de ports (ex.
25565-25600,30120). - Config Wings
Ouvrez le nœud → onglet Configuration → copiez le YAML affiché.
Collez la config sur le VPS :
sudo nano /etc/pterodactyl/config.ymlPuis redémarrez Wings :
systemctl restart wings
systemctl status wingswings après chaque modification.4. Ouvrir les ports (UFW)
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 8080/tcp
ufw allow 2022/tcp
ufw allow 25565:25600/tcp
ufw allow 30120/tcp
ufw allow 30120/udp
ufw enable
ufw status5. Installer phpMyAdmin (optionnel)
cd /var/www/pterodactyl/public
mkdir -p phpmyadmin && cd phpmyadmin
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
unzip phpMyAdmin-5.2.1-all-languages.zip
mv phpMyAdmin-5.2.1-all-languages/* .
rm -rf phpMyAdmin-5.2.1-all-languages phpMyAdmin-5.2.1-all-languages.zip
cp config.sample.inc.php config.inc.php
nano config.inc.phpDéfinissez un blowfish_secret aléatoire (32+ caractères) :
$cfg['blowfish_secret'] = 'REMPLACEZ_PAR_UNE_CHAINE_ALEATOIRE_32+';Accès : https://panel.votredomaine.fr/phpmyadmin
6. Configurer MySQL / MariaDB
Écoute locale recommandée :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbind-address = 127.0.0.1systemctl restart mariadbCréez les utilisateurs (mots de passe forts) :
mysql -u root -pCREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'MOT_DE_PASSE_FORT';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'localhost';
CREATE USER 'games'@'localhost' IDENTIFIED BY 'AUTRE_MOT_DE_PASSE_FORT';
GRANT ALL PRIVILEGES ON *.* TO 'games'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;admin@'%' Un compte ouvert à tout le réseau est dangereux si le port 3306 est exposé. Préférez localhost.7. Créer le premier serveur de jeux
- Eggs
Admin → Nests : choisissez l’egg (Paper, FiveM, etc.).
- User
Admin → Users : compte client (ou admin pour tester).
- Server
Admin → Servers → Create : nœud, allocation, RAM/CPU/disque, egg, puis Start.
- Base MySQL
Créez une base dédiée avec l’utilisateur
gameset renseignez-la dans les variables du serveur.
8. Vérifications
- Panel HTTPS OK
- Nœud Connected
systemctl is-active wings docker nginx mariadb→active- Un serveur test démarre correctement
journalctl -u wings -n 50 --no-pager
docker ps
df -h
free -hDépannage
- Nœud Offline : token /
config.yml/ port 8080 /systemctl restart wings - SSL échoué : DNS A incorrect ou port 80 fermé
- Installing bloqué : Docker, disque plein, egg invalide
- MySQL refusé : utilisateur/hôte/mot de passe ou
bind-address