aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch
diff options
context:
space:
mode:
authorMiniDigger <[email protected]>2020-06-26 14:04:38 +0200
committerGitHub <[email protected]>2020-06-26 05:04:38 -0700
commitc3640b1dc0b92b07b5aaafcf3f01009cbe2c07d4 (patch)
tree617e2e49755bdfdc716df51972c94d4f419e2fda /Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch
parent68636aee7249e0784a1150799ba86bdeba8f0127 (diff)
downloadPaper-c3640b1dc0b92b07b5aaafcf3f01009cbe2c07d4.tar.gz
Paper-c3640b1dc0b92b07b5aaafcf3f01009cbe2c07d4.zip
[1.16] Make it run (#3626)
* She compiles! Also readded the armorstand ticking patch, thanks cat * Update mob goal api * Misc fixes to make it run drop per playing mob spawns for now
Diffstat (limited to 'Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch')
-rw-r--r--Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch b/Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch
deleted file mode 100644
index 8f91800e6f..0000000000
--- a/Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar <[email protected]>
-Date: Wed, 27 Feb 2019 22:18:40 -0500
-Subject: [PATCH] Limit Client Sign length more
-
-modified clients can send more data from the client
-to the server and it would get stored on the sign as sent.
-
-Mojang has a limit of 384 which is much higher than reasonable.
-
-the client can barely render around 16 characters as-is, but formatting
-codes can get it to be more than 16 actual length.
-
-Set a limit of 80 which should give an average of 16 characters 2
-sets of legacy formatting codes which should be plenty for all uses.
-
-This does not strip any existing data from the NBT as plugins
-may use this for storing data out of the rendered area.
-
-it only impacts data sent from the client.
-
-Set -DPaper.maxSignLength=XX to change limit or -1 to disable
-
-diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 76d67b6b0afa590e7e0f838aa7abb4efadfda045..0296dfc4e944de9156715c93a33b699c2d7cf63a 100644
---- a/src/main/java/net/minecraft/server/PlayerConnection.java
-+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
-@@ -103,6 +103,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
- private int E;
- private int receivedMovePackets;
- private int processedMovePackets;
-+ private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80);
- private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
-
- public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
-@@ -2602,6 +2603,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
- String[] lines = new String[4];
-
- for (int i = 0; i < astring.length; ++i) {
-+ // Paper start - cap line length - modified clients can send longer data than normal
-+ if (MAX_SIGN_LINE_LENGTH > 0 && astring[i].length() > MAX_SIGN_LINE_LENGTH) {
-+ // This handles multibyte characters as 1
-+ int offset = astring[i].codePoints().limit(MAX_SIGN_LINE_LENGTH).map(Character::charCount).sum();
-+ if (offset < astring[i].length()) {
-+ astring[i] = astring[i].substring(0, offset);
-+ }
-+ }
-+ // Paper end
- lines[i] = SharedConstants.a(astring[i]); //Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created.
- }
- SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines);