Eseesentials Spawn Error
alanalbino2008 opened this issue · 6 comments
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]
- 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
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 saysloadbefore: [Essentials]
- Save the file.
- Start the server up and see if it works!
thanks it worked by using the suggested method it helped me a lot thankyou!
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.
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! :)