adde0109 / Ambassador

This is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy!
GNU Lesser General Public License v2.1
85 stars 18 forks source link

Unable to connect to backend server with "Mana and Artifice" installed #51

Open unilock opened 7 months ago

unilock commented 7 months ago

With the mod "Mana and Artifice" (link) installed on both the client and the backend server, the client is kicked from the server during login, with the following error in the Velocity logs:

[10:44:00] [Netty kqueue Worker #1/ERROR] [com.velocitypowered.proxy.connection.MinecraftConnection]:  [server connection] mgpdoll -> server1: exception encountered in org.adde0109.ambassador.velocity.backend.ForgeLoginSessionHandler@52ce7a72
io.netty.handler.codec.CorruptedFrameException: Bad array size (got 181609, maximum is 65536)
    at com.velocitypowered.proxy.protocol.util.NettyPreconditions.checkFrame(NettyPreconditions.java:83) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.protocol.ProtocolUtils.readByteArray(ProtocolUtils.java:335) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.protocol.ProtocolUtils.readByteArray(ProtocolUtils.java:321) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at org.adde0109.ambassador.forge.packet.ConfigDataPacket.read(ConfigDataPacket.java:22) ~[?:?]
    at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperCodec.decode(ForgeLoginWrapperCodec.java:97) ~[?:?]
    at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperCodec.decode(ForgeLoginWrapperCodec.java:20) ~[?:?]
    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.protocol.netty.AutoReadHolderHandler.channelRead(AutoReadHolderHandler.java:57) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:92) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.kqueue.AbstractKQueueStreamChannel$KQueueStreamUnsafe.readReady(AbstractKQueueStreamChannel.java:544) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.kqueue.AbstractKQueueChannel$AbstractKQueueUnsafe.readReady(AbstractKQueueChannel.java:387) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.kqueue.KQueueEventLoop.processReady(KQueueEventLoop.java:218) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:296) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at java.lang.Thread.run(Thread.java:840) [?:?]

To reproduce:

Note that Ambassador v1.5.0-rc-beta works fine, while v1.5.2-beta does not!

fml-client-debug.log
fml-server-debug.log
velocity-latest.log

adde0109 commented 6 months ago

I just released 1.4.4 as version you can use in the meantime with the latest velocity.