Invalid Payload in version 2.0.0 Minecraft 1.15.2
DemonInTheCloset opened this issue ยท 6 comments
Issue Description:
Spigot Server rejects connection with Invalid Payload error message
What happens:
When connecting to a Spigot 1.15.2 Server with the mod installed, the error Invalid Payload appears
What you expected to happen:
The connection works but the Ender Chest preview option should automatically turn off.
Steps to reproduce:
- Install new 2.0.0 version on 1.15.2
- Connect to Spigot server
Affected Versions (Do not use "latest"):
- ShulkerBoxTooltip: 2.0.0
- Minecraft: 1.15.2
- Fabric Loader: 0.8.2 build 194
- Fabric API: 0.5.1+build.294-1.15
Can confirm, some servers kick me out because of that. Got a stacktrace too:
[18:44:22] [Server thread/ERROR]: Couldn't register custom payload
org.bukkit.plugin.messaging.ChannelNameTooLongException: Attempted to send a Plugin Message to a channel that was too large. The maximum length a channel may be is 32 chars (attempted 37 - 'shulkerboxtooltip:handshake_to_client.
at org.bukkit.plugin.messaging.StandardMessenger.validateAndCorrectChannel(StandardMessenger.java:500) ~[server.jar:git-Spigot-ae72bf4-183139d]
at org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer.addChannel(CraftPlayer.java:1233) ~[server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:2453) ~[server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.PacketPlayInCustomPayload.a(SourceFile:44) ~[server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.PacketPlayInCustomPayload.a(SourceFile:9) ~[server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:918) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:911) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:895) [server.jar:git-Spigot-ae72bf4-183139d]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:828) [server.jar:git-Spigot-ae72bf4-183139d]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]
[18:44:22] [Server thread/INFO]: username lost connection: Invalid payload REGISTER!
The real question is - why does this plugin even contact the server? Shulker box contents are client-side anyway...
The mod sends packets to the server to allow ender chest previews,
The problem is that spigot restricts packets ids to be under 32 characters
That wouldn't change the issue, the server would send a packet to the client, the client responds and register channels, causing the connection to fail.
The 2.0.1 release is available at curseforge!