EssentialsX

EssentialsX

2M Downloads

Eseesentials Spawn Error

alanalbino2008 opened this issue · 6 comments

commented

Type of bug

Compatibility issue, Error in console

/ess dump all output

https://essentialsx.net/dump.html?id=5f4ddc1efb14490297eaa4dba9309749

Error log (if applicable)

No response

Bug description

When starting my server essenstials spawn always shows error in the console and it never loads essentials spawn

error:

[21:55:27 ERROR]: [ModernPluginLoadingStrategy] Could not load plugin 'EssentialsXSpawn.jar' in folder 'plugins'

org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/ess3/provider/LoggerProvider

at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:127) ~[purpur-1.20.4.jar:git-Purpur-2107]

at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:35) ~[purpur-1.20.4.jar:git-Purpur-2107]

at io.papermc.paper.plugin.entrypoint.strategy.modern.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:116) ~[purpur-1.20.4.jar:git-Purpur-2107]

at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:38) ~[purpur-1.20.4.jar:git-Purpur-2107]

at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36) ~[purpur-1.20.4.jar:git-Purpur-2107]

at org.bukkit.craftbukkit.v1_20_R3.CraftServer.loadPlugins(CraftServer.java:519) ~[purpur-1.20.4.jar:git-Purpur-2107]

at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:307) ~[purpur-1.20.4.jar:git-Purpur-2107]

at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1146) ~[purpur-1.20.4.jar:git-Purpur-2107]

at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:324) ~[purpur-1.20.4.jar:git-Purpur-2107]

at java.lang.Thread.run(Thread.java:833) ~[?:?]

Caused by: java.lang.NoClassDefFoundError: net/ess3/provider/LoggerProvider

at java.lang.Class.forName0(Native Method) ~[?:?]

at java.lang.Class.forName(Class.java:467) ~[?:?]

at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:78) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]

at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[purpur-1.20.4.jar:git-Purpur-2107]

... 9 more

Caused by: java.lang.ClassNotFoundException: net.ess3.provider.LoggerProvider

at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:197) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]

at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:164) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]

at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]

at java.lang.Class.forName0(Native Method) ~[?:?]

at java.lang.Class.forName(Class.java:467) ~[?:?]

at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:78) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]

at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[purpur-1.20.4.jar:git-Purpur-2107]

  1. I use purpur server I use geyser plugin as far as I know these issue started today when I installed 2 plugins IridiumSkyblock and Parkour

the console shows the above error and does not load essentialx spawn i already have essentialsxspawn.jar installed

Steps to reproduce

when starting the server

Expected behaviour

it should not show the error and plugin should be enabled

Actual behaviour

the plugin does not load

commented

Thanks for confirming this for me!

Here's the issue. Plugins that interact with other plugins can sometimes need to load in a certain order. For example, EssentialsX Spawn needs to load after EssentialsX. Plugins declare this need, called a "dependency," inside their files. So, EssentialsXSpawn tells the server "load me after EssentialsX."

Some plugins take an extra step and flip it around saying "act as if that other plugin depends on me." This is not the typical way to handle things. Two of your plugins do this:

  • IridiumSkyblock says "I need to load before Multiverse" and "I need to load after EssentialsX"
  • DeluxeHub says "I need to load before Essentials" and "I need to load after Multiverse"

This creates a dependency loop like this:
Multiverse-Core->IridiumSkyblock->Essentials->DeluxeHub->Multiverse-Core->IridiumSkyblock... etc.

The result is that the server sees a loop of four plugins that all want another of the four to load first.

Normally on modern Paper (and, derived from it, modern Purpur) the server will refuse to attempt loading in this situation. However, someone (you? your host? I dunno) has set a startup flag so that the server will use the old strategy. In the old strategy if the server couldn't finalize a load order it would just load things out of order. So, you end up with EssentialsX Spawn trying to load before EssentialsX even though EssentialsX Spawn had nothing to do with this loop.

The solution is for at least one DeluxeHub or IridiumSkyblock fixing this. I get the feeling DeluxeHub really doesn't need its loadbefore entry for EssentialsX. I suspect IridiumSkyblock doesn't needs its loadbefore either, but that's my second choice because worldgen stuff can be weird. GitHub issues could be opened with both these plugins.

For fun experimentation while waiting for those devs to resolve it, you can try this out:

  • Open up the DeluxeHub jar as a zip file (you can rename it to end in .zip and just crack it open, or use 7-zip without renaming).
  • Edit the plugin.yml file, removing the whole line that says loadbefore: [Essentials]
  • Save the file.
  • Start the server up and see if it works!
commented

thanks it worked by using the suggested method it helped me a lot thankyou!

commented

For some reason, EssentialsXSpawn isn't showing up in your plugin list, so any version info for that is missing. Please make sure that you are running the same version jars, and redownload them if you need to. Otherwise, please try to remove all plugins except EssentialsX (And official addons), Vault, and LuckPerms and try again. I'm unable to reproduce this behavior.
Since you are aware of the 2 plugins you added when this started, that would be a good place to start removing plugins and testing.

commented
commented

Hey there. This is gonna sound weird, but can you try removing Iridium Skyblock (just temporarily) and starting again? Then get a fresh /ess dump all and share it here! :)

commented