acv

Пользователь
Сообщения
36
Приветствую! Не так давно наткнулся на так называемый attack client, который больше всего нацелен на использование разных exploit на сервере майнкрафт. Отсылая пакеты или спамя ими. Основные последствия в том, что сервер не ложиться, в привычном понимании, а просто нагружается сетевой обработчик самого сервера, от чего по всем ядрам подскакивает нагрузка или же взлетает пинг у игроков на сервере, и решается только, когда они перезайдут.
Помню, на ядрах 1.16.5 был такой екслойт от чита liquid bounce, сервер просто выключался, связанно было с nbt, ну и на 1.21.4 тоже что то подобное работает.
В общем как я понял это что то новое, потому что заставляют пинговать даже holly world и иностранные сервера.

Есть плагины которые могут срезать такие атаки? packetevents конечно тяжелые пакеты более 1мб отбрасывает но и пинг у игроков может взлететь.

При атаке, спамит что то подобное:
[21:57:21] [Netty Epoll Server IO #3/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalArgumentException: NBT size limit reached (1048556/1048576)
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.NBTLimiter$2.increment(NBTLimiter.java:73) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$18(DefaultNBTSerializer.java:121) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:141) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:62) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:161) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:154) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readNBTRaw(PacketWrapper.java:523) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.builtin.item.ItemRecipes.read(ItemRecipes.java:39) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.StaticComponentType.read(StaticComponentType.java:75) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:151) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:107) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.read(ItemStackSerialization.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readItemStack(PacketWrapper.java:494) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.read(WrapperPlayClientClickWindow.java:130) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readEvent(PacketWrapper.java:287) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:169) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:159) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.<init>(WrapperPlayClientClickWindow.java:68) ~[packetevents-spigot-2.9.5.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.getAnimPacket(LastPacketListener.java:75) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.onPacketPlayReceive(LastPacketListener.java:49) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.SimplePacketListenerAbstract.onPacketReceive(SimplePacketListenerAbstract.java:49) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:84) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:101) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:59) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:76) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:42) ~[packetevents-spigot-2.9.5.jar:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[21:57:21] [Netty Epoll Server IO #3/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalArgumentException: NBT size limit reached (1048556/1048576)
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.NBTLimiter$2.increment(NBTLimiter.java:73) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$18(DefaultNBTSerializer.java:121) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:141) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:62) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:161) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:154) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readNBTRaw(PacketWrapper.java:523) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.builtin.item.ItemRecipes.read(ItemRecipes.java:39) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.StaticComponentType.read(StaticComponentType.java:75) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:151) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:107) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.read(ItemStackSerialization.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readItemStack(PacketWrapper.java:494) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.read(WrapperPlayClientClickWindow.java:130) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readEvent(PacketWrapper.java:287) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:169) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:159) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.<init>(WrapperPlayClientClickWindow.java:68) ~[packetevents-spigot-2.9.5.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.getAnimPacket(LastPacketListener.java:75) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.onPacketPlayReceive(LastPacketListener.java:49) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.SimplePacketListenerAbstract.onPacketReceive(SimplePacketListenerAbstract.java:49) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:84) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:101) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:59) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:76) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:42) ~[packetevents-spigot-2.9.5.jar:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Хочу осветить данный вопрос, вот еще видео
You must be registered for see medias
 
Протокольные черви расскажите в чем суть этого эксплойта, мне тоже интересно. Кто где и как ограничивает известно-зафикшеные нбт бомбы. Как всякие инжекторс типо ViaVersion, протоколлибов, пакетевентс влияют на нагрузку от атаки?
 
Протокольные черви расскажите в чем суть этого эксплойта, мне тоже интересно. Кто где и как ограничивает известно-зафикшеные нбт бомбы. Как всякие инжекторс типо ViaVersion, протоколлибов, пакетевентс влияют на нагрузку от атаки?
мм... Ну кароче был баг, я не знаю что именно за пакет отправлялся, связанный с nbt, типо для майнкрафт он слишком большой. Версия 1.16.5, фиксилось запретом через luckperms права на nbt у игрока
А мне кажется, что пакетные плагины это следствие атаки, типо они ругаются на то что "пакет задерживается" ну или был отменен, т.к большой и сервер обработать не смог. В общем в ядре же есть netty штука которая отвечает за сетевую обработку сервера майнкрафт, екслойт явно на него воздействует и завышается пинг, может вырасти нагрузка на весь процессор, т.к netty обрабатывает не на 1 ядре все это
 
Приветствую! Не так давно наткнулся на так называемый attack client, который больше всего нацелен на использование разных exploit на сервере майнкрафт. Отсылая пакеты или спамя ими. Основные последствия в том, что сервер не ложиться, в привычном понимании, а просто нагружается сетевой обработчик самого сервера, от чего по всем ядрам подскакивает нагрузка или же взлетает пинг у игроков на сервере, и решается только, когда они перезайдут.
Помню, на ядрах 1.16.5 был такой екслойт от чита liquid bounce, сервер просто выключался, связанно было с nbt, ну и на 1.21.4 тоже что то подобное работает.
В общем как я понял это что то новое, потому что заставляют пинговать даже holly world и иностранные сервера.

Есть плагины которые могут срезать такие атаки? packetevents конечно тяжелые пакеты более 1мб отбрасывает но и пинг у игроков может взлететь.

При атаке, спамит что то подобное:
[21:57:21] [Netty Epoll Server IO #3/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalArgumentException: NBT size limit reached (1048556/1048576)
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.NBTLimiter$2.increment(NBTLimiter.java:73) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$18(DefaultNBTSerializer.java:121) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:141) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:62) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:161) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:154) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readNBTRaw(PacketWrapper.java:523) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.builtin.item.ItemRecipes.read(ItemRecipes.java:39) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.StaticComponentType.read(StaticComponentType.java:75) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:151) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:107) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.read(ItemStackSerialization.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readItemStack(PacketWrapper.java:494) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.read(WrapperPlayClientClickWindow.java:130) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readEvent(PacketWrapper.java:287) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:169) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:159) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.<init>(WrapperPlayClientClickWindow.java:68) ~[packetevents-spigot-2.9.5.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.getAnimPacket(LastPacketListener.java:75) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.onPacketPlayReceive(LastPacketListener.java:49) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.SimplePacketListenerAbstract.onPacketReceive(SimplePacketListenerAbstract.java:49) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:84) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:101) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:59) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:76) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:42) ~[packetevents-spigot-2.9.5.jar:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[21:57:21] [Netty Epoll Server IO #3/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalArgumentException: NBT size limit reached (1048556/1048576)
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.NBTLimiter$2.increment(NBTLimiter.java:73) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$18(DefaultNBTSerializer.java:121) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:141) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:114) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:62) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:161) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.nbt.codec.NBTCodec.readNBTFromBuffer(NBTCodec.java:154) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readNBTRaw(PacketWrapper.java:523) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.builtin.item.ItemRecipes.read(ItemRecipes.java:39) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.component.StaticComponentType.read(StaticComponentType.java:75) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:151) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.readModern(ItemStackSerialization.java:107) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.protocol.item.ItemStackSerialization.read(ItemStackSerialization.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readItemStack(PacketWrapper.java:494) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.read(WrapperPlayClientClickWindow.java:130) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.readEvent(PacketWrapper.java:287) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:169) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:159) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientClickWindow.<init>(WrapperPlayClientClickWindow.java:68) ~[packetevents-spigot-2.9.5.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.getAnimPacket(LastPacketListener.java:75) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at pvpclub-FasterCrystals-2.0.1.jar/xyz.reknown.fastercrystals.listeners.packet.LastPacketListener.onPacketPlayReceive(LastPacketListener.java:49) ~[pvpclub-FasterCrystals-2.0.1.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.SimplePacketListenerAbstract.onPacketReceive(SimplePacketListenerAbstract.java:49) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:44) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:84) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:101) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:59) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:76) ~[packetevents-spigot-2.9.5.jar:?]
at packetevents-spigot-2.9.5.jar/io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:42) ~[packetevents-spigot-2.9.5.jar:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152) ~[netty-handler-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Хочу осветить данный вопрос, вот еще видео
You must be registered for see medias
1) Обновляем плагины
2) Ставим LPX

Проблема решена
 
Одно сообщение выше
Плюс - ставить 1.21.8
Ну у меня основной сервер был 1.21.4 - ядро. Щас перевел все под 1.21.8, но мне кажется это так же работает. Чел с клиента заспамит пакетами и у игроков минут на 10 - 20 ляжет пинг потом или восстановиться или надо перезайти ему
 
Основные последствия в том, что сервер не ложиться, в привычном понимании, а просто нагружается сетевой обработчик самого сервера, от чего по всем ядрам подскакивает нагрузка или же взлетает пинг у игроков на сервере, и решается только, когда они перезайдут.
В ванили декодирование json-чат пакетов и некоторых кастом пакетов написано через жопу - вот и весь секрет почему это вообще работает
На новых версиях через жопу написано еще больше вещей не знаю что там

1 раз переписать по нормальному (так сделал я в свое время) и все будет норм

Ну или использовать костыль-плагины по типу LPX к-ые фильтруют такие пакеты
 
Последнее редактирование:
В ванили декодирование json-чат пакетов и некоторых кастом пакетов написано через жопу - вот и весь секрет почему это вообще работает
На новых версиях через жопу написано еще больше вещей не знаю что там

1 раз переписать по нормальному (так сделал я в свое время) и все будет норм

Ну или использовать костыль-плагины по типу LPX к-ые фильтруют такие пакеты
а можешь рассказать как это технически работает? почему вообще такой експлойт и подобные работают
 
Ребят, как я тут узнал что LPX пока не контрит. Ну вот реал интересно что за баг такой
С клиента флудятся сгенерированные толстые пакеты, которые дают нагрузку на интернет полосу + поток netty из-за парсинга этого пакета, а затем выброса ошибки, отсюда и...
 
1) Обновляем плагины
2) Ставим LPX

Проблема решена
LPX не покрывает все векторы: при моей поддержке сервера я нашёл три эксплойта, сообщил разработчикам — патчи добавляли с задержкой до суток.
 
Последнее редактирование:
Ну у меня основной сервер был 1.21.4 - ядро. Щас перевел все под 1.21.8, но мне кажется это так же работает. Чел с клиента заспамит пакетами и у игроков минут на 10 - 20 ляжет пинг потом или восстановиться или надо перезайти ему
Не знаю у меня уже пытались нефига не вышоо
 
Не знаю у меня уже пытались нефига не вышоо
Там новых миллион, так что бывает.
Я думаю майнкрафт не может - apadtive & io_uring поможет, но увы... мне кажется даже они такой спам не вывезут
 
2.2 Строго запрещено использование нецензурных слов, брани, оскорбительных выражений, в независимости от того, в каком виде и кому они были адресованы. В том числе при подмене букв символами
1. На счёт LPX, то самого yooniks (автора плагина, зарубежный) частенько ложат, не в курсах что с его сервером (работает или нет).
Зарубежный ютуб полон обходом его творений, ещё когда его плагин продавался онли на вебе mc-protection, ведь на форумах его снесли вродь как.

Сам yooniks не успевает всё добавлять + авто-апдейтера там нету, он даже коллабера из ру добавил в проект, но это всё равно не помогает.

2. Автор темы пишет конкретно об NBT, от которого не спасал и ExploitFixer, да и сами ядра с защитой от таких

Чуть чуть об LPX:
offtop
Плагин фильтрует все пакеты, а не только NBT.
Настраивать его чеки не все в ру сегменте могут, ведь не разбираются и даже не читают что они означают.
На плагине обуфа стоит и вродь как ZKM ластовую он накидывает (точно не помню), хотелось бы получить версию без обуфы, дабы изучить его чеки в деталях.


3. В ошибке указаны претензии к лимиту NBT:
[21:57:21] [Netty Epoll Server IO #3/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalArgumentException: NBT size limit reached (1048556/1048576)
так что тут речь в том что человек отправил, а не количество пакетов
Чел с клиента заспамит пакетами

3.1. Пакетами спамили бот-системы типа ttProxy, которые кидали их в огромном количестве и из-за того как распределялись то и игроки получали проблемы и дисконнекты (речь не о сервере ещё).
offtop
netty eventloop распредяется в ядре параллельно треду майна и соединения должны закрепляться за одним тредом, поэтому игра вродь как живая, но пакетами каналы засрали, поэтому когда заходило много ботов, то они закидывались во всех потоки.

По умолчанию в ядре стоит .


Информацию об этом можно было найти в их документации, которая висела в ДСе для всех кто купил доступ к ttProxy, поэтому абы откуда эта инфа не была взята. Произошёл уже exit scam, если так можно сказать или автору чёт придумали в его Польше, но не суть.
ДС снесли, доков нету, но у меня они сохранились, прикрепляю их сюда, как пруф словам выше.

Некоторые умные люди стали увеличивать количество этих потоков с 4 до 12 или до 16 шт., даже, когда ядер достаточно мало выделено (ограничили через Docker условно).
Спасает это по такой логике: не все каналы засрут и чтобы засрать все каналы пакетами понадобится время.

Такова логика была на 1.16.4/5, по новым версиям мало шарю, но она приблизительно такой и осталось.

Короче, тут человек кидает конкретно хреновый пакет, а не количество пакетов. Ботов же вам не забрасывают, да?

3.2. В целом о ядре.
offtop
Я в своё время занимался патчами, приводил фулл ядро к исходникам, да лазил под его капот.
Пробовал просто так менять куски кода, поэтому обзор проблем ядра и того чего надо апдейтить.



В старых версиях ядра (речь об 1.16.4/5, в общем любые которые заброжены) библиотеки, как и сама библиотека netty не обновлялись, поэтому разраб правду говорит - обновляйтесь, а то .
Плюс - ставить 1.21.8


Если я не ошибаюсь, то в Paper до сих пор не завезли это
хотя, реализация не слишком сложна, но надо бы ещё и на клиенте это реализовать.

Сервер как-то так откатать можно:

- Грабли
Markdown (GitHub flavored):
implementation 'io.netty.incubator:netty-incubator-transport-io_uring:version'

- Ява

Java:
# ServerConnectionListener в новых версиях (>=1.16) из-за ремаппа, в старых по-другому назывался

import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
import io.netty.incubator.channel.uring.IOUringServerSocketChannel;

public static final Supplier<IOUringEventLoopGroup> SERVER_IO_URING_EVENT_GROUP = Suppliers.memoize(
    () -> new IOUringEventLoopGroup(0, new ThreadFactoryBuilder().setNameFormat("Netty IOUring Server IO #%d").setDaemon(true).build())
);

public void startTcpServerListener(SocketAddress address) throws IOException {
    synchronized (this.channels) {
        Class<? extends io.netty.channel.ServerChannel> clazz;
        EventLoopGroup eventLoopGroup;
        if (IOUring.isAvailable() && this.server.isIoUringEnabled()) {
            clazz = IOUringServerSocketChannel.class;
            eventLoopGroup = SERVER_IO_URING_EVENT_GROUP.get();
            LOGGER.info("Using io_uring channel type");
        } else if (Epoll.isAvailable() && this.server.isEpollEnabled()) {
            clazz = EpollServerSocketChannel.class;
            eventLoopGroup = SERVER_EPOLL_EVENT_GROUP.get();
            LOGGER.info("Using epoll channel type");
        } else {
            clazz = NioServerSocketChannel.class;
            eventLoopGroup = SERVER_EVENT_GROUP.get();
            LOGGER.info("Using default channel type");
        }
        // ... others
    }
}
Только вот сделав обнову проблемы с NBT не пофиксим, в добавок юзать io_uring нужно в определённых условиях (побольше потоков, нужны read/write без lock'ов и др.), в MultiPaper бы его (кстати, а он там юзается???).


3.3. Если уж пиздеть о ядре, так надо по-крупному!
Библиотеки можно заменить на "быстрые", математические операции надо тоже обновить, в том числе NBT.

Да-да, если собираемся фиксить всё по полной, то для начала вспомните про FastNBT и FastJSON2 (Китай).
Бонусом надо залить проверки по паттерну на NBT и корректно написать их, а не так, чтобы были аналоги SQL injection.

Фиксить всё плагинами слишком мудрёно и кой толк, когда можно патч выкатить в ядро?
 
Протокольные черви расскажите в чем суть этого эксплойта, мне тоже интересно. Кто где и как ограничивает известно-зафикшеные нбт бомбы. Как всякие инжекторс типо ViaVersion, протоколлибов, пакетевентс влияют на нагрузку от атаки?
"Агентят за пакетами" и когда начинается атака, то происходит звиздец в потоке, а потом от них всякие event'ы bukkit api страдают => получаем от них error/paper don't crash report
 
2.2 Строго запрещено использование нецензурных слов, брани, оскорбительных выражений, в независимости от того, в каком виде и кому они были адресованы. В том числе при подмене букв символами
1. На счёт LPX, то самого yooniks (автора плагина, зарубежный) частенько ложат, не в курсах что с его сервером (работает или нет).
Зарубежный ютуб полон обходом его творений, ещё когда его плагин продавался онли на вебе mc-protection, ведь на форумах его снесли вродь как.


Сам yooniks не успевает всё добавлять + авто-апдейтера там нету, он даже коллабера из ру добавил в проект, но это всё равно не помогает.

2. Автор темы пишет конкретно об NBT, от которого не спасал и ExploitFixer, да и сами ядра с защитой от таких

Чуть чуть об LPX:
offtop
Плагин фильтрует все пакеты, а не только NBT.
Настраивать его чеки не все в ру сегменте могут, ведь не разбираются и даже не читают что они означают.
На плагине обуфа стоит и вродь как ZKM ластовую он накидывает (точно не помню), хотелось бы получить версию без обуфы, дабы изучить его чеки в деталях.


3. В ошибке указаны претензии к лимиту NBT:

так что тут речь в том что человек отправил, а не количество пакетов


3.1. Пакетами спамили бот-системы типа ttProxy, которые кидали их в огромном количестве и из-за того как распределялись то и игроки получали проблемы и дисконнекты (речь не о сервере ещё).
offtop
netty eventloop распредяется в ядре параллельно треду майна и соединения должны закрепляться за одним тредом, поэтому игра вродь как живая, но пакетами каналы засрали, поэтому когда заходило много ботов, то они закидывались во всех потоки.

По умолчанию в ядре стоит .


Информацию об этом можно было найти в их документации, которая висела в ДСе для всех кто купил доступ к ttProxy, поэтому абы откуда эта инфа не была взята. Произошёл уже exit scam, если так можно сказать или автору чёт придумали в его Польше, но не суть.
ДС снесли, доков нету, но у меня они сохранились, прикрепляю их сюда, как пруф словам выше.

Некоторые умные люди стали увеличивать количество этих потоков с 4 до 12 или до 16 шт., даже, когда ядер достаточно мало выделено (ограничили через Docker условно).
Спасает это по такой логике: не все каналы засрут и чтобы засрать все каналы пакетами понадобится время.

Такова логика была на 1.16.4/5, по новым версиям мало шарю, но она приблизительно такой и осталось.

Короче, тут человек кидает конкретно хреновый пакет, а не количество пакетов. Ботов же вам не забрасывают, да?

3.2. В целом о ядре.
offtop
Я в своё время занимался патчами, приводил фулл ядро к исходникам, да лазил под его капот.
Пробовал просто так менять куски кода, поэтому обзор проблем ядра и того чего надо апдейтить.


В старых версиях ядра (речь об 1.16.4/5, в общем любые которые заброжены) библиотеки, как и сама библиотека netty не обновлялись, поэтому разраб правду говорит - обновляйтесь, а то .



Если я не ошибаюсь, то в Paper до сих пор не завезли это

хотя, реализация не слишком сложна, но надо бы ещё и на клиенте это реализовать.

Сервер как-то так откатать можно:

- Грабли
Markdown (GitHub flavored):
implementation 'io.netty.incubator:netty-incubator-transport-io_uring:version'

- Ява

Java:
# ServerConnectionListener в новых версиях (>=1.16) из-за ремаппа, в старых по-другому назывался

import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
import io.netty.incubator.channel.uring.IOUringServerSocketChannel;

public static final Supplier<IOUringEventLoopGroup> SERVER_IO_URING_EVENT_GROUP = Suppliers.memoize(
    () -> new IOUringEventLoopGroup(0, new ThreadFactoryBuilder().setNameFormat("Netty IOUring Server IO #%d").setDaemon(true).build())
);

public void startTcpServerListener(SocketAddress address) throws IOException {
    synchronized (this.channels) {
        Class<? extends io.netty.channel.ServerChannel> clazz;
        EventLoopGroup eventLoopGroup;
        if (IOUring.isAvailable() && this.server.isIoUringEnabled()) {
            clazz = IOUringServerSocketChannel.class;
            eventLoopGroup = SERVER_IO_URING_EVENT_GROUP.get();
            LOGGER.info("Using io_uring channel type");
        } else if (Epoll.isAvailable() && this.server.isEpollEnabled()) {
            clazz = EpollServerSocketChannel.class;
            eventLoopGroup = SERVER_EPOLL_EVENT_GROUP.get();
            LOGGER.info("Using epoll channel type");
        } else {
            clazz = NioServerSocketChannel.class;
            eventLoopGroup = SERVER_EVENT_GROUP.get();
            LOGGER.info("Using default channel type");
        }
        // ... others
    }
}
Только вот сделав обнову проблемы с NBT не пофиксим, в добавок юзать io_uring нужно в определённых условиях (побольше потоков, нужны read/write без lock'ов и др.), в MultiPaper бы его (кстати, а он там юзается???).


3.3. Если уж пиздеть о ядре, так надо по-крупному!
Библиотеки можно заменить на "быстрые", математические операции надо тоже обновить, в том числе NBT.

Да-да, если собираемся фиксить всё по полной, то для начала вспомните про FastNBT и FastJSON2 (Китай).
Бонусом надо залить проверки по паттерну на NBT и корректно написать их, а не так, чтобы были аналоги SQL injection.

Фиксить всё плагинами слишком мудрёно и кой толк, когда можно патч выкатить в ядро?
Я даже не знаю с чего начать.
Это пиздец.

По итогу изучив краш - проблема даже блять близко не в том, что у нас МАГИЧЕСКИЙ НАГРУЖАЮЩИЙ ПАКЕТ по итогу.
Проблема ТОЛЬКО и ТОЛЬКО в том, что эта залупа спамит в консоль, в следствие чего сервер падает. Аналогично тому, что было с error-crash-ем в бородатые годы. И работает это ТОЛЬКО и ТОЛЬКО в случае, если у нас на сервере стоит плагин, который использует packetevents для обработки нбтшек.
В С Ё.
Ни больше.
Ни меньше.
Ну т.е. ВООБЩЕ ВСЁ.

Никаких БЫСТРЫХ МАТЕМАТИЧЕСКИХ ОПЕРАЦИЙ нам не нужно.
Никаких ФАСТ ЖЫСОНАВ и ФАСТ НБТЫШЫК нам не нужно.
Нам нужно всего лишь сделать так, чтобы этого спама в консоли не было.
Нет спама - нет краша.
 
Я даже не знаю с чего начать.
Это пиздец.

По итогу изучив краш - проблема даже блять близко не в том, что у нас МАГИЧЕСКИЙ НАГРУЖАЮЩИЙ ПАКЕТ по итогу.
Проблема ТОЛЬКО и ТОЛЬКО в том, что эта залупа спамит в консоль, в следствие чего сервер падает. Аналогично тому, что было с error-crash-ем в бородатые годы. И работает это ТОЛЬКО и ТОЛЬКО в случае, если у нас на сервере стоит плагин, который использует packetevents для обработки нбтшек.
В С Ё.
Ни больше.
Ни меньше.
Ну т.е. ВООБЩЕ ВСЁ.

Никаких БЫСТРЫХ МАТЕМАТИЧЕСКИХ ОПЕРАЦИЙ нам не нужно.
Никаких ФАСТ ЖЫСОНАВ и ФАСТ НБТЫШЫК нам не нужно.
Нам нужно всего лишь сделать так, чтобы этого спама в консоли не было.
Нет спама - нет краша.

Пришёл диванный эксперт, который зафиксит все NBT краши самым гениально-непонятным действием - удалением плагина packetevents, ведь по его логике вещей раз спам идёт от packetevents, то его надо удалить. Жду с нетерпением крутого фикса от псевдо-эксперта по ядрам из румайна.

Немножко о том, какие пакеты NBT они отправляют в файлах.


Ах, да, твоё же ядро ShieldSpigot собрано из паблик фиксов разных версий ядер (Dionysus, Patina, Akarin etc.), сам же ничего написать не можешь и объяснить как это работает.
Аналог SSSpigot'а собрал и по 3к ₽ почти селлишь, пока люди не соберут за 15 минут такое же ядро и не откинут на гитхаб?


Напоминаю, у нас проблема в NBT крашах, а не только в 1 эксплойте, где лимит NBT был превышен. Фильтровать пакеты будешь дальше плагином, чтобы пендосам было на смех?
Объединено

1. На счёт LPX, то самого yooniks (автора плагина, зарубежный) частенько ложат, не в курсах что с его сервером (работает или нет).
Зарубежный ютуб полон обходом его творений, ещё когда его плагин продавался онли на вебе mc-protection, ведь на форумах его снесли вродь как.


Сам yooniks не успевает всё добавлять + авто-апдейтера там нету, он даже коллабера из ру добавил в проект, но это всё равно не помогает.

2. Автор темы пишет конкретно об NBT, от которого не спасал и ExploitFixer, да и сами ядра с защитой от таких

Чуть чуть об LPX:
offtop
Плагин фильтрует все пакеты, а не только NBT.
Настраивать его чеки не все в ру сегменте могут, ведь не разбираются и даже не читают что они означают.
На плагине обуфа стоит и вродь как ZKM ластовую он накидывает (точно не помню), хотелось бы получить версию без обуфы, дабы изучить его чеки в деталях.


3. В ошибке указаны претензии к лимиту NBT:

так что тут речь в том что человек отправил, а не количество пакетов


3.1. Пакетами спамили бот-системы типа ttProxy, которые кидали их в огромном количестве и из-за того как распределялись то и игроки получали проблемы и дисконнекты (речь не о сервере ещё).
offtop
netty eventloop распредяется в ядре параллельно треду майна и соединения должны закрепляться за одним тредом, поэтому игра вродь как живая, но пакетами каналы засрали, поэтому когда заходило много ботов, то они закидывались во всех потоки.

По умолчанию в ядре стоит .


Информацию об этом можно было найти в их документации, которая висела в ДСе для всех кто купил доступ к ttProxy, поэтому абы откуда эта инфа не была взята. Произошёл уже exit scam, если так можно сказать или автору чёт придумали в его Польше, но не суть.
ДС снесли, доков нету, но у меня они сохранились, прикрепляю их сюда, как пруф словам выше.

Некоторые умные люди стали увеличивать количество этих потоков с 4 до 12 или до 16 шт., даже, когда ядер достаточно мало выделено (ограничили через Docker условно).
Спасает это по такой логике: не все каналы засрут и чтобы засрать все каналы пакетами понадобится время.

Такова логика была на 1.16.4/5, по новым версиям мало шарю, но она приблизительно такой и осталось.

Короче, тут человек кидает конкретно хреновый пакет, а не количество пакетов. Ботов же вам не забрасывают, да?

3.2. В целом о ядре.
offtop
Я в своё время занимался патчами, приводил фулл ядро к исходникам, да лазил под его капот.
Пробовал просто так менять куски кода, поэтому обзор проблем ядра и того чего надо апдейтить.


В старых версиях ядра (речь об 1.16.4/5, в общем любые которые заброжены) библиотеки, как и сама библиотека netty не обновлялись, поэтому разраб правду говорит - обновляйтесь, а то .



Если я не ошибаюсь, то в Paper до сих пор не завезли это

хотя, реализация не слишком сложна, но надо бы ещё и на клиенте это реализовать.

Сервер как-то так откатать можно:

- Грабли
Markdown (GitHub flavored):
implementation 'io.netty.incubator:netty-incubator-transport-io_uring:version'

- Ява

Java:
# ServerConnectionListener в новых версиях (>=1.16) из-за ремаппа, в старых по-другому назывался

import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
import io.netty.incubator.channel.uring.IOUringServerSocketChannel;

public static final Supplier<IOUringEventLoopGroup> SERVER_IO_URING_EVENT_GROUP = Suppliers.memoize(
    () -> new IOUringEventLoopGroup(0, new ThreadFactoryBuilder().setNameFormat("Netty IOUring Server IO #%d").setDaemon(true).build())
);

public void startTcpServerListener(SocketAddress address) throws IOException {
    synchronized (this.channels) {
        Class<? extends io.netty.channel.ServerChannel> clazz;
        EventLoopGroup eventLoopGroup;
        if (IOUring.isAvailable() && this.server.isIoUringEnabled()) {
            clazz = IOUringServerSocketChannel.class;
            eventLoopGroup = SERVER_IO_URING_EVENT_GROUP.get();
            LOGGER.info("Using io_uring channel type");
        } else if (Epoll.isAvailable() && this.server.isEpollEnabled()) {
            clazz = EpollServerSocketChannel.class;
            eventLoopGroup = SERVER_EPOLL_EVENT_GROUP.get();
            LOGGER.info("Using epoll channel type");
        } else {
            clazz = NioServerSocketChannel.class;
            eventLoopGroup = SERVER_EVENT_GROUP.get();
            LOGGER.info("Using default channel type");
        }
        // ... others
    }
}
Только вот сделав обнову проблемы с NBT не пофиксим, в добавок юзать io_uring нужно в определённых условиях (побольше потоков, нужны read/write без lock'ов и др.), в MultiPaper бы его (кстати, а он там юзается???).


3.3. Если уж пиздеть о ядре, так надо по-крупному!
Библиотеки можно заменить на "быстрые", математические операции надо тоже обновить, в том числе NBT.

Да-да, если собираемся фиксить всё по полной, то для начала вспомните про FastNBT и FastJSON2 (Китай).
Бонусом надо залить проверки по паттерну на NBT и корректно написать их, а не так, чтобы были аналоги SQL injection.

Фиксить всё плагинами слишком мудрёно и кой толк, когда можно патч выкатить в ядро?
* Забыл прикрепить гайд ттпрокси
Вам необходимо зарегистрироваться для просмотра изображений-вложений
 

Вложения

  • Point Crasher.txt
    1.1 KB · Просмотры: 2
  • JSON Crasher.txt
    1.4 KB · Просмотры: 2
  • FastSmallNettyBook Crasher.txt
    1.2 KB · Просмотры: 2
  • tutorial_EN-ttproxy.zip
    78.1 KB · Просмотры: 2
Последнее редактирование:
Пришёл диванный эксперт, который зафиксит все NBT краши самым гениально-непонятным действием - удалением плагина packetevents, ведь по его логике вещей раз спам идёт от packetevents, то его надо удалить. Жду с нетерпением крутого фикса от псевдо-эксперта по ядрам из румайна.
Иногда нужно лучше вникать в проблему с которой мы имеем дело
Речь даже была не про плагин пакетивентс как таковой, skill issue, ну что поделать.

Ах, да, твоё же ядро ShieldSpigot собрано из паблик фиксов разных версий ядер (Dionysus, Patina, Akarin etc.), сам же ничего написать не можешь и объяснить как это работает.
Аналог SSSpigot'а собрал и по 3к ₽ почти селлишь, пока люди не соберут за 15 минут такое же ядро и не откинут на гитхаб?
О да, ведь диванный эксперт прочитавший пару высеров от ттхрюкси точно знает что и как делается
Чо ж сам ядро не сделаешь, раз ты у нас тут такой всезнайка? Показывай свои разработки, показывай фиксы крашей, жду не дождусь
 
2.2 Строго запрещено использование нецензурных слов, брани, оскорбительных выражений, в независимости от того, в каком виде и кому они были адресованы. В том числе при подмене букв символами
Иногда нужно лучше вникать в проблему с которой мы имеем дело
Речь даже была не про плагин пакетивентс как таковой, skill issue, ну что поделать.


О да, ведь диванный эксперт прочитавший пару высеров от ттхрюкси точно знает что и как делается
Чо ж сам ядро не сделаешь, раз ты у нас тут такой всезнайка? Показывай свои разработки, показывай фиксы крашей, жду не дождусь
Хотя с другой стороны о чём говорить, если там человек на серьёзном ебале заявляет, что у нас тут ТТПРОКСИ виноват, когда тут очевидно аттак клиент
 
Назад
Сверху Снизу