Sous Paper et Spigot, un plugin est un simple fichier JAR (une archive Java) placé dans le dossier plugins. Si ce fichier est endommagé, vide, en double ou s'il s'agit en réalité d'un mod ou d'une bibliothèque, le serveur ne charge pas le plugin ou plante au démarrage. Chaque section ci-dessous traite l'un de ces messages. Avec « En savoir plus » dans Santé du serveur, tu arrives directement à la bonne section.

Tu trouveras le texte complet dans la Console ou sous Fichiers dans logs/latest.log. Les lignes importantes sont généralement celles juste sous le message, car c'est là que se trouve la vraie raison. Ne remplace des fichiers de plugin que lorsque le serveur est arrêté. Crée d'abord une sauvegarde sous Sauvegardes, surtout si des fichiers de monde ou de configuration risquent aussi d'être touchés.

Le plugin plante lors de l'activation (« Error occurred while enabling »)

Voici à quoi ressemble le message :

Error occurred while enabling <Plugin> v<Version> (Is it up to date?)
java.lang.NoSuchMethodError: '<Méthode>'
    at <Plugin>-<Version>.jar//<Paquet>.onEnable(…)

Ce qui se passe : Le serveur a chargé le plugin, mais celui-ci a planté lors de l'activation et s'est désactivé tout seul. Le serveur continue de tourner normalement, mais toutes les fonctions de ce plugin sont absentes : pas de commandes, pas de menus, pas de permissions, et aucun autre message d'erreur n'apparaît en jeu. S'il s'agit d'un plugin de protection, de permissions ou de connexion, cette protection manque tant que tu n'as pas corrigé l'erreur. Le plus souvent, le plugin ne correspond pas à la version du serveur ou à celle d'un autre plugin installé.

Comment le corriger :

  1. La ligne d'erreur indique le plugin et la version. Vérifie sur la page du plugin s'il existe une version pour ta version du serveur, puis mets le plugin à jour.
  2. Si dessous figure NoSuchMethodError ou NoClassDefFoundError avec le nom d'un autre plugin, ces deux versions de plugins ne sont pas compatibles entre elles. Mets l'un des deux à une version compatible.
  3. Si dessous figure une erreur de base de données comme Communications link failure, le plugin n'arrive pas à joindre sa base de données. Vérifie les identifiants dans sa configuration et sous Bases de données.
  4. Redémarre le serveur et consulte la Console.

Bon à savoir : Le même message avec « disabling » à l'arrêt est souvent juste une conséquence de l'erreur au démarrage. Plus d'informations sur les conflits de versions : Le plugin ne correspond pas à la version du serveur.

Fichier de plugin ignoré (« Could not load 'plugins/…jar' »)

Voici à quoi ressemble le message :

[ModernPluginLoadingStrategy] Could not load 'plugins/<Plugin>.jar' in 'plugins'
org.bukkit.plugin.UnknownDependencyException: Unknown/missing dependency plugins: [ProtocolLib]. Please download and install these plugins to run '<Plugin>'.

Ce qui se passe : Le serveur n'a pas pu charger le JAR indiqué en tant que plugin et l'ignore. Un JAR (archive Java) est le fichier qui contient un plugin. Le reste du serveur peut continuer à tourner, mais ce plugin est totalement absent. La cause est un fichier endommagé ou invalide, ou un JAR sans plugin.yml lisible, le fichier de description grâce auquel le serveur reconnaît un plugin. Avec « Failed to run bootstrapper », un plugin Paper a échoué dès la toute première phase de démarrage.

Comment le corriger :

  1. Lis la ligne sous le message. Si tu y vois UnknownDependencyException, un autre plugin est manquant : installe le plugin indiqué entre crochets.
  2. Sinon, arrête le serveur et supprime le JAR concerné sous Fichiers, dans le dossier plugins.
  3. Télécharge une version depuis une source fiable qui correspond à ton type de serveur (Paper, Spigot) et à ta version de Minecraft, puis envoie-la sur le serveur.
  4. Redémarre le serveur.

Bon à savoir : Si le chemin pointe vers plugins/.paper-remapped, il s'agit d'une copie que Paper crée pour les plugins Spigot. Remplace le JAR d'origine dans plugins ; Paper recréera la copie au prochain démarrage. Au sujet des plugins manquants : Le plugin a besoin d'un autre plugin.

Le plugin plante dès l'initialisation (« Is it up to date? »)

Voici à quoi ressemble le message :

[<Plugin>] Error initializing plugin '<Plugin>-<Version>.jar' in folder 'plugins' (Is it up to date?)
java.lang.ExceptionInInitializerError

Ce qui se passe : Le plugin a planté pendant que le serveur le préparait, donc avant même d'être activé. Il reste désactivé, ses commandes et ses fonctions sont absentes, et le serveur continue sans lui. Presque toujours, la version du plugin ne correspond pas à la version du serveur. La ligne d'erreur en dessous mentionne souvent la version ou une classe manquante, c'est-à-dire un élément de programme que le plugin attend dans le serveur.

Comment le corriger :

  1. Installe la version du plugin prévue pour ta version du serveur, ou mets le plugin à jour. La page du plugin indique les versions prises en charge.
  2. S'il n'existe pas encore de version adaptée à ta version du serveur, attends une mise à jour du plugin ou reste pour l'instant sur une version prise en charge sous Version.
  3. Si cela n'aide pas, retire le plugin à titre de test et signale l'erreur à l'auteur du plugin, avec le message complet.
  4. Redémarre le serveur.

Bon à savoir : Si Geyser signale « English locale not found », le fichier est incomplet. Télécharge Geyser à nouveau depuis le site officiel du projet. Plus d'informations : Le plugin ne correspond pas à la version du serveur.

Paper ne charge pas un plugin (« Could not load plugin … in folder »)

Voici à quoi ressemble le message :

[ModernPluginLoadingStrategy] Could not load plugin '<Plugin>-<Version>.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError

Ce qui se passe : Paper n'a pas pu charger le plugin indiqué au démarrage. Le plugin est totalement absent, le reste du serveur démarre. La raison figure sur la ligne juste en dessous : le plus souvent un plugin.yml défectueux, une dépendance manquante ou une version conçue pour une autre version du serveur. Un message concernant « API version string » signifie par exemple que l'indication de version dans le plugin.yml a un format que ta version du serveur ne comprend pas.

Comment le corriger :

  1. Lis la ligne juste sous le message.
  2. Télécharge à nouveau le plugin en choisissant la version qui correspond à ta version du serveur.
  3. Arrête le serveur, supprime l'ancien JAR du dossier plugins sous Fichiers et envoie le nouveau.
  4. Redémarre le serveur et vérifie dans la Console que le plugin se charge maintenant.

Bon à savoir : Si la ligne en dessous mentionne un plugin manquant, le problème ne vient pas du fichier lui-même. Dans ce cas, consulte Le plugin a besoin d'un autre plugin.

Plugin installé en double (« Ambiguous plugin name »)

Voici à quoi ressemble le message :

[ModernPluginLoadingStrategy] Ambiguous plugin name 'ViaVersion' for files 'plugins/ViaVersion.jar' and 'plugins/ViaVersion-<Version>.jar' in 'plugins'

Ce qui se passe : Deux fichiers JAR du dossier plugins portent le même nom de plugin. Le serveur n'en charge qu'un seul, et tu ne sais pas lequel. Cela arrive typiquement quand une nouvelle version a été envoyée sans supprimer l'ancienne. Ou bien deux plugins contiennent la même chose, comme FastAsyncWorldEdit, qui inclut déjà WorldEdit. Le serveur tourne, mais peut-être avec l'ancienne version.

Comment le corriger :

  1. Le message indique les deux fichiers. Arrête le serveur et ouvre le dossier plugins sous Fichiers.
  2. Supprime le JAR en double ou le plus ancien. Garde la version qui correspond à ta version du serveur.
  3. Pour WorldEdit et FastAsyncWorldEdit, ne garde que l'un des deux.
  4. Redémarre le serveur. La commande plugins dans la Console indique quels plugins sont chargés.

Bon à savoir : Lors d'une mise à jour, télécharge ou supprime toujours d'abord l'ancien JAR avant d'envoyer le nouveau. Avec des noms de fichiers contenant le numéro de version, les plugins en double passent facilement inaperçus.

Mod au lieu d'un plugin dans le dossier plugins

Voici à quoi ressemble le message :

[DirectoryProviderSource] Error loading plugin: java.lang.IllegalArgumentException: Directory 'plugins/<Mod>-fabric-<Version>.jar' does not contain a paper-plugin.yml or plugin.yml! Could not determine plugin type, cannot load a plugin from it!

Ce qui se passe : Le dossier plugins contient un JAR sans plugin.yml, donc sans le fichier grâce auquel Paper reconnaît un plugin. Il s'agit le plus souvent d'un mod pour Fabric ou Forge ; le nom du fichier contient alors souvent « fabric » ou « forge ». Parfois, c'est aussi une bibliothèque Java, comme un pilote de base de données. Paper ne peut pas charger ce genre de fichier et l'ignore. Le serveur continue de tourner, mais la fonction espérée est absente.

Comment le corriger :

  1. Supprime le fichier indiqué du dossier plugins sous Fichiers.
  2. Cherche sur la page du projet une version plugin pour Paper ou Spigot. De nombreux projets proposent les deux.
  3. S'il n'existe qu'un mod, tu as besoin d'un serveur de mods. Sous Changer de logiciel / chargeur, choisis Fabric, Forge ou NeoForge. Tes plugins Paper n'y fonctionneront alors plus.
  4. Redémarre le serveur.

Bon à savoir : Certains mods ne fonctionnent de toute façon que côté client et n'ont pas leur place sur le serveur. Le changement de logiciel est décrit dans Changer le logiciel et la version du serveur dans le panel.

Fichier de plugin remplacé pendant l'exécution (« zip file closed »)

Voici à quoi ressemble le message :

java.lang.IllegalStateException: zip file closed
java.lang.IllegalStateException: The plugin classloader for <Plugin> has thrown a zip file error.

Ce qui se cache derrière : Un JAR de plugin a été écrasé ou supprimé pendant que le serveur tournait, ou quelqu'un a utilisé /reload. Le plugin essaie ensuite de recharger des parties de programme depuis son fichier, que le serveur a déjà fermé, et génère des erreurs. Cela touche surtout les plugins qui travaillent en permanence en arrière-plan, comme LuckPerms. Des fonctions du plugin peuvent cesser de fonctionner jusqu'au prochain redémarrage du serveur.

Voici comment le corriger :

  1. Redémarre complètement le serveur. En général, cela règle le message.
  2. À l'avenir, ne remplace les fichiers de plugin que lorsque le serveur est arrêté : arrête-le, remplace le JAR dans Fichiers, puis démarre-le.
  3. Évite /reload. Cette commande recharge tous les plugins pendant l'exécution, et beaucoup de plugins ne le supportent pas.
  4. Si le message apparaît sans remplacement de fichier préalable, lis les lignes qui précèdent dans la Console. Elles indiquent quel plugin est concerné.

Bon à savoir : Après un redémarrage propre, le plugin est de nouveau entièrement disponible. Ce message seul ne fait pas perdre de données, mais les modifications non enregistrées du plugin durant cette période peuvent l'être.

Deux fichiers de plugin avec le même nom (« duplicate plugin identifier »)

Voici à quoi ressemble le message :

[ModernPluginLoadingStrategy] Could not load plugin 'worldedit-bukkit-<Version>.jar' in folder 'plugins'
java.lang.IllegalStateException: Provider SpigotPluginProvider{path=plugins/worldedit-bukkit-<Version>.jar, …} attempted to add duplicate plugin identifier …

Ce qui se cache derrière : Deux fichiers JAR fournissent le même nom de plugin. Paper n'en charge qu'un seul et rejette l'autre. Le plus souvent, l'ancienne et la nouvelle version d'un plugin se trouvent côte à côte dans le dossier plugins. Ou bien deux plugins revendiquent le même nom : FastAsyncWorldEdit (FAWE en abrégé) contient déjà WorldEdit, un JAR WorldEdit supplémentaire entre donc en conflit avec lui. Le serveur continue de tourner, mais Paper avertit explicitement de possibles erreurs en cascade.

Voici comment le corriger :

  1. Arrête le serveur.
  2. Dans Fichiers, supprime dans le dossier plugins le JAR le plus ancien ou superflu. Pour FAWE, il s'agit du JAR worldedit-bukkit séparé.
  3. Démarre le serveur et vérifie avec la commande plugins dans la Console que le plugin n'est chargé qu'une seule fois.

Bon à savoir : Les commandes WorldEdit habituelles continuent de fonctionner avec FAWE. Pour savoir comment construire avec et annuler des erreurs, consulte WorldEdit : sélectionner des zones, construire et annuler.

ProtocolLib avertit à propos d'un plugin de rechargement

Voici à quoi ressemble le message :

*** ProtocolLib does not support plugin reloaders! ***
*** Please use the built-in reload command!        ***

Ce qui se cache derrière : ProtocolLib intervient en profondeur dans la connexion réseau entre le serveur et les joueurs. Les plugins de rechargement sont des plugins comme PlugMan ou PlugManX, qui chargent ou déchargent des plugins individuels pendant l'exécution. ProtocolLib ne le supporte pas et avertit d'un état incohérent. ProtocolLib et tous les plugins qui s'appuient dessus peuvent alors mal fonctionner, par exemple les plugins anti-triche ou d'affichage.

Voici comment le corriger :

  1. Ne recharge pas ProtocolLib ni les plugins qui l'utilisent avec un plugin de rechargement.
  2. Après toute modification de plugins, redémarre complètement le serveur entier.
  3. Si tu n'as pas besoin du plugin de rechargement, retire-le du dossier plugins dans Fichiers, pour qu'il ne soit pas utilisé par erreur.
  4. Si tu viens d'utiliser un plugin de rechargement, effectue maintenant un redémarrage complet, afin que tout soit de nouveau chargé proprement.

Bon à savoir : Le message recommande la commande de rechargement intégrée. Elle recharge elle aussi tous les plugins pendant l'exécution. La méthode la plus sûre reste un redémarrage complet.

Un fichier du dossier plugins n'est pas un plugin exécutable

Voici à quoi ressemble le message :

[DirectoryProviderSource] Error preparing plugin context: Directory 'plugins/<Plugin>-<Version>.jar' failed to update!
Failed to open plugin jar …

Ce qui se cache derrière : Un fichier du dossier plugins ne peut pas être chargé comme plugin, et le plugin ne démarre pas. Il s'agit souvent du code source au lieu du plugin (le nom du fichier se termine par -sources.jar), de la documentation (-javadoc.jar), d'un téléchargement interrompu, d'un fichier ZIP renommé en .jar ou d'un plugin conçu pour une autre plateforme. « Invalid plugin.yml » ou « only DEFLATED entries can have EXT descriptor » font aussi partie de ce groupe : le fichier n'est pas structuré comme doit l'être un plugin.

Voici comment le corriger :

  1. Arrête le serveur et supprime le fichier indiqué de plugins dans Fichiers.
  2. Télécharge à nouveau le plugin depuis le site officiel. Prends le véritable .jar, pas -sources.jar ni -javadoc.jar.
  3. Si le plugin arrive sous forme d'archive ZIP, décompresse-la sur ton ordinateur et ne téléverse que le JAR qu'elle contient.
  4. Assure-toi que le fichier est prévu pour Paper ou Spigot, puis redémarre le serveur.

Bon à savoir : Tu reconnais souvent une version pour une autre plateforme au nom du fichier ou à la page de téléchargement, qui propose plusieurs variantes au choix.

Une bibliothèque Java se trouve comme plugin dans le dossier plugins

Voici à quoi ressemble le message :

[DirectoryProviderSource] Error preparing plugin context: Directory 'plugins/asm-util-<Version>.jar' failed to update!

Ce qui se cache derrière : Une bibliothèque Java comme ASM ou Nashorn se trouve en tant que fichier distinct dans le dossier plugins. Les bibliothèques sont des briques que les plugins utilisent en interne, ce ne sont pas des plugins en elles-mêmes. Paper ne peut ni charger ce JAR comme plugin ni le mettre à jour, et l'ignore. Le serveur continue de tourner. De tels fichiers arrivent là par exemple lorsqu'une archive contenant plusieurs fichiers a été téléversée en entier.

Voici comment le corriger :

  1. Supprime le JAR de bibliothèque indiqué de plugins dans Fichiers.
  2. N'installe que le véritable plugin. Il apporte lui-même ses bibliothèques ou les télécharge au démarrage.
  3. Redémarre le serveur et vérifie la Console.
  4. Si un plugin signale ensuite qu'il lui manque quelque chose, lis son guide d'installation au lieu d'ajouter des bibliothèques à la main.

Bon à savoir : Si un plugin a vraiment besoin d'un second plugin, il l'indique explicitement. Pour savoir comment le repérer : Un plugin a besoin d'un autre plugin.

Le fichier de plugin est vide (« zip file is empty »)

Voici à quoi ressemble le message :

[DirectoryProviderSource] Error loading plugin: zip file is empty

Ce qui se cache derrière : Un fichier du dossier plugins fait 0 octet ou son téléversement a été interrompu. Paper ne peut pas l'ouvrir et l'ignore. Le plugin est absent, le serveur continue de tourner. Cela arrive souvent lorsque la connexion est coupée pendant le téléversement ou que le téléchargement était déjà incomplet sur ton ordinateur.

Voici comment le corriger :

  1. Dans Fichiers, ouvre le dossier plugins et cherche le fichier de 0 octet ou de taille anormalement petite.
  2. Supprime-le.
  3. Télécharge à nouveau le plugin depuis une source fiable et téléverse-le lorsque le serveur est arrêté. Attends que le téléversement soit entièrement terminé.
  4. Redémarre le serveur et vérifie dans la Console que le plugin se charge.

Bon à savoir : Pour des fichiers volumineux ou nombreux, SFTP est souvent plus fiable que le téléversement dans le navigateur, voir Modifier les fichiers du serveur dans le panel et se connecter via SFTP.

Ton message n'y figure pas ?

Lis le message en entier dans la Console ou dans logs/latest.log, y compris les lignes avant et après. Tu trouves le nom du fichier de plugin dans le message lui-même ou dans la stacktrace, la liste de lignes at indentées : le JAR s'y trouve avant la double barre oblique, par exemple <Plugin>.jar//. Les noms de dossiers comme plugins/<Plugin>/ indiquent aussi quel plugin est concerné. Crée une sauvegarde avant de remplacer des fichiers. Si tu n'arrives pas à avancer, ouvre un ticket et indique l'heure du message.