ddf8196 / FakePlayer

Minecraft Bedrock Edition 假人客户端
MIT License
152 stars 27 forks source link

后台频繁报错、假人不定期自动断开连接 #85

Open yqs112358 opened 1 year ago

yqs112358 commented 1 year ago

Version & Environment 软件版本和环境

Describe the bug 你的问题的描述 如题 首先是报错信息

com.nukkitx.network.raknet.RakNetClient lambda$new$0
严重: An exception occurred in RakNet Client, address=0.0.0.0/0.0.0.0:0
>java.lang.IllegalArgumentException: expectedLength is less than 1 or greater than 2048 (2966)
at com.nukkitx.network.util.Preconditions.checkArgument(Preconditions.java:194)
at com.nukkitx.network.raknet.util.SplitPacketHelper.<init>(SplitPacketHelper.java:18)
at com.nukkitx.network.raknet.RakNetSession.getReassembledPacket(RakNetSession.java:209)
at com.nukkitx.network.raknet.RakNetSession.onRakNetDatagram(RakNetSession.java:365)
at com.nukkitx.network.raknet.RakNetSession.onDatagram(RakNetSession.java:252)
at com.nukkitx.network.raknet.pipeline.ClientMessageHandler.channelRead0(ClientMessageHandler.java:46)
at com.nukkitx.network.raknet.pipeline.ClientMessageHandler.channelRead0(ClientMessageHandler.java:13)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:97)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:833)

其次假人会不定期自动断开连接,导致服内正在挂机的不抗卸载机器损坏。 BDS配置文件中idle-time项已设置为零,并不是由服务端主动踢出的

To Reproduce(Optional) 复现该问题的方法(可选) 直接正常使用

Screenshots or log 截图或日志

后台报错:

image

自动断开连接:

image