dmulloy2 / ProtocolLib

Provides read and write access to the Minecraft protocol with Bukkit.
GNU General Public License v2.0
1.02k stars 260 forks source link

ProtocolLib and Lib's Disguises disabling themselves on Start Up #3104

Open CaptRexCT7567 opened 1 month ago

CaptRexCT7567 commented 1 month ago

Hi, sorry if I don't explain myself well, this is my first post like this.

Two weeks ago I took a break from my server as I was going on vacation, and when I came back I found that ProtocolLib and Lib's Disguises are no longer functional

Server Specs: Minehut, 1.17.1, paper

Upon starting it again the Libs Disguises files don't contain any data and restoring to old backups does not work

I tried updating both plugins and it did not work, Minehut had a separate issue where my older backups were for some reason irretrievable, whenever I try to restore to old backups it just says "could not validate backup" Minehut just did a series of large updates so I think this is why I'm unable to simply restore to a previous backup

As Lib's Disguises is dependent on ProtocolLib, I looked through the logs and found that ProtocolLib is being disabled upon startup and then due to it being disabled Lib's Disguises is disabling itself as well, in the logs it told me to create a ticket here so that is what I am doing.

If there is anything that you can do to help I would truly appreciate it, I lost over 300 disguises.

Thank you, CaptRexCT7567

Here is the transcript of the relevant logs for both ProtocolLib and Lib's Disguises If you need any more of the logs feel free to let me know I can send the whole transcript.

ProtocolLib Error

[21:16:45] [Server thread/INFO]: [ProtocolLib] Loading ProtocolLib v4.8.0 [21:16:46] [Server thread/ERROR]: [ProtocolLib] INTERNAL ERROR: Cannot load ProtocolLib. If this problem hasn't already been reported, please open a ticket at https://github.com/dmulloy2/ProtocolLib/issues with the following data: Stack Trace: java.lang.ExceptionInInitializerError at ProtocolLib.jar//com.comphenix.protocol.injector.netty.ProtocolInjector.(ProtocolInjector.java:69) at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterManager.(PacketFilterManager.java:202) at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterBuilder.buildInternal(PacketFilterBuilder.java:185) at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterBuilder.build(PacketFilterBuilder.java:177) at ProtocolLib.jar//com.comphenix.protocol.ProtocolLib.onLoad(ProtocolLib.java:203) at org.bukkit.craftbukkit.v1_17_R1.CraftServer.loadPlugins(CraftServer.java:425) at net.minecraft.server.dedicated.DedicatedServer.init(DedicatedServer.java:287) at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1220) at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.UnsupportedOperationException: Cannot define class using reflection: Unable to make protected java.lang.Package java.lang.ClassLoader.getPackage(java.lang.String) accessible: module java.base does not "opens java.lang" to unnamed module @7e5e95f4 at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection$Dispatcher$Initializable$Unavailable.defineClass(ClassInjector.java:471) at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection.injectRaw(ClassInjector.java:283) at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.loading.ClassInjector$AbstractBase.inject(ClassInjector.java:117) at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.loading.ClassLoadingStrategy$Default$InjectionDispatcher.load(ClassLoadingStrategy.java:243) at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.loading.ClassLoadingStrategy$Default.load(ClassLoadingStrategy.java:150) at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.TypeResolutionStrategy$Passive.initialize(TypeResolutionStrategy.java:101) at ProtocolLib.jar//com.comphenix.net.bytebuddy.dynamic.DynamicType$Default$Unloaded.load(DynamicType.java:6161) at ProtocolLib.jar//com.comphenix.protocol.injector.server.TemporaryPlayerFactory.setupProxyPlayerConstructor(TemporaryPlayerFactory.java:187) at ProtocolLib.jar//com.comphenix.protocol.injector.server.TemporaryPlayerFactory.(TemporaryPlayerFactory.java:51) ... 10 more Dump: Parameters: [NULL] Sender: com.comphenix.protocol.ProtocolLib@2c61d3f[ statistics= backgroundCompiler= packetTask=-1 tickCounter=0 unhookTask=com.comphenix.protocol.injector.DelayedSingleTask@30375bff configExpectedMod=-1 updater=com.comphenix.protocol.updater.SpigotUpdater@22a8723 redirectHandler= commandProtocol= commandPacket= commandFilter= packetLogging= skipDisable=false isEnabled=false loader=org.bukkit.plugin.java.JavaPluginLoader@461af11f server=CraftServer{serverName=Paper,serverVersion=git-Paper-411,minecraftVersion=1.17.1} file=plugins/ProtocolLib.jar description=org.bukkit.plugin.PluginDescriptionFile@5e8c3448 dataFolder=plugins/ProtocolLib classLoader=PluginClassLoader{plugin=ProtocolLib v4.8.0, pluginEnabled=false, url=plugins/ProtocolLib.jar} naggable=true newConfig=YamlConfiguration[path='', root='YamlConfiguration'] configFile=plugins/ProtocolLib/config.yml logger=com.destroystokyo.paper.utils.PaperPluginLogger@19ac0e8d ] Version: ProtocolLib v4.8.0 Java Version: 21.0.3 Server: git-Paper-411 (MC: 1.17.1)

[21:16:47] [Server thread/ERROR]: ProtocolLib does not support plugin reloaders! [21:16:47] [Server thread/ERROR]: Please use the built-in reload command!

[21:16:47] [Server thread/INFO]: [ProtocolLib] Disabling ProtocolLib v4.8.0

LibsDisguises Error

[LibsDisguises] Config 'TallSelfDisguises' is set to 'false', LD will hide oversized disguises from self disguise. https://www.spigotmc.org/wiki/lib-s-disguises-faq/#tall-disguises-self-disguises [21:16:55] [Server thread/ERROR]: Error occurred while enabling LibsDisguises v10.0.44 (Is it up to date?) java.lang.NoClassDefFoundError: com/comphenix/protocol/events/PacketListener at me.libraryaddict.disguise.LibsDisguises.onEnable(LibsDisguises.java:287) ~[LibsDisguises-10.0.44-Free.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[patched_1.17.1.jar:git-Paper-411] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.17.1.jar:git-Paper-411] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.17.1.jar:git-Paper-411] at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugin(CraftServer.java:561) ~[patched_1.17.1.jar:git-Paper-411] at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugins(CraftServer.java:475) ~[patched_1.17.1.jar:git-Paper-411] at net.minecraft.server.MinecraftServer.loadWorld(MinecraftServer.java:733) ~[patched_1.17.1.jar:git-Paper-411] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:317) ~[patched_1.17.1.jar:git-Paper-411] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1220) ~[patched_1.17.1.jar:git-Paper-411] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-411] at java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.ClassNotFoundException: com.comphenix.protocol.events.PacketListener at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:151) ~[patched_1.17.1.jar:git-Paper-411] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[patched_1.17.1.jar:git-Paper-411] at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?] ... 11 more [21:16:55] [Server thread/INFO]: [LibsDisguises] Disabling LibsDisguises v10.0.44

Ingrim4 commented 1 month ago

The error message clearly indicates that plugin reloaders should not be used with ProtocolLib. It seems you used a plugin reloader and encountered the following error:

[21:16:47] [Server thread/ERROR]: ******************************************************
[21:16:47] [Server thread/ERROR]: *** ProtocolLib does not support plugin reloaders! ***
[21:16:47] [Server thread/ERROR]: *** Please use the built-in reload command! ***
[21:16:47] [Server thread/ERROR]: ******************************************************

If this is the case, please close the issue, as this behavior will not be addressed.

CaptRexCT7567 commented 1 month ago

I'm not sure what a plugin reloader is and havent to my knowledge ever installed one, Minehut recently did a massive update to their servers, could they have installed one of their own or something like that? I could post my plugin list if that would help!

Thank you

Ingrim4 commented 1 month ago

Could you please provide a list of the plugins you are currently using? Additionally, does this error occur immediately upon restarting the server from scratch, or does it happen after executing a specific command or action in your server hosting panel? Any additional details you can provide would be helpful in diagnosing the issue.

CaptRexCT7567 commented 1 month ago

It happens immediately on restart or starting from hibernation

I have not added or removed any plugins in the last six months, this issue started 2 weeks ago Minehut just did a parent company data transfer and all of my old backups are now invalid and protocollib and libsdisguises are now broken, they said all they can do is restore to the most recent backup which still has this issue.

I did find today that after they transferred the data to the new parent host, the version of Java for the server was automatically updated from Java 16 (which is what 1.17.1 needs) to 21.0.3 which is too new. Is it possible that the only issue is the wrong version of Java?

Thank you so much!

plugins:

craftenhance gsit itembridge itemeditor libsdisguises minehutanalytics multiversecore mythicmobs protocollib skrayfall skript terraformgenerator vault viaversion worldedit worldguard

Ingrim4 commented 1 month ago

Could be related to the Java version but is highly unlikely. Have you already tried the latest dev build of ProtocolLib maybe that fixes it: https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/

CaptRexCT7567 commented 1 month ago

I will try that and let you know, thank you