Paper 1.20.5/6 Failed
SonnenPingu opened this issue · 31 comments
[08:49:56] [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.RuntimeException: Failed to find NMS class: network.ProtocolInfo$a
at ProtocolLib(1).jar//com.comphenix.protocol.utility.MinecraftReflection.lambda$getMinecraftClass$2(MinecraftReflection.java:1383)
at java.base/java.util.Optional.orElseThrow(Unknown Source)
at ProtocolLib(1).jar//com.comphenix.protocol.utility.MinecraftReflection.getMinecraftClass(MinecraftReflection.java:1383)
at ProtocolLib(1).jar//com.comphenix.protocol.injector.packet.PacketRegistry.createRegisterV1_20_5(PacketRegistry.java:344)
at ProtocolLib(1).jar//com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:498)
at ProtocolLib(1).jar//com.comphenix.protocol.injector.packet.PacketRegistry.getClientPacketTypes(PacketRegistry.java:538)
at ProtocolLib(1).jar//com.comphenix.protocol.injector.PacketFilterManager.(PacketFilterManager.java:120)
at ProtocolLib(1).jar//com.comphenix.protocol.injector.PacketFilterBuilder.build(PacketFilterBuilder.java:121)
at ProtocolLib(1).jar//com.comphenix.protocol.ProtocolLib.onLoad(ProtocolLib.java:183)
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:59)
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:18)
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39)
at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36)
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:508)
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:287)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1140)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326)
at java.base/java.lang.Thread.run(Unknown Source)
Dump:
Parameters:
[NULL]
Sender:
com.comphenix.protocol.ProtocolLib@42b30cfe[
statistics=
packetTask=
tickCounter=0
configExpectedMod=-1
updater=com.comphenix.protocol.updater.SpigotUpdater@56e53e50
redirectHandler=
scheduler=com.comphenix.protocol.scheduler.DefaultScheduler@ceb0c8e
commandProtocol=
commandPacket=
commandFilter=
packetLogging=
skipDisable=false
isEnabled=false
loader=io.papermc.paper.plugin.manager.DummyBukkitPluginLoader@2a764c61
server=CraftServer{serverName=Paper,serverVersion=git-Paper-6,minecraftVersion=1.20.5}
file=plugins/.paper-remapped/ProtocolLib(1).jar
description=org.bukkit.plugin.PluginDescriptionFile@10c8f01e
pluginMeta=org.bukkit.plugin.PluginDescriptionFile@10c8f01e
dataFolder=plugins/ProtocolLib
classLoader=PluginClassLoader{plugin=ProtocolLib v5.2.1-SNAPSHOT-686, pluginEnabled=false, url=plugins/.paper-remapped/ProtocolLib(1).jar}
naggable=true
newConfig=YamlConfiguration[path='', root='YamlConfiguration']
configFile=plugins/ProtocolLib/config.yml
logger=com.destroystokyo.paper.utils.PaperPluginLogger@53a5cd2f
lifecycleEventManager=io.papermc.paper.plugin.lifecycle.event.PaperLifecycleEventManager@487a2487
allowsLifecycleRegistration=true
]
Version:
ProtocolLib v5.2.1-SNAPSHOT-686
Java Version:
21.0.3
Server:
git-Paper-6 (MC: 1.20.5)
See #2912
I don't have that issue here.. (Java 21, Paper from Paper side...)
I don't have that issue here.. (Java 21, Paper from Paper side...)
Oh, well, that's OK then. 😎
The problem is that the remapped version is now using Mojang mappings, instead of the Spigot ones. ProtocolLib uses Spigot mappings for compiling, so that's the problem.
The problem is that the remapped version is now using Mojang mappings, instead of the Spigot ones. ProtocolLib uses Spigot mappings for compiling, so that's the problem.
The problem is: it needs to use BOTH mappings, now...
Only Paper/Purpur changed the mappings, spigot did not.
Developers already remap their NMS plugins since Mojang released the deobfuscation maps, anyway it's a good idea to stop using Spigot mappings but I would have waited Spigot itself to change before doing so, since Paper is a fork of Spigot but seems it's slowly detaching from the original project.
Another solution is to let people download a Paper-mojang-mapped jar and decide to use it instead of applying that to the whole set of future builds.
Would be a good opportunity to let Paper team change their mind about this hard-fork decision which is causing only issues to all NMS developers.
I think Paper team should just give developers more time to think about this “breaking change”, like applying this after 1.21 instead of now.
我通过命令编译了 Paper,并成功加载并启用了 ProtocolLib。但是,似乎并非 ProtocolLib 的所有功能都可用。
./gradlew createReobfBundlerJar
可以提供一份命令编译的Paper核心吗?我似乎无法在我的电脑上编译它。
How can I send it to u? By email?
Yes! My email is: [email protected]
Thanks!
I think it's great from Paper. Let the developers get used to it.
Yes, it 'might' be some kind of an advantage in the future, as updates won't break NMS anymore (or less...).
But IF it breaks, I think it gets even more complicated...
I added the new mapping and the old to my plugin's NMS parts... we'll see how it will behave :)
I think it's great from Paper. Let the developers get used to it.
Yes, it 'might' be some kind of an advantage in the future, as updates won't break NMS anymore (or less...). But IF it breaks, I think it gets even more complicated...
I added the new mapping and the old to my plugin's NMS parts... we'll see how it will behave :)
I rewrite the NMS part of my plugins to make them compatible for 1.20.2-.4, I’m afraid that I need to change a lot again in the future. God, that will drive me crazy.
Then trick is to avoid using reflection.
Only rely on pure NMS and use modules to separate implementations and you're good to go.
The main issue with ProtocolLib is that is uses reflection.
See #2912
Seems to partially work now.
But there are still some issues with packets creation !! --> #2669 (#2669 (comment))
(and with wrong names in UNobfuscated Paper)
Me too:
[10:10:18] [Server thread/WARN]: [ProtocolLib] Version (MC: 1.20.5) has not yet been tested! Proceed with caution. -- 164 | [10:10:19] [Server thread/ERROR]: [ProtocolLib] Assuming package version: v1_20_R1 165 | [10:10:19] [Server thread/ERROR]: [ProtocolLib] INTERNAL ERROR: Cannot load ProtocolLib. 166 | If this problem hasn't already been reported, please open a ticket 167 | at https://github.com/dmulloy2/ProtocolLib/issues with the following data: 168 | Stack Trace: 169 | java.lang.IllegalArgumentException: Unable to find a field that matches {modifiers=[required: 10000, banned: 1000], type={ type input instanceof interface java.util.Map }} 170 | at ProtocolLib (3).jar//com.comphenix.protocol.reflect.FuzzyReflection.getField(FuzzyReflection.java:352) 171 | at ProtocolLib (3).jar//com.comphenix.protocol.injector.packet.PacketRegistry.createNewRegister(PacketRegistry.java:183) 172 | at ProtocolLib (3).jar//com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:334) 173 | at ProtocolLib (3).jar//com.comphenix.protocol.injector.packet.PacketRegistry.getClientPacketTypes(PacketRegistry.java:369) 174 | at ProtocolLib (3).jar//com.comphenix.protocol.injector.PacketFilterManager.I can't reproduce it, but I have an error to :
[12:00:45 WARN]: [ProtocolLib] Version (MC: 1.20.5) has not yet been tested! Proceed with caution.
[12:00:46 ERROR]: [ProtocolLib] Assuming package version: v1_20_R1
[12:00:46 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.IllegalArgumentException: Unable to find a field that matches {modifiers=[required: 10000, banned: 1000], type={ type input instanceof interface java.util.Map }}
at ProtocolLib.jar//com.comphenix.protocol.reflect.FuzzyReflection.getField(FuzzyReflection.java:352)
at ProtocolLib.jar//com.comphenix.protocol.injector.packet.PacketRegistry.createNewRegister(PacketRegistry.java:183)
at ProtocolLib.jar//com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:334)
at ProtocolLib.jar//com.comphenix.protocol.injector.packet.PacketRegistry.getClientPacketTypes(PacketRegistry.java:369)
at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterManager.(PacketFilterManager.java:120)
at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterBuilder.build(PacketFilterBuilder.java:121)
at ProtocolLib.jar//com.comphenix.protocol.ProtocolLib.onLoad(ProtocolLib.java:183)
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:59)
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:18)
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39)
at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36)
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:508)
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:287)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1140)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326)
at java.base/java.lang.Thread.run(Thread.java:1583)
Dump:
Parameters:
[NULL]
Sender:
com.comphenix.protocol.ProtocolLib@5db99512[
statistics=
packetTask=
tickCounter=0
configExpectedMod=-1
updater=com.comphenix.protocol.updater.SpigotUpdater@7b9e2cc5
redirectHandler=
scheduler=com.comphenix.protocol.scheduler.DefaultScheduler@6a1e27a1
commandProtocol=
commandPacket=
commandFilter=
packetLogging=
skipDisable=false
isEnabled=false
loader=io.papermc.paper.plugin.manager.DummyBukkitPluginLoader@51b1320b
server=CraftServer{serverName=Paper,serverVersion=git-Paper-6,minecraftVersion=1.20.5}
file=plugins.paper-remapped\ProtocolLib.jar
description=org.bukkit.plugin.PluginDescriptionFile@4cded7d0
pluginMeta=org.bukkit.plugin.PluginDescriptionFile@4cded7d0
dataFolder=plugins\ProtocolLib
classLoader=PluginClassLoader{plugin=ProtocolLib v5.2.0, pluginEnabled=false, url=plugins.paper-remapped\ProtocolLib.jar}
naggable=true
newConfig=YamlConfiguration[path='', root='YamlConfiguration']
configFile=plugins\ProtocolLib\config.yml
logger=com.destroystokyo.paper.utils.PaperPluginLogger@2c5373b0
lifecycleEventManager=io.papermc.paper.plugin.lifecycle.event.PaperLifecycleEventManager@86c56db
allowsLifecycleRegistration=true
]
Version:
ProtocolLib v5.2.0
Java Version:
21.0.2
Server:
git-Paper-6 (MC: 1.20.5)
Same issue on my server, can reproduce.
[21:48:06 WARN]: [ProtocolLib] Version (MC: 1.20.6) has not yet been tested! Proceed with caution.
[21:48:07 ERROR]: [ProtocolLib] Assuming package version: v1_20_R1
[21:48:07 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.RuntimeException: Failed to find NMS class: network.ProtocolInfo$a
at ProtocolLib.jar//com.comphenix.protocol.utility.MinecraftReflection.lambda$getMinecraftClass$2(MinecraftReflection.java:1383)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at ProtocolLib.jar//com.comphenix.protocol.utility.MinecraftReflection.getMinecraftClass(MinecraftReflection.java:1383)
at ProtocolLib.jar//com.comphenix.protocol.injector.packet.PacketRegistry.createRegisterV1_20_5(PacketRegistry.java:344)
at ProtocolLib.jar//com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:498)
at ProtocolLib.jar//com.comphenix.protocol.injector.packet.PacketRegistry.getClientPacketTypes(PacketRegistry.java:538)
at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterManager.<init>(PacketFilterManager.java:120)
at ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterBuilder.build(PacketFilterBuilder.java:121)
at ProtocolLib.jar//com.comphenix.protocol.ProtocolLib.onLoad(ProtocolLib.java:183)
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:59)
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:18)
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39)
at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36)
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:508)
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:287)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1140)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326)
at java.base/java.lang.Thread.run(Thread.java:1570)
Dump:
Parameters:
[NULL]
Sender:
com.comphenix.protocol.ProtocolLib@30a5f431[
statistics=<null>
packetTask=<null>
tickCounter=0
configExpectedMod=-1
updater=com.comphenix.protocol.updater.SpigotUpdater@3f5a8f36
redirectHandler=<null>
scheduler=com.comphenix.protocol.scheduler.DefaultScheduler@2041e090
commandProtocol=<null>
commandPacket=<null>
commandFilter=<null>
packetLogging=<null>
skipDisable=false
isEnabled=false
loader=io.papermc.paper.plugin.manager.DummyBukkitPluginLoader@7b671f2a
server=CraftServer{serverName=Paper,serverVersion=git-Paper-27,minecraftVersion=1.20.6}
file=plugins\.paper-remapped\ProtocolLib.jar
description=org.bukkit.plugin.PluginDescriptionFile@50068406
pluginMeta=org.bukkit.plugin.PluginDescriptionFile@50068406
dataFolder=plugins\ProtocolLib
classLoader=PluginClassLoader{plugin=ProtocolLib v5.2.1-SNAPSHOT, pluginEnabled=false, url=plugins\.paper-remapped\ProtocolLib.jar}
naggable=true
newConfig=YamlConfiguration[path='', root='YamlConfiguration']
configFile=plugins\ProtocolLib\config.yml
logger=com.destroystokyo.paper.utils.PaperPluginLogger@4b2aa77f
lifecycleEventManager=io.papermc.paper.plugin.lifecycle.event.PaperLifecycleEventManager@17e8fba1
allowsLifecycleRegistration=true
]
Version:
ProtocolLib v5.2.1-SNAPSHOT
Java Version:
22.0.1
Server:
git-Paper-27 (MC: 1.20.6)
Same error in Paper 1.20.6, @SonnenPingu maybe you could rename the ticket by 1.20.5/6?
I confirm that this still happens on git-Paper-32 (MC: 1.20.6).
More info #2904
Same error in Paper 1.20.6, @SonnenPingu maybe you could rename the ticket by 1.20.5/6?
Of course. I hope soon that it will be adjusted otherwise I have a bedrock player problem
Paper is NOT obfuscated anymore...
ProtocolLib does not yet support UNobfuscated servers yet... :/
(same issue with a lot other plugins , too !!)
see here: https://forums.papermc.io/threads/important-dev-psa-future-removal-of-cb-package-relocation.1106/