Les addons permettent d'étendre les fonctionnalités du programme. Ils s'écrivent en Java et ont accès à un contexte complet : interface graphique, sessions serveurs, gestionnaire de fichiers et thème.
Récupérez le fichier .jar de l'addon depuis la page de l'auteur ou la liste officielle sur addons.html.
Copiez le fichier dans le dossier addons/ situé à côté de pterodactyl.jar (dans %APPDATA%\Pterodactyl\ sur Windows).
Fermez et relancez Pterodactyl Panel Manager. L'addon est chargé automatiquement au démarrage.
Chaque addon doit inclure un fichier addon.json à la racine du JAR :
{
"id": "mon-addon",
"name": "Mon Addon",
"version": "1.0.0",
"author": "Votre nom",
"description": "Description courte de l'addon",
"main": "com.example.MonAddon"
}| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique, sans espaces (kebab-case) |
name | string | Nom affiché dans la liste des addons |
version | string | Version au format X.Y.Z |
author | string | Auteur de l'addon |
description | string | Description affichée dans l'interface |
main | string | Nom complet de la classe principale qui implémente PterodactylAddon |
La classe principale doit implémenter l'interface PterodactylAddon :
public interface PterodactylAddon {
void onEnable(AddonContext ctx);
void onDisable();
}onEnable est appelé au chargement de l'addon (démarrage du programme). onDisable est appelé à la fermeture ou lors d'un rechargement des addons.
| Méthode | Retour | Description |
|---|---|---|
getAppWindow() | AppWindow | Accès à la fenêtre principale de l'application |
getTheme() | Theme | Couleurs et polices du thème actuel |
getServerSessions() | List<ServerSession> | Liste des sessions serveurs actives |
registerTab(String, JComponent) | void | Ajoute un onglet dans le panneau principal |
registerMenuItem(String, Runnable) | void | Ajoute une entrée dans le menu Addons |
getLogger() | Logger | Logger dédié à l'addon (sortie dans la console du programme) |
getConfigDir() | Path | Dossier de configuration persistant pour l'addon |