Files
2026-06-09 18:40:21 +02:00

7.2 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Pterodactyl 2026-06-07 2026-06-07 app
catalogue
gaming
game-server
panel
minecraft
docker
php
nodejs
high false
https://selfh.st/apps/?tag=Gaming
https://github.com/pterodactyl/panel
https://pterodactyl.io/

🦖 Pterodactyl

Panel de gestion open source pour serveurs de jeux, supportant des dizaines de titres (Minecraft, Valheim, CS2, Rust, ARK…) via un système d'images Docker par jeu (Eggs).

Métadonnée Valeur
Site web https://pterodactyl.io/
GitHub https://github.com/pterodactyl/panel
License MIT
Langage PHP (Laravel) / Node.js (Wings daemon)
Étoiles 2 578
Dernière MAJ 2026-05-15
Catégorie cat-gaming

Description

Pterodactyl est la référence open source pour administrer une flotte de serveurs de jeux depuis une interface web unique. Le projet se compose de deux briques complémentaires : le Panel (UI Laravel en PHP) qui gère utilisateurs, permissions, facturation et planification, et Wings (daemon Node.js) qui s'installe sur chaque machine hôte et orchestre les conteneurs Docker hébergeant les serveurs de jeux eux-mêmes. Cette séparation permet de scaler horizontalement en ajoutant simplement de nouveaux nœuds Wings derrière le Panel central.

L'extension « Eggs » est l'autre clé du système : ce sont des manifestes YAML décrivant comment lancer un jeu précis (image Docker, variables d'environnement, fichiers de configuration, scripts de démarrage). La communauté maintient plusieurs centaines d'Eggs officiels pour Minecraft (Vanilla, Paper, Spigot, Forge, Fabric, Bedrock), Valheim, CS2, Rust, ARK, Satisfactory, Terraria, Project Zomboid, etc. L'utilisateur clique « Deploy New Server » → choisit un Egg → l'instance démarre en quelques secondes.

Cas d'usage typique : un hébergeur de serveurs de jeux communautaires, une asso gaming qui mutualise des machines, ou un particulier qui héberge 3-4 serveurs Minecraft pour ses amis. Limites connues : la courbe d'apprentissage est raide pour l'auto-installation, l'UI commence à dater (Pas de réécriture majeure depuis 2020), et la branche 1.x stable a des bugs persistants — d'où l'émergence de forks comme app-pelican-panel.

Installation

Docker Compose (méthode officielle)

# docker-compose.yml
version: '3.8'

services:
  panel:
    image: ghcr.io/pterodactyl/panel:latest
    container_name: pterodactyl-panel
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./data/var:/app/var
      - ./data/nginx:/etc/nginx/http.d
      - ./data/certs:/etc/letsencrypt
      - ./data/logs:/app/storage/logs
    environment:
      APP_URL: "https://panel.example.com"
      APP_TIMEZONE: "Europe/Paris"
      APP_SERVICE_AUTHOR: "[email protected]"
    depends_on:
      - database
      - cache

  database:
    image: mariadb:11
    container_name: pterodactyl-db
    restart: unless-stopped
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./data/db:/var/lib/mysql
    environment:
      MYSQL_DATABASE: panel
      MYSQL_USER: pterodactyl
      MYSQL_PASSWORD: ChangeM3_DB_PWD
      MYSQL_ROOT_PASSWORD: ChangeM3_ROOT_PWD
    env_file:
      - .env.db

  cache:
    image: redis:7-alpine
    container_name: pterodactyl-redis
    restart: unless-stopped

  wings:
    image: ghcr.io/pterodactyl/wings:latest
    container_name: pterodactyl-wings
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/containers:/var/lib/docker/containers:ro
      - ./data/wings:/etc/pterodactyl
    depends_on:
      - panel

Installation manuelle (LAMP)

Sur un Debian/Ubuntu dédié : installer PHP 8.2+, MariaDB 10.6+, Redis, Nginx. Cloner le repo pterodactyl/panel, composer install --no-dev, configurer .env, php artisan migrate --seed --force, créer un vhost Nginx + PHP-FPM. Pour Wings : curl -L https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64 -o /usr/local/bin/wings && chmod +x /usr/local/bin/wings. Configurer /etc/pterodactyl/config.yml avec le token fourni par le Panel.

Configuration

  • Nodes : dans l'admin, ajouter un Node (nom, FQDN, port Wings 8080, mémoire totale, disque, location) puis copier-coller le config.yml auto-généré sur la machine Wings.
  • Allocations : définir les plages de ports par Node (ex : 25565-25600 pour Minecraft), un port = un slot de serveur.
  • Eggs : importer depuis l'admin (/admin/eggs/import) en collant un JSON. La communauté fournit des Nests (catégories de jeux) complets.
  • Reverse proxy : Traefik/Caddy devant le Panel, et haproxy/nginx devant Wings (le traffic des jeux passe par Wings directement).
  • Backups : configurer des backups S3 (compatible MinIO, Backblaze B2, Wasabi) ou locaux via cron + S3 Wings daemon.
  • SFTP : activé par serveur, l'utilisateur peut uploader des mods/maps via n'importe quel client SFTP.

Alternatives

Open Source

  • app-pelican-panel — Fork moderne avec UI refaite (Svelte) et panel plus réactif.
  • app-crafty-controller — Spécialisé Minecraft uniquement, plus simple d'approche.
  • app-linuxgsm — Approche CLI pure, pas de panel web, ~100 jeux supportés.
  • Yatopia — Ancien fork communautaire (déprécié).
  • AMP (CubeCoders) — Concurrent direct, propriétaire.

Propriétaires

  • Multiplay (Unity) — Panel historique, payant.
  • GameServerKings, Host Havoc — Offres commerciales utilisant Pterodactyl.
  • BisectHosting, Aternos (gratuit) — Solutions SaaS grand public.

Sécurité

  • Wings = accès root : le daemon s'exécute en root pour gérer Docker. Isoler la machine (VM dédiée, pas de panel web sur le même host).
  • HTTPS obligatoire : un Panel exposé en HTTP révèle identifiants + tokens API. Utiliser app-traefik + Let's Encrypt.
  • Fail2ban : configurer pour les logs Panel et SSH sur le serveur Wings.
  • Mises à jour : suivre la branche release/v1.11.x, les releases sont peu fréquentes mais contiennent souvent des correctifs XSS critiques.
  • SFTP jail : par utilisateur, l'accès SFTP est cloisonné au répertoire de son serveur (très bon point du design Pterodactyl).
  • 2FA : activable par utilisateur dans l'admin.
  • Anti-DDoS : si vous exposez les ports de jeu directement, prévoir un reverse proxy TCP (HAProxy) avec rate limiting.

Ressources

Pages Liées