multiconnect

multiconnect

108k Downloads

Interacting On 1.19 Server Breaks Protocol

HacoKavanah opened this issue ยท 4 comments

commented

I added CubeCraft to my server list, put "1.19" and joined. Everything worked well until I opened the reward chest (has loot etc inside). This caused the server to throw me into a different lobby, tried to open the chest and again and same thing happened again. Turning off multiconnect (i play on curseforge) made everything work again.
2022-06-08-1.log

commented

Error happens with any right click interaction on a 1.19 server

commented

Can confirm, the problem is a missing sequence integer in CPacketPlayerInteractBlock_Latest, which was added in 1.19.
Adding public int sequence and ignoring it in protocol 1.18.2 and below fixes the issue.

Also, could you please rename the title accordingly so this can be better tracked? Something like "Interacting on 1.19 servers disconnects client" or similar?

Thank you.

commented

I am not entirely sure if this is related to the bug causing disconnecting on 1.19, however this feels like a good thread to help fix 1.19 issues:

[12:39:18] [Netty Epoll Client IO #12/ERROR]: !!!!!!!! Unexpected packet error, please upload this error to https://github.com/Earthcomputer/multiconnect/issues !!!!!!!!
[12:39:18] [Netty Epoll Client IO #12/ERROR]: It may be helpful if you also provide the server IP, but you are not obliged to do this.
[12:39:18] [Netty Epoll Client IO #12/ERROR]: Minecraft version: 1.19
[12:39:18] [Netty Epoll Client IO #12/ERROR]: multiconnect version: 1.6-beta.12
[12:39:18] [Netty Epoll Client IO #12/ERROR]: Server version: 759 (1.19)
[12:39:18] [Netty Epoll Client IO #12/ERROR]: Server brand: Spigot
[12:39:18] [Netty Epoll Client IO #12/ERROR]: Direction: inbound
[12:39:18] [Netty Epoll Client IO #12/ERROR]: Compressed packet data: H4sIAAAAAAAA//Ndc0mCTYjjPwBvncWHCAAAAA==
[12:39:18] [Netty Epoll Client IO #12/ERROR]: Unexpectedly disconnected from server!
io.netty.handler.codec.DecoderException: java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 8
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:480) ~[netty-codec-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) ~[netty-codec-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:314) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:435) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [netty-handler-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.77.Final.jar:?]
	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) [netty-transport-classes-epoll-4.1.77.Final.jar:?]
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:487) [netty-transport-classes-epoll-4.1.77.Final.jar:?]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:385) [netty-transport-classes-epoll-4.1.77.Final.jar:?]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) [netty-common-4.1.77.Final.jar:?]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.77.Final.jar:?]
	at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 8
	at net.earthcomputer.multiconnect.generated.Protocol_1_19.translateSPacketEntityTrackerUpdate(Protocol_1_19.java:5061) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.lambda$decode$0(MulticonnectClientboundTranslator.java:38) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.impl.DebugUtils.wrapInErrorHandler(DebugUtils.java:221) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.lambda$decode$1(MulticonnectClientboundTranslator.java:37) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.impl.PacketSystem$Internals.submitTranslationTask(PacketSystem.java:302) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.lambda$decode$3(MulticonnectClientboundTranslator.java:36) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.impl.DebugUtils.wrapInErrorHandler(DebugUtils.java:221) ~[multiconnect-1.6-beta.12.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.decode(MulticonnectClientboundTranslator.java:30) ~[multiconnect-1.6-beta.12.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510) ~[netty-codec-4.1.77.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:449) ~[netty-codec-4.1.77.Final.jar:?]
	... 34 more
commented

@BeeFox-sys please create a new issue for your problem. This issue was fixed in beta.12.