IntĂ©gration Pterodactyl â
Infrarust inclut une intégration avec Pterodactyl, un panneau de gestion de serveurs de jeux open-source populaire. Cette intégration permet à Infrarust de surveiller l'état des serveurs et de les démarrer automatiquement lorsque des joueurs se connectent.
Aperçu â
Le fournisseur Pterodactyl dans Infrarust :
- Surveille l'Ă©tat du serveur en temps rĂ©el (DĂ©marrage, En cours d'exĂ©cution, ArrĂȘt, ArrĂȘtĂ©, PlantĂ©)
- Démarre automatiquement les serveurs lorsque des joueurs tentent de se connecter
- Prend en charge le contrĂŽle Ă distance du serveur (dĂ©marrer, arrĂȘter, redĂ©marrer)
- ArrĂȘte automatiquement les serveurs vides aprĂšs un dĂ©lai configurable
- Utilise l'API Client de Pterodactyl pour la communication
Configuration â
Configuration du gestionnaire â
Pour activer l'intégration Pterodactyl, ajoutez ce qui suit à votre config.yaml :
managers_config:
pterodactyl:
enabled: true
api_key: "votre_cle_api_pterodactyl" # Ce doit ĂȘtre une clĂ© qui commence par "ptlc_" c'est une clĂ© client
base_url: "https://panel.example.com"Options de configuration â
| Option | Description | Requis |
|---|---|---|
enabled | Activer l'intégration Pterodactyl | Oui |
api_key | Clé API Client du panneau Pterodactyl | Oui |
base_url | URL de base de votre panneau Pterodactyl | Oui |
Configuration du serveur â
Pour configurer un proxy utilisant Pterodactyl pour la gestion du serveur, ajoutez la section server_manager Ă votre fichier de configuration proxy :
domains:
- "mc.example.com"
addresses:
- "192.168.1.100:25565"
proxyMode: "passthrough"
server_manager:
provider_name: Pterodactyl
server_id: "de0d8f2d"
empty_shutdown_time: 30
motds:
online:
text: "Serveur en ligne"
offline:
text: "Serveur hors ligne - La connexion dĂ©marrera le serveur"Options de configuration du serveur â
| Option | Description | Requis |
|---|---|---|
provider_name | Doit ĂȘtre Pterodactyl pour le panneau Pterodactyl | Oui |
server_id | L'identifiant du serveur dans le panneau Pterodactyl | Oui |
empty_shutdown_time | Secondes avant l'arrĂȘt d'un serveur vide | Non |
Exemple complet â
Configuration principale (config.yaml) â
bind: "0.0.0.0:25565"
file_provider:
proxies_path:
- "./proxies"
watch: true
managers_config:
pterodactyl:
enabled: true
api_key: "ptlc_xxxxxxxxxxxxxxxxxxxx"
base_url: "https://panel.example.com"Configuration du proxy (proxies/survival.yaml) â
domains:
- "survival.example.com"
- "play.example.com"
addresses:
- "192.168.1.100:25565"
sendProxyProtocol: false
proxyMode: "passthrough"
server_manager:
provider_name: Pterodactyl
server_id: "de0d8f2d"
empty_shutdown_time: 300
motds:
online:
version_name: "Serveur Survie"
text: "Bienvenue en Survie !"
offline:
version_name: "Démarrage du serveur..."
text: "Le serveur est hors ligne. Rejoignez pour le dĂ©marrer !"Ătats du serveur â
L'intégration Pterodactyl reconnaßt les états de serveur suivants :
| Ătat | Description |
|---|---|
Starting | Le serveur démarre |
Running | Le serveur est en ligne et accepte les connexions |
Stopping | Le serveur s'arrĂȘte |
Stopped | Le serveur est hors ligne |
Crashed | Le serveur a planté et peut nécessiter une attention |
Fonction d'arrĂȘt automatique â
Lorsque empty_shutdown_time est configurĂ©, Infrarust arrĂȘtera automatiquement le serveur aprĂšs le nombre de secondes spĂ©cifiĂ© lorsqu'aucun joueur n'est connectĂ©. Cela permet d'Ă©conomiser des ressources lorsque les serveurs ne sont pas utilisĂ©s.
server_manager:
provider_name: Pterodactyl
server_id: "de0d8f2d"
empty_shutdown_time: 300 # ArrĂȘt aprĂšs 5 minutes sans joueursCapacitĂ©s de l'API â
L'intégration prend en charge les opérations suivantes via l'API Client de Pterodactyl :
- Obtenir l'état du serveur : Vérifier l'état actuel du serveur et l'utilisation des ressources
- Démarrer le serveur : Démarrer un serveur hors ligne
- ArrĂȘter le serveur : ArrĂȘter proprement un serveur en cours d'exĂ©cution
- Redémarrer le serveur : Redémarrer un serveur en cours d'exécution
Points d'API utilisĂ©s â
| Point d'accÚs | Méthode | But |
|---|---|---|
/api/client/servers/{id} | GET | Obtenir les informations du serveur |
/api/client/servers/{id}/resources | GET | Obtenir l'état et les ressources du serveur |
/api/client/servers/{id}/power | POST | ContrÎler l'état d'alimentation du serveur |