PacketPlayInWindowClick with wrong paramaters lag server
MrXiaoM opened this issue · 2 comments
Stack trace
[23:30:24] [Server thread/ERROR]: Failed to handle packet net.minecraft.network.protocol.game.PacketPlayInWindowClick@2b8c0e29, suppressing error
net.minecraft.ReportedException: Container click
at net.minecraft.world.inventory.AbstractContainerMenu.clicked(AbstractContainerMenu.java:398) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3395) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:23) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1369) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.server.MinecraftServer.wrapRunnable(MinecraftServer.java:197) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1346) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1339) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1455) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1195) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-"7a392eb"]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException
I know it looks like be cut off. But it is the FULL stacktrace that spams on my server. I don't know why, too.
Plugin and Datapack List
Not necessary.
Actions to reproduce (if known)
I open this issue because I am tried to apply patches again.
Some server crasher from cheat client I guess send a wrong PacketPlayInWindowClick. Then server console log this stacktrace.
The server received this package all along at that time. It caused log spam and the mspt
increased to even 1000
.
The logs above is everything. I don't know where throw a ArrayIndexOutOfBoundsException
exactly, too.
Paper version
It is my self-modified Purpur, based on Purpur 68862729. I think it is the latest Paper because it's been a long time since there was an update in the branch ver/1.19.4
. And I haven't found any patches about AbstractContainerMenu.java
fix this problem.
[01:41:34 INFO]: Current: git-Purpur-"7a392eb" (MC: 1.19.4)*
Other
Here is my patch if you want.
0315-fix-PacketInWindowClickPacket-from-cheater-cause-ind.patch
This was patched somewhere in 1.20.x paper, we do not supported outdated versions, or forks
Fine.