ProtocolLib

3M Downloads

Exception being thrown with the plugin FastLogin

deiphiz opened this issue ยท 2 comments

commented

Describe the bug
Exception being thrown on login when the plugin FastLogin installed, which uses ProtocolLib as a dependency. I've been having issues with players not being able to change their names or skins on Paper with this plugin (the plugin is supposed to apply name changes and skins upon receiving authentication packet from Mojang) and I think this might be the root cause. I attempted to get support from the plugin dev but they informed that this is a ProtocolLib issue.

To Reproduce
Steps to reproduce the behavior:

  1. Have FastLogin, an authentication plugin, and ProtocolLib installed on a Paper or Tuinity server.
  2. Log into server.
  3. See error:
[07:36:57] [FastLogin Pool Thread #0/INFO]: [FastLogin] Handling player deiphiz
[07:36:57] [FastLogin Pool Thread #0/INFO]: [FastLogin] Requesting premium login for registered player: deiphiz
[07:36:59] [FastLogin Pool Thread #1/INFO]: [FastLogin] GameProfile deiphiz has a verified premium account
[07:36:59] [User Authenticator #1/INFO]: UUID of player deiphiz is a0a13113-19ce-4544-9ba2-7641c481d518
[07:36:59] [Server thread/WARN]: [ProtocolLib] [Debug] Exception registering converter
java.lang.IllegalArgumentException: Unable to find a method that matches {modifiers=[required: 0, banned: 0], params=[{Type: class name of net\.minecraft\.(\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*\.)+\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*, Index: null}, {Type: Exact class java.lang.String, Index: 0}, {Type: Exact class java.lang.String, Index: 1}, {Type: Exact class java.lang.String, Index: 4}], paramCount=5}
	at com.comphenix.protocol.reflect.FuzzyReflection.getMethod(FuzzyReflection.java:174) ~[?:?]
	at com.comphenix.protocol.utility.MinecraftReflection.getWorldTypeClass(MinecraftReflection.java:1173) ~[?:?]
	at com.comphenix.protocol.wrappers.BukkitConverters.addConverter(BukkitConverters.java:1104) ~[?:?]
	at com.comphenix.protocol.wrappers.BukkitConverters.getConvertersForGeneric(BukkitConverters.java:1083) ~[?:?]
	at com.comphenix.protocol.wrappers.BukkitConverters.getUnwrappers(BukkitConverters.java:1124) ~[?:?]
	at com.comphenix.protocol.injector.PacketConstructor.<init>(PacketConstructor.java:62) ~[?:?]
	at com.comphenix.protocol.injector.PacketConstructor.<clinit>(PacketConstructor.java:45) ~[?:?]
	at com.comphenix.protocol.injector.BukkitUnwrapper.unwrapItem(BukkitUnwrapper.java:100) ~[?:?]
	at com.comphenix.protocol.utility.MinecraftFields.getNetworkManager(MinecraftFields.java:29) ~[?:?]
	at com.comphenix.protocol.injector.netty.InjectionFactory.fromPlayer(InjectionFactory.java:84) ~[?:?]
	at com.comphenix.protocol.injector.netty.ProtocolInjector$4.updatePlayer(ProtocolInjector.java:364) ~[?:?]
	at com.comphenix.protocol.injector.PacketFilterManager.onPlayerLogin(PacketFilterManager.java:920) ~[?:?]
	at com.comphenix.protocol.injector.PacketFilterManager.access$200(PacketFilterManager.java:71) ~[?:?]
	at com.comphenix.protocol.injector.PacketFilterManager$3.onPlayerLogin(PacketFilterManager.java:893) ~[?:?]
	at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37) ~[patched_1.16.1.jar:git-Paper-115]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.1.jar:git-Paper-115]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.1.jar:git-Paper-115]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.PlayerList.attemptLogin(PlayerList.java:663) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.LoginListener.c(LoginListener.java:154) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.LoginListener.tick(LoginListener.java:65) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.NetworkManager.a(NetworkManager.java:369) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.ServerConnection.c(ServerConnection.java:142) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1378) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:377) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1212) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:1000) ~[patched_1.16.1.jar:git-Paper-115]
	at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-115]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
[07:36:59] [Server thread/INFO]: deiphiz joined the game
[07:36:59] [Server thread/INFO]: deiphiz[/127.0.0.1:56442] logged in with entity id 1 at ([world]-259.72882049484963, 72.0, -178.17822694751288)
[07:37:00] [Craft Scheduler Thread - 5/INFO]: [FastLogin] Logging player deiphiz in
[07:37:00] [Craft Scheduler Thread - 6/INFO]: [AuthMe] deiphiz logged in!

Expected behavior
Name changes and skin changes with Mojang account should update correctly, however they do not.

Version Info
https://pastebin.com/wc3DcbGH

commented

The post originated from the Spigot forums. There is no bug that occurred, because of this error. It's just that ProtocolLib always tries to add an converter for the WorldLevel type although this class no longer exists in 1.16. Instead it got replaced with ResourceKey<World> with a different meaning.

1.15:

level type: default, flat, largeBiomes, amplified, customized, buffet, default_1_1

1.16:

Name of the world being spawned into

Kind of related to #906.

commented

I don't think that error would be the issue. Can you link the FastLogin issue?