Comment Pelican Panel remplace les panneaux de serveurs de jeu legacy
Quiconque a déjà tenté de configurer un serveur dédié pour Minecraft, DayZ ou Satisfactory sur une machine virtuelle propre connaît cette galère. D'abord, vous installez la version requise de Java ou SteamCMD. Ensuite, vous triez les conflits de bibliothèques, configurez le redémarrage automatique via systemd, et trouvez comment donner accès à la console aux amis sans leur transmettre les clés SSH de l'hôte entier.
Pendant de nombreuses années, Pterodactyl a été la référence dans ce créneau. C'est un excellent projet, mais sa base de code et sa pile d'administration ont pris un sérieux coup de vieux, et les mises à jour sont rares. Pour le remplacer, le projet open-source Pelican Panel fait son entrée, ayant repensé l'architecture de la gestion des serveurs de jeu.
Sous le capot
L'architecture du système est divisée en deux parties indépendantes : le panneau web et l'agent hôte.
Le composant web de Pelican Panel est construit avec Laravel et FilamentPHP. Il gère l'interface, l'authentification des utilisateurs, la gestion des permissions, l'allocation des ressources et les opérations de base de données. Grâce à Filament, le panneau dispose d'une interface épurée où il est pratique d'attribuer des rôles d'administrateur et de surveiller la charge des nœuds.
Le deuxième composant s'appelle Wings. C'est un daemon Go léger installé directement sur le nœud exécutant les serveurs. Le panneau web envoie des commandes à Wings via une API sécurisée, et le daemon gère les conteneurs Docker.
Le système hôte reste propre. Chaque processus de jeu s'exécute dans un conteneur isolé avec des limites strictes sur la RAM, le CPU et le disque. Si un serveur Palworld commence à consommer de la mémoire de manière incontrôlée à cause d'une fuite, le daemon le limitera simplement dans les limites fixées ou le redémarrera, sans affecter les instances voisines.
[ Веб-интерфейс Pelican ]
(Laravel + Filament)
│
REST API / WebSockets
│
▼
[ Демон Wings (Go) ]
│
Docker API (Socket)
┌─────────┴─────────┐
▼ ▼
[ Docker: MC ] [ Docker: CS2 ]
Modèles de configuration prêts à l'emploi
Dans l'écosystème Pelican, les modèles de lancement sont appelés « eggs ». Ce sont des manifestes JSON qui définissent l'image Docker de base, les variables d'environnement, les scripts de démarrage et les règles d'installation des fichiers de jeu.
Le panneau prend en charge une vaste bibliothèque de configurations préconstruites :
- Jeux SteamCMD : Counter-Strike, Rust, ARK, 7 Days to Die, Enshrouded, Project Zomboid.
- Builds Minecraft : Vanilla, Paper, Sponge, BungeeCord, Waterfall.
- Serveurs vocaux : TeamSpeak, Mumble, instances Lavalink.
- Bots Discord et services utilitaires en Python, Node.js, Java.
- Bases de données et monitoring : Redis, PostgreSQL, Prometheus, Grafana.
Si un jeu n'est pas disponible dans le dépôt standard, vous pouvez facilement créer un modèle personnalisé. Spécifiez simplement l'image Docker et un script pour télécharger les binaires.
Exemple pratique : lancement et isolation
Dans les opérations quotidiennes, Pelican gère les tâches récurrentes :
- Création d'utilisateurs et attribution des permissions. Vous pouvez donner à un ami accès uniquement à la visualisation de la console et à un bouton de redémarrage, en masquant les paramètres réseau et l'édition de fichiers.
- Gestionnaire de fichiers intégré et SFTP. Les utilisateurs uploadent des mods et modifient les configs directement depuis le navigateur ou via leur client FTP préféré, en restant dans les limites de leur dossier.
- Planifications et déclencheurs. Sauvegardes planifiées vers le stockage S3, redémarrages cron, et envoi de commandes vers la console du serveur sans bidouilles crontab.
- Gestion des ports. Le panneau suit les ports alloués et les distribue entre les conteneurs sans risquer de conflits de ports.
À qui ce projet est destiné
Si vous exécutez un serveur dédié à la maison ou louez un VPS pour jouer avec des amis, Pelican élimine les manipulations en ligne de commande. Configurez un nœud une fois et déployez de nouveaux jeux en quelques clics.
Pour les petits fournisseurs d'hébergement de jeux et les communautés, c'est un remplacement complet des solutions commerciales. Le projet est publié sous licence open-source AGPLv3, activement maintenu, et fonctionne out of the box avec les piles PHP et Docker modernes.
La documentation et les guides d'installation sont disponibles sur le site officiel pelican.dev, et le code source du panneau peut être exploré dans le dépôt GitHub du projet.
Projets similaires