🚀 Infrarust V2 is now in alpha! Check out the new documentation. V1 will be archived once V2 is released.
Skip to content

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 :

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 ​

OptionDescriptionRequis
enabledActiver l'intégration PterodactylOui
api_keyClé API Client du panneau PterodactylOui
base_urlURL de base de votre panneau PterodactylOui

Configuration du serveur ​

Pour configurer un proxy utilisant Pterodactyl pour la gestion du serveur, ajoutez la section server_manager Ă  votre fichier de configuration proxy :

yaml
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 ​

OptionDescriptionRequis
provider_nameDoit ĂȘtre Pterodactyl pour le panneau PterodactylOui
server_idL'identifiant du serveur dans le panneau PterodactylOui
empty_shutdown_timeSecondes avant l'arrĂȘt d'un serveur videNon

Exemple complet ​

Configuration principale (config.yaml) ​

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) ​

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 :

ÉtatDescription
StartingLe serveur démarre
RunningLe serveur est en ligne et accepte les connexions
StoppingLe serveur s'arrĂȘte
StoppedLe serveur est hors ligne
CrashedLe 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.

yaml
server_manager:
  provider_name: Pterodactyl
  server_id: "de0d8f2d"
  empty_shutdown_time: 300  # ArrĂȘt aprĂšs 5 minutes sans joueurs

CapacitĂ©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ÚsMéthodeBut
/api/client/servers/{id}GETObtenir les informations du serveur
/api/client/servers/{id}/resourcesGETObtenir l'état et les ressources du serveur
/api/client/servers/{id}/powerPOSTContrÎler l'état d'alimentation du serveur

Released under the AGPL-3.0 License.