diff options
author | MiniDigger <[email protected]> | 2020-06-26 14:04:38 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2020-06-26 05:04:38 -0700 |
commit | c3640b1dc0b92b07b5aaafcf3f01009cbe2c07d4 (patch) | |
tree | 617e2e49755bdfdc716df51972c94d4f419e2fda /Spigot-Server-Patches/0334-Limit-Client-Sign-length-more.patch | |
parent | 68636aee7249e0784a1150799ba86bdeba8f0127 (diff) | |
download | Paper-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.patch | 51 |
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); |