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.

Plugin crasht bij het inschakelen („Error occurred while enabling“)

Zo ziet de melding eruit:

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

Wat erachter zit: De server heeft de plugin geladen, maar bij het inschakelen crashte hij en schakelde hij zichzelf uit. De server draait gewoon door, maar de functionaliteit van deze plugin ontbreekt volledig: geen commando's, geen menu's, geen rechten, en in het spel verschijnt geen verdere foutmelding. Is het een beveiligings-, rechten- of loginplugin, dan ontbreekt die bescherming totdat je de fout oplost. Meestal past de plugin bij een andere server- of pluginversie dan de geïnstalleerde.

Zo los je het op:

  1. De foutregel noemt plugin en versie. Controleer op de pluginpagina of er een uitgave voor jouw serverversie is, en update de plugin.
  2. Staat eronder NoSuchMethodError of NoClassDefFoundError met de naam van een andere plugin, dan passen deze twee pluginversies niet bij elkaar. Breng een van beide op een passende versie.
  3. Staat eronder een databasefout zoals Communications link failure, dan kan de plugin zijn database niet bereiken. Controleer de inloggegevens in de configuratie en onder Databases.
  4. Start de server opnieuw op en controleer de Console.

Goed om te weten: Dezelfde melding met „disabling“ bij het stoppen is vaak slechts een gevolg van de opstartfout. Meer over versieconflicten: 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.

Plugin crasht al bij het initialiseren („Is it up to date?“)

Zo ziet de melding eruit:

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

Wat erachter zit: De plugin is gecrasht terwijl de server hem voorbereidde, dus nog voordat hij werd ingeschakeld. Hij blijft uitgeschakeld, zijn commando's en functies ontbreken en de server draait zonder hem verder. Bijna altijd 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. Installeer de pluginversie die bedoeld is voor jouw serverversie, of update de plugin. De pluginpagina noemt de ondersteunde versies.
  2. Is 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.
  3. Helpt dat niet, verwijder de plugin dan als test en meld de fout bij de pluginauteur, met de volledige melding.
  4. 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.

Plugin dubbel geïnstalleerd („Ambiguous plugin name“)

Zo ziet de melding eruit:

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

Wat erachter zit: Twee JAR-bestanden in de map plugins hebben dezelfde pluginnaam. De server laadt er maar één van, en je weet niet zeker welke. Typisch is dat er een nieuwe versie is geüpload zonder de oude te verwijderen. Of twee plugins bevatten hetzelfde, zoals FastAsyncWorldEdit, dat WorldEdit al meebrengt. De server draait, maar mogelijk met de oude versie.

Zo los je het op:

  1. De melding noemt beide bestanden. Stop de server en open onder Bestanden de map plugins.
  2. Verwijder de dubbele of oudere JAR. Behoud de versie die bij jouw serverversie past.
  3. Bij WorldEdit en FastAsyncWorldEdit behoud je maar één van de twee.
  4. Start de server opnieuw op. Het commando plugins in de Console toont welke plugins geladen zijn.

Goed om te weten: Download of verwijder bij het updaten altijd eerst de oude JAR voordat je de nieuwe uploadt. Bestandsnamen met een versienummer maken dubbele plugins makkelijk over het hoofd te zien.

Mod in plaats van plugin in de map plugins

Zo ziet de melding eruit:

[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!

Wat erachter zit: In de map plugins staat een JAR zonder plugin.yml, dus zonder het bestand waaraan Paper een plugin herkent. Meestal is het een mod voor Fabric of Forge; de bestandsnaam bevat dan vaak „fabric“ of „forge“. Soms is het ook een Java-bibliotheek zoals een databasedriver. Paper kan zoiets niet laden en slaat het bestand over. De server draait door, maar de gehoopte functie ontbreekt.

Zo los je het op:

  1. Verwijder het genoemde bestand onder Bestanden uit de map plugins.
  2. Zoek op de projectpagina naar een pluginuitgave voor Paper of Spigot. Veel projecten bieden beide aan.
  3. Is er alleen een mod, dan heb je een modserver nodig. Onder Software / loader wijzigen kies je Fabric, Forge of NeoForge. Je Paper-plugins werken daar dan niet meer.
  4. Start de server opnieuw op.

Goed om te weten: Sommige mods werken sowieso alleen in de spelclient en horen helemaal niet op de server. Het wisselen van software beschrijft Serversoftware en versie wijzigen in het paneel.

Pluginbestand tijdens het draaien vervangen ("zip file closed")

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.

Wat erachter zit: Een plugin-JAR is overschreven of verwijderd terwijl de server draaide, of iemand heeft /reload gebruikt. De plugin wil daarna onderdelen uit zijn bestand nalaaden die de server al heeft gesloten en geeft fouten. Dit treft vooral plugins die constant op de achtergrond werken, zoals LuckPerms. Functies van de plugin kunnen uitvallen totdat de server opnieuw start.

Zo los je het op:

  1. Start de server volledig opnieuw op. Daarmee is de melding meestal verholpen.
  2. Vervang pluginbestanden voortaan alleen als de server gestopt is: stoppen, de JAR vervangen onder Bestanden, starten.
  3. Gebruik /reload niet. Het commando laadt alle plugins tijdens het draaien opnieuw en veel plugins kunnen daar niet mee omgaan.
  4. Komt de melding zonder dat je eerst een bestand hebt vervangen, lees dan de regels ervoor in de Console. Die laten zien welke plugin het betreft.

Goed om te weten: Na een schone herstart is de plugin weer volledig beschikbaar. Gegevens gaan door deze melding alleen niet verloren, maar niet opgeslagen wijzigingen van de plugin uit die periode mogelijk wel.

Twee pluginbestanden met dezelfde naam ("duplicate plugin identifier")

Zo ziet de melding eruit:

[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 …

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 (kort FAWE) bevat WorldEdit al, een extra WorldEdit-JAR botst daarmee. De server draait door, 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. Start de server en controleer met het commando plugins in de Console dat de plugin maar één keer geladen is.

Goed om te weten: De vertrouwde WorldEdit-commando's blijven met FAWE werken. 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.

Bestand in de map plugins is geen werkende plugin

Zo ziet de melding eruit:

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

Wat erachter zit: Een bestand in de map plugins kan niet als plugin geladen worden, dus de plugin start niet. Vaak is het de broncode in plaats van de plugin (de bestandsnaam eindigt op -sources.jar), de documentatie (-javadoc.jar), een afgebroken download, een naar .jar hernoemd ZIP-bestand of een plugin voor een ander platform. Ook "Invalid plugin.yml" of "only DEFLATED entries can have EXT descriptor" horen bij deze groep: het bestand is niet opgebouwd zoals een plugin moet zijn.

Zo los je het op:

  1. Stop de server en verwijder het genoemde bestand onder Bestanden uit plugins.
  2. Download de plugin opnieuw van de officiële website. Neem de eigenlijke .jar, niet -sources.jar of -javadoc.jar.
  3. Komt de plugin als ZIP-archief, pak het dan uit op je eigen computer en upload alleen de JAR die erin zit.
  4. Zorg dat het bestand bedoeld is voor Paper of Spigot en start de server opnieuw op.

Goed om te weten: Een uitvoering voor een ander platform herken je vaak aan de bestandsnaam of aan de downloadpagina, die meerdere varianten ter keuze aanbiedt.

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.

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.