Installer Pterodactyl sur son serveur
Le panneau et le démon Wings, de la base de données au premier serveur créé — avec les pièges qui coûtent le plus de temps.
Avez-vous besoin de l'installer ?
Nos serveurs de jeux sont livrés avec une console web, un gestionnaire de fichiers et les sauvegardes déjà en place : vous n'avez rien à installer. Cet article s'adresse à ceux qui veulent leur propre panneau sur un VPS ou un dédié, pour héberger plusieurs serveurs, ou en revendre.
Pterodactyl se compose de deux morceaux qu'on confond souvent. Le panneau est le site web : comptes, serveurs, console, fichiers. Wings est le démon qui tourne sur la machine qui héberge réellement les jeux, dans des conteneurs Docker. Les deux peuvent cohabiter sur une même machine, mais ils n'ont pas les mêmes besoins : le panneau demande peu, Wings demande de la mémoire et du disque.
Ce qu'il faut avant de commencer
- Une machine sous Debian ou Ubuntu à jour, avec les droits root.
- Un nom de domaine pointant vers elle — le panneau a besoin d'un certificat, donc d'un domaine.
- 2 Go de mémoire pour le panneau seul ; comptez large pour Wings, chaque serveur de jeu prend la sienne.
- Les ports 80 et 443 pour le panneau, 8080 et 2022 pour Wings.
Le panneau
- 1
Installer les dépendances
PHP avec ses extensions, MariaDB, Redis et nginx. Vérifiez la version de PHP attendue dans la documentation officielle : elle change à chaque version majeure du panneau.
bashsudo apt install -y php-cli php-gd php-mysql php-pdo php-mbstring php-tokenizer php-bcmath php-xml php-fpm php-curl php-zip \ mariadb-server nginx redis-server tar unzip git curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer - 2
Créer la base et son utilisateur
Un utilisateur dédié au panneau, avec un mot de passe long. Il n'a besoin d'aucun droit ailleurs.
bashsudo mariadb -e "CREATE DATABASE panel; \ CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'un-mot-de-passe-long'; \ GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1'; FLUSH PRIVILEGES;" - 3
Déposer les fichiers
bashsudo mkdir -p /var/www/pterodactyl && cd /var/www/pterodactyl sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz sudo tar -xzvf panel.tar.gz sudo chmod -R 755 storage/* bootstrap/cache/ - 4
Installer et configurer
Les commandes artisan posent les questions une à une : adresse du panneau, base de données, courriel, puis créent votre compte administrateur.
bashsudo cp .env.example .env sudo composer install --no-dev --optimize-autoloader sudo php artisan key:generate --force sudo php artisan p:environment:setup sudo php artisan p:environment:database sudo php artisan migrate --seed --force sudo php artisan p:user:make - 5
Donner les fichiers au serveur web
bashsudo chown -R www-data:www-data /var/www/pterodactyl/* - 6
La tâche planifiée et la file d'attente
Sans ces deux-là, le panneau s'affiche mais rien ne se passe : ni sauvegardes, ni redémarrages programmés, ni courriels. C'est l'oubli le plus fréquent.
bash# crontab -e -u www-data * * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
/etc/systemd/system/pteroq.service — le service de file d'attente
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.targetsudo systemctl enable --now pteroq.serviceWings
- 1
Installer Docker
bashcurl -sSL https://get.docker.com/ | sudo sh sudo systemctl enable --now docker - 2
Poser le binaire
bashsudo mkdir -p /etc/pterodactyl sudo curl -Lo /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64" sudo chmod u+x /usr/local/bin/wings - 3
Déclarer le nœud dans le panneau
Dans l'interface d'administration, créez un nœud. Le panneau vous donne alors un fichier de configuration à coller dans /etc/pterodactyl/config.yml — il contient le jeton qui lie les deux moitiés.
- 4
Démarrer
bashsudo systemctl enable --now wings
Les pièges qui coûtent une soirée
- Wings refuse de démarrer en se plaignant de la mémoire : activez la comptabilité de swap du noyau, en ajoutant swapaccount=1 aux paramètres de démarrage, puis redémarrez.
- La console reste vide : le panneau parle à Wings en WebSocket. Si nginx est devant, il faut transmettre les en-têtes Upgrade et Connection, sinon la connexion est coupée.
- Les serveurs de jeu ne démarrent pas : vérifiez que Docker tourne, et que le disque annoncé au nœud existe vraiment.
- Rien ne se passe à l'heure dite : la tâche planifiée ou le service pteroq n'est pas actif.
- Le certificat du nœud ne correspond pas : le domaine déclaré dans le panneau doit être exactement celui du certificat de Wings.
Les versions bougent
Pterodactyl change de dépendances au fil des versions majeures — la version de PHP en particulier. Les commandes ci-dessus donnent le déroulé et les pièges ; vérifiez les numéros exacts sur pterodactyl.io avant de lancer l'installation. Nous n'assurons pas le support de Pterodactyl sur votre propre machine : nous administrons ce qui est sous notre responsabilité, et nous vous donnons ici de quoi faire le reste.
Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.
Ouvrir un ticket