Een plugin is bij Paper en Spigot één enkel JAR-bestand (een Java-archief) in de map plugins. Is dit bestand beschadigd, leeg, dubbel aanwezig of in werkelijkheid een mod of bibliotheek, dan laadt de server de plugin niet of crasht hij tijdens het opstarten. Elke sectie hieronder behandelt een van deze meldingen. Via „Meer informatie” in de Servergezondheid kom je direct bij de juiste terecht.

De volledige tekst vind je in de Console of onder Bestanden in logs/latest.log. Belangrijk zijn meestal de regels direct onder de melding, want daar staat de eigenlijke reden. Vervang pluginbestanden alleen als de server gestopt is. Maak vooraf onder Back-ups een back-up, vooral als ook wereld- of configuratiebestanden getroffen kunnen zijn.

„Error occurred while enabling …“: plugin start niet

Zo ziet de melding eruit:

Error occurred while enabling EssentialsSpawn v<Version> (Is it up to date?)
Error occurred while enabling WorldEditDisplay v<Version> (Is it up to date?)
Error occurred while disabling FurnitureLib v<Version>

Wat erachter zit: De server heeft de plugin geladen, maar bij het activeren is die gecrasht en uitgeschakeld. De server blijft draaien, maar de functies van deze plugin ontbreken volledig. Is het een beveiligings-, rechten- of loginplugin, dan ontbreekt ook die bescherming. Meestal past de plugin bij een andere server- of pluginversie dan de geïnstalleerde.

Zo los je het op:

  1. De foutregel noemt de plugin en de versie. Controleer op de pluginpagina welke uitgave jouw serverversie ondersteunt en werk bij terwijl de server is gestopt.
  2. Staat daaronder NoSuchMethodError (een methode ontbreekt) of NoClassDefFoundError (een programmaonderdeel ontbreekt), controleer dan de genoemde afhankelijkheden. EssentialsSpawn en EssentialsX moeten bijvoorbeeld bij elkaar passen; een verwijzing naar Bukkit kan de serverinterface betreffen.
  3. Bij een databasefout zoals Communications link failure controleer je de inloggegevens in de pluginconfiguratie en onder Databases.
  4. Start opnieuw op en controleer in de Console of de plugin succesvol wordt geactiveerd.

Goed om te weten: „Error occurred while disabling“ heeft betrekking op het uitschakelen. Treedt het op na een activeringsfout, controleer dan eerst die eerdere fout. Meer hierover: Plugin past niet bij de serverversie.

Pluginbestand wordt overgeslagen („Could not load 'plugins/…jar'“)

Zo ziet de melding eruit:

[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>'.

Wat erachter zit: De server kon het genoemde JAR-bestand niet als plugin laden en slaat het over. Een JAR (Java-archief) is het bestand waarin een plugin zit. De rest van de server kan blijven draaien, maar deze plugin ontbreekt volledig. De oorzaak is een beschadigd of ongeldig bestand of een JAR zonder leesbare plugin.yml, het beschrijvingsbestand waaraan de server een plugin herkent. Bij „Failed to run bootstrapper“ is een Paper-plugin al in de allereerste opstartfase mislukt.

Zo los je het op:

  1. Lees de regel onder de melding. Staat daar UnknownDependencyException, dan ontbreekt een andere plugin: installeer de plugin uit de vierkante haken.
  2. Stop anders de server en verwijder het betreffende JAR-bestand onder Bestanden in de map plugins.
  3. Download een uitgave van een betrouwbare bron die past bij jouw servertype (Paper, Spigot) en jouw Minecraft-versie, en upload die.
  4. Start de server opnieuw op.

Goed om te weten: Wijst het pad naar plugins/.paper-remapped, dan is dat een kopie die Paper voor Spigot-plugins aanmaakt. Vervang de originele JAR in plugins; de kopie maakt Paper bij de volgende start opnieuw aan. Over ontbrekende plugins: Plugin heeft een andere plugin nodig.

„Error initializing plugin …“: plugin mislukt bij het opstarten

Zo ziet de melding eruit:

[<Plugin>] Error initializing plugin '<Plugin>-<Version>.jar' in folder '<Folder>' (Is it up to date?)
java.lang.ExceptionInInitializerError
java.lang.ArrayIndexOutOfBoundsException: Index <Index> out of bounds for length <Length>

Wat erachter zit: De plugin is gecrasht terwijl de server hem aan het voorbereiden was, dus nog voordat hij überhaupt geactiveerd werd. Hij blijft uitgeschakeld, de commando's en functies ervan ontbreken, en de server draait zonder de plugin verder. Meestal past de pluginversie niet bij de serverversie. De foutregel eronder noemt vaak de versie of een ontbrekende klasse, dus een programmaonderdeel dat de plugin in de server verwacht.

Zo los je het op:

  1. Lees eerst de volgende regels in logs/latest.log onder Bestanden, vooral Caused by. Die noemen de eigenlijke oorzaak.
  2. Installeer de pluginversie voor jouw serverversie of werk de plugin bij. De pluginpagina noemt de ondersteunde versies.
  3. Bestaat er voor jouw serverversie nog geen passende uitgave, wacht dan op een update van de plugin of blijf onder Versie voorlopig op een ondersteunde versie.
  4. Helpt dat niet, verwijder de plugin dan om te testen en meld de fout bij de pluginauteur, met de volledige melding.
  5. Start de server opnieuw op.

Goed om te weten: Meldt Geyser „English locale not found“, dan is het bestand onvolledig. Download Geyser opnieuw van de officiële projectpagina. Meer hierover: Plugin past niet bij de serverversie.

Paper laadt een plugin niet („Could not load plugin … in folder“)

Zo ziet de melding eruit:

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

Wat erachter zit: Paper kon de genoemde plugin bij het opstarten niet laden. De plugin ontbreekt volledig, de rest van de server start. De reden staat in de regel direct eronder, meestal een kapotte plugin.yml, een ontbrekende afhankelijkheid of een build voor een andere serverversie. Een melding over „API version string“ betekent bijvoorbeeld dat de versie-aanduiding in de plugin.yml een indeling heeft die jouw serverversie niet begrijpt.

Zo los je het op:

  1. Lees de regel direct onder de melding.
  2. Download de plugin opnieuw, passend bij jouw serverversie.
  3. Stop de server, verwijder onder Bestanden de oude JAR uit plugins en upload de nieuwe.
  4. Start de server opnieuw op en controleer in de Console of de plugin nu laadt.

Goed om te weten: Noemt de regel eronder een ontbrekende plugin, dan ligt het probleem niet aan het bestand zelf. Dan helpt Plugin heeft een andere plugin nodig.

„Ambiguous plugin name …“: plugin is dubbel geïnstalleerd

Zo ziet de melding eruit:

[ModernPluginLoadingStrategy] Ambiguous plugin name 'ViaVersion' for files 'plugins/ViaVersion.jar' and 'plugins/ViaVersion-<Version>.jar' in 'plugins'
[ModernPluginLoadingStrategy] Ambiguous plugin name 'LPC' for files 'plugins/.paper-remapped/LPC-<Version>.jar' and 'plugins/.paper-remapped/LPC-<OtherVersion>.jar' in 'plugins/.paper-remapped'
[ModernPluginLoadingStrategy] Ambiguous plugin name 'Slimefun' for files 'plugins/.paper-remapped/<File>.jar' and 'plugins/.paper-remapped/<OtherFile>.jar' in 'plugins/.paper-remapped'

Wat erachter zit: Twee JAR-bestanden melden dezelfde interne pluginnaam, ook als hun bestandsnamen verschillen. Typisch zijn een oude en een nieuwe versie of twee varianten van dezelfde plugin. De server laadt er maar één van en draait mogelijk met de ongewenste versie.

Zo los je het op:

  1. Stop de server en open onder Bestanden de map plugins.
  2. Koppel de twee genoemde bestanden aan hun oorspronkelijke JAR's. plugins/.paper-remapped bevat door Paper aangepaste kopieën; verwijder de ongewenste originele JAR in plugins, niet alleen de kopie ervan.
  3. Houd precies één uitgave aan die bij jouw serverversie past. Verwijder geen plugin-datamappen.
  4. Start opnieuw op. Controleer de Console op de melding; het commando plugins toont de geladen plugins.

Goed om te weten: Werk plugins bij terwijl de server is gestopt en verwijder de oude JAR voordat je de nieuwe uploadt.

„does not contain a paper-plugin.yml or plugin.yml“: bestand is geen plugin

Zo ziet de melding eruit:

Directory 'plugins/<Mod>-fabric-<Version>.jar' does not contain a paper-plugin.yml or plugin.yml!
Directory 'plugins/<Mod>-neoforge-<Version>.jar' does not contain a paper-plugin.yml or plugin.yml!

Wat erachter zit: In de map plugins staat een JAR zonder plugin.yml en zonder paper-plugin.yml, dus zonder een van de beschrijvingsbestanden voor plugins. Meestal is het een mod voor Fabric, Forge of NeoForge; soms is het een Java-bibliotheek zoals een databasedriver. Paper en zijn varianten kunnen dit bestand niet als plugin laden en slaan het over. De server draait gewoon door, maar de gewenste functie ontbreekt.

Zo los je het op:

  1. Stop de server en verwijder het genoemde bestand onder Bestanden uit plugins/.
  2. Zoek op de projectpagina naar een uitgave voor Paper of Spigot, passend bij jouw Minecraft-versie.
  3. Bestaat er alleen een mod, controleer dan eerst of die überhaupt op de server thuishoort. Sommige mods werken uitsluitend in de game-client.
  4. Wil je overstappen naar een modserver, maak dan eerst onder Back-ups een back-up. Kies onder Software / loader wijzigen precies de loader die de mod vereist. Je Paper-plugins werken daar niet meer.
  5. Start opnieuw op en controleer de Console.

De softwarewissel wordt beschreven in Serversoftware en versie wijzigen in het paneel.

„zip file closed“: pluginbestand tijdens het draaien vervangen

Zo ziet de melding eruit:

java.lang.IllegalStateException: zip file closed
java.lang.IllegalStateException: The plugin classloader for <Plugin> has thrown a zip file error.
io.netty.handler.codec.EncoderException: java.lang.BootstrapMethodError: java.lang.IllegalStateException: zip file closed

Wat er achter zit: Een plugin-JAR, oftewel het programmabestand van een plugin, is overschreven of verwijderd terwijl de server draaide, of iemand heeft /reload gebruikt. De plugin probeert daarna programmaonderdelen uit zijn al gesloten bestand na te laden en geeft fouten. Functies van de plugin kunnen uitvallen tot de server opnieuw start. De melding kan ook verschijnen tijdens het stoppen.

Zo los je het op:

  1. Start de server volledig opnieuw op. Ontbreekt de betreffende plugin-JAR, herstel die dan eerst bij een gestopte server onder Bestanden.
  2. Vervang pluginbestanden in de toekomst alleen als de server gestopt is: stoppen, JAR onder Bestanden vervangen, starten.
  3. Gebruik /reload niet. Het commando laadt plugins tijdens het draaien opnieuw en veel plugins kunnen daar niet goed mee omgaan.
  4. Verschijnt de melding zonder dat je eerder een bestand hebt vervangen, lees dan de regels ervoor in de Console. Ze helpen je om de betreffende plugin te vinden.

Goed om te weten: Wijzigingen die de plugin tijdens de fout nog niet had opgeslagen, kunnen verloren gaan.

„duplicate plugin identifier“: twee pluginbestanden claimen dezelfde naam

Zo ziet de melding eruit:

[ModernPluginLoadingStrategy] Could not load plugin '<Plugin>.jar' in folder 'plugins'
[ModernPluginLoadingStrategy] Could not load plugin '<Plugin>.jar' in folder 'plugins/.paper-remapped'
java.lang.IllegalStateException: … attempted to add duplicate plugin identifier <Plugin> …

Wat erachter zit: Twee JAR-bestanden leveren dezelfde pluginnaam; Paper laadt er maar één van en weigert de andere. Meestal staan een oude en een nieuwe versie van een plugin naast elkaar in de map plugins. Of twee plugins claimen dezelfde naam: FastAsyncWorldEdit (kortweg FAWE) bevat WorldEdit al, dus een extra WorldEdit-JAR botst daarmee. De server blijft draaien, maar Paper waarschuwt uitdrukkelijk voor vervolgfouten.

Zo los je het op:

  1. Stop de server.
  2. Verwijder onder Bestanden in de map plugins de oudere of overbodige JAR. Bij FAWE is dat de aparte worldedit-bukkit-JAR.
  3. Noemt de melding plugins/.paper-remapped, controleer dan eerst de originele JAR-bestanden in de map plugins op dubbele versies.
  4. Start de server en controleer in de Console of de waarschuwing is verdwenen en de gewenste plugin laadt.

Goed om te weten: De vertrouwde WorldEdit-commando's werken gewoon door met FAWE. Hoe je ermee bouwt en fouten ongedaan maakt, lees je in WorldEdit: gebieden selecteren, bouwen en ongedaan maken.

ProtocolLib waarschuwt voor een plugin-reloader

Zo ziet de melding eruit:

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

Wat erachter zit: ProtocolLib grijpt diep in op de netwerkverbinding tussen server en spelers. Plugin-reloaders zijn plugins zoals PlugMan of PlugManX, die losse plugins tijdens het draaien laden of verwijderen. ProtocolLib ondersteunt dat niet en waarschuwt voor een inconsistente toestand. Dan kunnen ProtocolLib en alle plugins die erop voortbouwen foutief werken, bijvoorbeeld anticheat- of weergaveplugins.

Zo los je het op:

  1. Laad ProtocolLib en plugins die het gebruiken niet opnieuw met een plugin-reloader.
  2. Start na wijzigingen aan plugins de hele server volledig opnieuw op.
  3. Heb je de reloader niet nodig, verwijder hem dan onder Bestanden uit de map plugins, zodat hij niet per ongeluk gebruikt wordt.
  4. Heb je net een reloader gebruikt, start dan nu eenmaal helemaal opnieuw, zodat alles weer schoon geladen is.

Goed om te weten: De melding raadt het ingebouwde reload-commando aan. Ook dat laadt alle plugins tijdens het draaien opnieuw. De veiligste weg blijft een volledige herstart.

„Error loading plugin“: pluginbestand of pluginnaam ongeldig

Zo ziet de melding eruit:

[DirectoryProviderSource] Error preparing plugin context: Directory 'plugins/<Bestand>.jar' failed to update!
[DirectoryProviderSource] Error loading plugin: Directory 'plugins/<Bestand>.jar' failed to load!
[DirectoryProviderSource] Error loading plugin: Restricted name, cannot use 0x20 (space character) in a plugin name.

Wat erachter zit: Een bestand in de map plugins kan niet worden geladen; de plugin start niet. Vaak staat daar broncode (-sources.jar), documentatie (-javadoc.jar), een onvolledige download of een versie voor een ander platform. „Invalid plugin.yml“ en „only DEFLATED entries can have EXT descriptor“ wijzen ook op een ongeschikt bestand. „Restricted name“ met „0x20“ betekent dat de pluginnaam in plugin.yml een spatie bevat.

Zo los je het op:

  1. Stop de server en verwijder de genoemde JAR onder Bestanden uit plugins.
  2. Download de eigenlijke plugin-JAR van de officiële website, passend bij Paper of Spigot. Fabric- of Forge-mods horen niet in de map plugins.
  3. Komt de download als ZIP, pak hem dan op je eigen computer uit en upload de juiste JAR.
  4. Gebruik bij „Restricted name“ een door de ontwikkelaar gecorrigeerde versie. De opgegeven pluginnaam moet worden gecorrigeerd; een andere bestandsnaam lost deze fout niet op.
  5. Start opnieuw en controleer de Console.

Goed om te weten: Bewaar bestaande plugingegevens en configuraties wanneer je de JAR vervangt.

Java-bibliotheek staat als plugin in de map plugins

Zo ziet de melding eruit:

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

Wat erachter zit: Een Java-bibliotheek zoals ASM of Nashorn staat als apart bestand in de map plugins. Bibliotheken zijn bouwstenen die plugins intern gebruiken, ze zijn zelf geen plugins. Paper kan deze JAR niet als plugin laden en ook niet bijwerken en slaat hem over. De server draait door. Zulke bestanden belanden daar bijvoorbeeld als een archief met meerdere bestanden volledig is geüpload.

Zo los je het op:

  1. Verwijder de genoemde bibliotheek-JAR onder Bestanden uit plugins.
  2. Installeer alleen de eigenlijke plugin. Die brengt zijn bibliotheken zelf mee of laadt ze bij het starten na.
  3. Start de server opnieuw op en controleer de Console.
  4. Meldt een plugin daarna dat er iets ontbreekt, lees dan de installatiehandleiding ervan in plaats van handmatig bibliotheken toe te voegen.

Goed om te weten: Heeft een plugin echt een tweede plugin nodig, dan noemt hij die uitdrukkelijk. Hoe je dat herkent: Plugin heeft een andere plugin nodig.

Pluginbestand is leeg ("zip file is empty")

Zo ziet de melding eruit:

[DirectoryProviderSource] Error loading plugin: zip file is empty

Wat erachter zit: Een bestand in de map plugins is 0 byte groot of de upload ervan is afgebroken. Paper kan het niet openen en slaat het over. De plugin ontbreekt, de server draait door. Dit gebeurt vaak als de verbinding tijdens het uploaden wegvalt of als de download op je eigen computer al onvolledig was.

Zo los je het op:

  1. Open onder Bestanden de map plugins en zoek het bestand van 0 byte of met een opvallend kleine omvang.
  2. Verwijder het.
  3. Download de plugin opnieuw van een betrouwbare bron en upload hem terwijl de server gestopt is. Wacht tot de upload volledig is afgerond.
  4. Start de server opnieuw op en controleer in de Console of de plugin laadt.

Goed om te weten: Bij grote of veel bestanden is SFTP vaak betrouwbaarder dan de upload in de browser, zie Serverbestanden in het paneel bewerken en via SFTP verbinden.

PlaceholderAPI: uitbreidingsbestand bevat geen laadbare uitbreidingsklasse

Zo ziet de melding eruit:

[PlaceholderAPI] Failed to load expansion <Bestand>.jar, as it does not have a class which extends PlaceholderExpansion

Wat erachter zit: Een PlaceholderAPI-uitbreiding levert extra tekstplaceholders. Het JAR-bestand wordt onderzocht, maar de vereiste uitbreidingsklasse kan niet worden gevonden of geladen. Deze uitbreiding blijft uitgeschakeld. De server blijft draaien; de placeholders van deze uitbreiding leveren niet de bedoelde waarden.

Zo los je het op:

  1. Lees in de Console de meldingen vóór deze fout. Andere laadfouten kunnen een ontbrekende afhankelijkheid noemen.
  2. Controleer onder Bestanden of het genoemde bestand echt de gewenste PlaceholderAPI-uitbreiding is. Maak er een back-up van voordat je het vervangt.
  3. Download de uitbreiding die past bij de geïnstalleerde PlaceholderAPI-versie opnieuw van de officiële bron. Vervang het betreffende bestand en verwijder dubbele exemplaren van dezelfde uitbreiding.
  4. Start de server volledig opnieuw op. Controleer daarna de startmelding en een placeholder die door de uitbreiding wordt geleverd.

Staat je melding er niet bij?

Lees de hele melding in de Console of in logs/latest.log, ook de regels ervoor en erna. De naam van het pluginbestand vind je in de melding zelf of in de stacktrace, de lijst met ingesprongen at-regels: daar staat de JAR voor de dubbele schuine streep, bijvoorbeeld <Plugin>.jar//. Ook mapnamen zoals plugins/<Plugin>/ laten zien welke plugin het betreft. Maak een back-up voordat je bestanden vervangt. Kom je er niet uit, open dan een ticket en vermeld het tijdstip van de melding.