Large Structures Cause Client Disconnect
Introduction
When trying to place a large structure in a single-player world, some players may experience a disconnection from the game due to the server rejecting a packet for being too large. This issue can be frustrating, especially when you've spent a lot of time designing and preparing your structure.
The Problem
The problem lies in the way the game handles large structures. When you try to place a large structure, the game sends a packet to the server to process the placement. However, if the packet is too large, the server may reject it, causing the client to disconnect.
The Stacktrace
The stacktrace provided shows the error message and the sequence of events that led to the disconnection. The error message indicates that the server rejected a packet for being too large, and the client disconnected as a result.
at MC-BOOTSTRAP/io.netty.transport@4.1.97.Final/io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.97.Final.jar%23154!/:4.1.97.Final]
at MC-BOOTSTRAP/io.netty.common@4.1.97.Final/io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar%23149!/:4.1.97.Final]
at MC-BOOTSTRAP/io.netty.common@4.1.97.Final/io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar%23149!/:4.1.97.Final]
at java.base/java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.RuntimeException: Failed decoding custom payload blockprints:storage_packet: net.minecraft.nbt.NbtAccounterException: Tried to read NBT tag that was too big; tried to allocate: 2097117 + 36 bytes where max allowed: 2097152
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:55) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:29) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$4.decode(StreamCodec.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$5.decode(StreamCodec.java:91) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$5.decode(StreamCodec.java:87) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.IdDispatchCodec.decode(IdDispatchCodec.java:36) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
... 28 more
Caused by: net.minecraft.nbt.NbtAccounterException: Tried to read NBT tag that was too big; tried to allocate: 2097117 + 36 bytes where max allowed: 2097152
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.NbtAccounter.accountBytes(NbtAccounter.java:31) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.loadCompound(CompoundTag.java:64) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:41) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:35) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.ListTag$1.loadList(ListTag.java:48) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.ListTag$1.load(ListTag.java:31) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.ListTag$1.load(ListTag.java:26) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag.readNamedTagData(CompoundTag.java:513) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.loadCompound(CompoundTag.java:62) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:41) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:35) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.NbtIo.readTagSafe(NbtIo.java:193) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.NbtIo.readAnyTag(NbtIo.java:157) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.FriendlyByteBuf.readNbt(FriendlyByteBuf.java:537) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.ByteBufCodecs$18.decode(ByteBufCodecs.java:245) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.ByteBufCodecs$18.decode(ByteBufCodecs.java:243) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$4.decode(StreamCodec.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/blockprints@1/neoforge.com.hollingsworth.schematic.networking.PlaceSchematicPacket.<init>(PlaceSchematicPacket.java:37) ~[blockprints-merged-1.21.1-2.2.1.jar%23184!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$2.decode(StreamCodec.java:37) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:53) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:29) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$4.decode(StreamCodec.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at<br/>
**Large Structures Cause Client Disconnect: A Q&A Article**
=====================================================
**Q: What is the issue with large structures in Minecraft?**
---------------------------------------------------
A: The issue lies in the way the game handles large structures. When you try to place a large structure, the game sends a packet to the server to process the placement. However, if the packet is too large, the server may reject it, causing the client to disconnect.
**Q: What is the stacktrace error message?**
-----------------------------------------
A: The stacktrace error message indicates that the server rejected a packet for being too large, and the client disconnected as a result. The error message is as follows:
```markdown
at MC-BOOTSTRAP/io.netty.transport@4.1.97.Final/io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.97.Final.jar%23154!/:4.1.97.Final]
at MC-BOOTSTRAP/io.netty.common@4.1.97.Final/io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar%23149!/:4.1.97.Final]
at MC-BOOTSTRAP/io.netty.common@4.1.97.Final/io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar%23149!/:4.1.97.Final]
at java.base/java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.RuntimeException: Failed decoding custom payload blockprints:storage_packet: net.minecraft.nbt.NbtAccounterException: Tried to read NBT tag that was too big; tried to allocate: 2097117 + 36 bytes where max allowed: 2097152
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:55) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:29) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$4.decode(StreamCodec.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$5.decode(StreamCodec.java:91) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$5.decode(StreamCodec.java:87) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.IdDispatchCodec.decode(IdDispatchCodec.java:36) ~[client-1.21.1-20240808.144430-srg.jar%231!/:?]
... 28 more
Caused by: net.minecraft.nbt.NbtAccounterException: Tried to read NBT tag that was too big; tried to allocate: 2097117 + 36 bytes where max allowed: 2097152
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.NbtAccounter.accountBytes(NbtAccounter.java:31) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.loadCompound(CompoundTag.java:64) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:41) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:35) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.ListTag$1.loadList(ListTag.java:48) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.ListTag$1.load(ListTag.java:31) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.ListTag$1.load(ListTag.java:26) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag.readNamedTagData(CompoundTag.java:513) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.loadCompound(CompoundTag.java:62) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:41) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.CompoundTag$1.load(CompoundTag.java:35) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.NbtIo.readTagSafe(NbtIo.java:193) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.nbt.NbtIo.readAnyTag(NbtIo.java:157) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.FriendlyByteBuf.readNbt(FriendlyByteBuf.java:537) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.ByteBufCodecs$18.decode(ByteBufCodecs.java:245) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.ByteBufCodecs$18.decode(ByteBufCodecs.java:243) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$4.decode(StreamCodec.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/blockprints@1/neoforge.com.hollingsworth.schematic.networking.PlaceSchematicPacket.<init>(PlaceSchematicPacket.java:37) ~[blockprints-merged-1.21.1-2.2.1.jar%23184!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$2.decode(StreamCodec.java:37) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:53) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.protocol.common.custom.CustomPacketPayload$1.decode(CustomPacketPayload.java:29) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$4.decode(StreamCodec.java:76) ~[client-1.21.1-20240808.144430-srg.jar%23182!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.network.codec.StreamCodec$5.decode(StreamCodec.java:91) ~[client-1.21.1-20240808.144430-srg.jar%