papermc/Spigot-Server-Patches/0165-Raise-string-limit-for-packet-serialization.patch
2016-12-20 17:45:00 -06:00

27 lines
1.3 KiB
Diff

From ec45ece6dbc0adbc16b500c3ede7b8128383a782 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 21 Sep 2016 23:54:20 -0400
Subject: [PATCH] Raise string limit for packet serialization
The default limit is possible to hit with 50 page books with color codes, causing clients to disconnect.
Bump the limit up a hair to above currently seen sizes.
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
index 7a66195..68e8c46 100644
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java
+++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java
@@ -297,8 +297,8 @@ public class PacketDataSerializer extends ByteBuf {
public PacketDataSerializer a(String s) {
byte[] abyte = s.getBytes(Charsets.UTF_8);
- if (abyte.length > 32767) {
- throw new EncoderException("String too big (was " + abyte.length + " bytes encoded, max " + 32767 + ")");
+ if (abyte.length > 44767) { // Paper - raise limit a bit more as normal means can trigger this
+ throw new EncoderException("String too big (was " + s.length() + " bytes encoded, max " + 44767 + ")"); // Paper
} else {
this.d(abyte.length);
this.writeBytes(abyte);
--
2.9.3