From 723e3703b2121e8e9c26414af4b82a33e15e0bd9 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 29 Jul 2022 12:59:04 -0500 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@e5bbb56 Added 1.19 kick event causes (#8204) --- gradle.properties | 2 +- patches/server/0001-Pufferfish-Server-Changes.patch | 4 ++-- patches/server/0005-Purpur-client-support.patch | 8 ++++---- patches/server/0008-Ridables.patch | 4 ++-- patches/server/0013-AFK-API.patch | 10 +++++----- patches/server/0020-Player-invulnerabilities.patch | 8 ++++---- .../server/0023-Alternative-Keepalive-Handling.patch | 6 +++--- patches/server/0078-Allow-color-codes-in-books.patch | 10 +++++----- patches/server/0079-Entity-lifespan.patch | 4 ++-- patches/server/0128-PlayerBookTooLargeEvent.patch | 6 +++--- patches/server/0141-Dont-run-with-scissors.patch | 6 +++--- ...28-Shift-right-click-to-use-exp-for-mending.patch | 4 ++-- patches/server/0239-Signs-allow-color-codes.patch | 4 ++-- ...6-Add-log-suppression-for-sent-expired-chat.patch | 6 +++--- ...ption-to-disable-kick-for-out-of-order-chat.patch | 4 ++-- patches/server/0289-Remove-Timings.patch | 8 ++++---- ...re-logger-output-for-invalid-movement-kicks.patch | 12 ++++++------ 17 files changed, 53 insertions(+), 53 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4f2054436..c2d260933 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19.1-R0.1-SNAPSHOT -paperCommit = 3b895f36fdc7591c661ee9088d4813a6fed0bb3f +paperCommit = e5bbb56ac63fc6ec25cab8105c029eab3067c53d org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 01f8ad996..f59cba2c9 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -3178,10 +3178,10 @@ index 083349794d5ceb50322c5a645dd33fbfcc1c8155..f58873ef4362bfcc618ead099be94ba2 this.getRandomBlockPosition(j, 0, k, 15, blockposition); int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a14710afaabf2b3b43f18ebe52eec8befff2b4ed..ae30be81679f24c20e1d102c91f58576cd32c09c 100644 +index adb9cde74295830e74241e522ae5766d436aadb1..86c91ba9ddf1042f832c7a7379533040624fff44 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1213,6 +1213,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1215,6 +1215,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index da65216f0..11f9f99e7 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -17,10 +17,10 @@ index 94944ba458178f9e5b772224da329bb5d85f4394..94d87f6bd2c27b0d6cc4547e8bc6e87b public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae30be81679f24c20e1d102c91f58576cd32c09c..d12ebf81c437d104de2c2087209ff9311121ba43 100644 +index 86c91ba9ddf1042f832c7a7379533040624fff44..1cb441e7f909dc15fb1fa3cf83657549dd8b6605 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3592,6 +3592,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3594,6 +3594,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index ae30be81679f24c20e1d102c91f58576cd32c09c..d12ebf81c437d104de2c2087209ff931 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3616,6 +3617,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3618,6 +3619,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,7 +43,7 @@ index ae30be81679f24c20e1d102c91f58576cd32c09c..d12ebf81c437d104de2c2087209ff931 try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d2249145046d728240cf1ae0b71c9ec16184bc18..a3522f87a1f3c1efef6f65d2ba37ba0eccbc5fce 100644 +index 9f34358dfcb95104c5bb9e63fbe295e6e049a55d..f5e2a82f279e8c91b736410147d5e8476f3da128 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2881,4 +2881,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index d9c3d848c..157edb272 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -66,10 +66,10 @@ index db23ce6f9253697592d80e44c192e9a97d06b83b..8c18c203854628c0dd8d660b197127b0 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d12ebf81c437d104de2c2087209ff9311121ba43..b273c189f699467be57a908d1c46f1b0a80d3d6b 100644 +index 1cb441e7f909dc15fb1fa3cf83657549dd8b6605..46e847ac7f0652dceda9beb0c3fe69b7847897d1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2865,6 +2865,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2867,6 +2867,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); diff --git a/patches/server/0013-AFK-API.patch b/patches/server/0013-AFK-API.patch index 91b048e12..338bd4bdf 100644 --- a/patches/server/0013-AFK-API.patch +++ b/patches/server/0013-AFK-API.patch @@ -68,7 +68,7 @@ index 8c18c203854628c0dd8d660b197127b019fec971..f2e84f02ee8c9c4e4cb2fa5ca27c2df5 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b273c189f699467be57a908d1c46f1b0a80d3d6b..85d18e94ee93f1348871eca697c723eb5482db6b 100644 +index 46e847ac7f0652dceda9beb0c3fe69b7847897d1..eed7394c5736df4a966343cd8c1482dc0dfd0164 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -340,6 +340,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -105,7 +105,7 @@ index b273c189f699467be57a908d1c46f1b0a80d3d6b..85d18e94ee93f1348871eca697c723eb this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -745,6 +765,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -747,6 +767,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -114,7 +114,7 @@ index b273c189f699467be57a908d1c46f1b0a80d3d6b..85d18e94ee93f1348871eca697c723eb // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1545,7 +1567,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1547,7 +1569,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot flag2 = true; // Paper - diff on change, this should be moved wrongly @@ -123,7 +123,7 @@ index b273c189f699467be57a908d1c46f1b0a80d3d6b..85d18e94ee93f1348871eca697c723eb } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1595,6 +1617,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1597,6 +1619,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -213,7 +213,7 @@ index 3f458ddd4dc04ed28510a212be76bb19e7f6a61e..a36469186f72eccf8c4428d920d0583b if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a3522f87a1f3c1efef6f65d2ba37ba0eccbc5fce..69084657049dccad5ba26d22668e8930ff086be8 100644 +index f5e2a82f279e8c91b736410147d5e8476f3da128..1a4da06d45c88219ec0149f94876931f6c699dc9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -442,10 +442,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0020-Player-invulnerabilities.patch b/patches/server/0020-Player-invulnerabilities.patch index c06f45b20..347b00a78 100644 --- a/patches/server/0020-Player-invulnerabilities.patch +++ b/patches/server/0020-Player-invulnerabilities.patch @@ -82,17 +82,17 @@ index f2e84f02ee8c9c4e4cb2fa5ca27c2df5bf4fcfdb..e7399e71db7ca5671a4570f4e605497b public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 85d18e94ee93f1348871eca697c723eb5482db6b..9bdaaa3f7845e300ad172d5167daa4187aa6fb0c 100644 +index eed7394c5736df4a966343cd8c1482dc0dfd0164..43a56a0c06a070e0b01cbb9e11b4ac97623be06b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2075,12 +2075,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2077,12 +2077,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); + // Purpur start + if (player.level.purpurConfig.playerInvulnerableWhileAcceptingResourcePack && !this.player.acceptingResourcePack) { + ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack packet exploitation attempt", this.player.getName()); -+ this.disconnect(Component.translatable("multiplayer.texturePrompt.failure.line1")); // "Server resource pack couldn't be applied" ++ this.disconnect(Component.translatable("multiplayer.texturePrompt.failure.line1"), org.bukkit.event.player.PlayerKickEvent.Cause.RESOURCE_PACK_REJECTION); // "Server resource pack couldn't be applied" + return; + } + // Purpur end @@ -121,7 +121,7 @@ index 3c9d72dd1a1bade79e4c8b5e6c7b136f906ba77d..02707189e0cafcb8db31413566f20784 return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 69084657049dccad5ba26d22668e8930ff086be8..f01633819138fabe782bb2897ae2488b0d376278 100644 +index 1a4da06d45c88219ec0149f94876931f6c699dc9..27e203e45531c053d78149c6e9f782d58e9f5d44 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2907,5 +2907,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0023-Alternative-Keepalive-Handling.patch b/patches/server/0023-Alternative-Keepalive-Handling.patch index 236f51fd7..d752ef7b1 100644 --- a/patches/server/0023-Alternative-Keepalive-Handling.patch +++ b/patches/server/0023-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9bdaaa3f7845e300ad172d5167daa4187aa6fb0c..f8233800fad7d62da8b4c5d6baa19afd3c5bb45a 100644 +index 43a56a0c06a070e0b01cbb9e11b4ac97623be06b..ae418d6e8c3591482469d03a0b3defed424bdad7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -258,6 +258,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -25,7 +25,7 @@ index 9bdaaa3f7845e300ad172d5167daa4187aa6fb0c..f8233800fad7d62da8b4c5d6baa19afd + if (elapsedTime >= 1000L) { // 1 second + if (!processedDisconnect && keepAlives.size() > KEEPALIVE_LIMIT) { + LOGGER.warn("{} was kicked due to keepalive timeout!", player.getName()); -+ disconnect(Component.translatable("disconnect.timeout")); ++ disconnect(Component.translatable("disconnect.timeout"), org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); + } else { + keepAliveTime = currentTime; // hijack this field for 1 second intervals + keepAlives.add(currentTime); // currentTime is ID @@ -38,7 +38,7 @@ index 9bdaaa3f7845e300ad172d5167daa4187aa6fb0c..f8233800fad7d62da8b4c5d6baa19afd if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3577,6 +3593,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3579,6 +3595,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0078-Allow-color-codes-in-books.patch b/patches/server/0078-Allow-color-codes-in-books.patch index f1bb3e6e3..e46300c36 100644 --- a/patches/server/0078-Allow-color-codes-in-books.patch +++ b/patches/server/0078-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f8233800fad7d62da8b4c5d6baa19afd3c5bb45a..5663a990cf849b84db35a6b1a70589e2363a7878 100644 +index ae418d6e8c3591482469d03a0b3defed424bdad7..ba1bd35e18d44426efe2b94aefcc16111675ffa1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1339,13 +1339,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1341,13 +1341,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index f8233800fad7d62da8b4c5d6baa19afd3c5bb45a..5663a990cf849b84db35a6b1a70589e2 this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1357,10 +1360,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1359,10 +1362,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index f8233800fad7d62da8b4c5d6baa19afd3c5bb45a..5663a990cf849b84db35a6b1a70589e2 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1370,11 +1376,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1372,11 +1378,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index f8233800fad7d62da8b4c5d6baa19afd3c5bb45a..5663a990cf849b84db35a6b1a70589e2 } } -@@ -1387,6 +1393,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1389,6 +1395,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0079-Entity-lifespan.patch b/patches/server/0079-Entity-lifespan.patch index cc763ab76..5566d96fc 100644 --- a/patches/server/0079-Entity-lifespan.patch +++ b/patches/server/0079-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5663a990cf849b84db35a6b1a70589e2363a7878..1763216452b7956ab21cba7f0f3e264beabde101 100644 +index ba1bd35e18d44426efe2b94aefcc16111675ffa1..d0c3f73282d8164f1a8f9d3600d3a5833842c9a2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2920,6 +2920,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2922,6 +2922,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (entity.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { diff --git a/patches/server/0128-PlayerBookTooLargeEvent.patch b/patches/server/0128-PlayerBookTooLargeEvent.patch index dcf348429..73d4a9b5f 100644 --- a/patches/server/0128-PlayerBookTooLargeEvent.patch +++ b/patches/server/0128-PlayerBookTooLargeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1763216452b7956ab21cba7f0f3e264beabde101..b8568d66290c1afab519f0a222288ffa81fa810f 100644 +index d0c3f73282d8164f1a8f9d3600d3a5833842c9a2..1fa67acb18ccbb16569e864c63bbcf877358e6bd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1259,10 +1259,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1261,10 +1261,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index 1763216452b7956ab21cba7f0f3e264beabde101..b8568d66290c1afab519f0a222288ffa server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1286,6 +1288,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1288,6 +1290,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); diff --git a/patches/server/0141-Dont-run-with-scissors.patch b/patches/server/0141-Dont-run-with-scissors.patch index fb1b3f8d4..17da410f5 100644 --- a/patches/server/0141-Dont-run-with-scissors.patch +++ b/patches/server/0141-Dont-run-with-scissors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b8568d66290c1afab519f0a222288ffa81fa810f..5720bd27f4fd12ea10496d7b51ce5e992b9ad97e 100644 +index 1fa67acb18ccbb16569e864c63bbcf877358e6bd..9958528403422eb9f2cb8ba030214f2f1cf3188e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1693,6 +1693,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1695,6 +1695,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index b8568d66290c1afab519f0a222288ffa81fa810f..5720bd27f4fd12ea10496d7b51ce5e99 this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1726,6 +1733,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1728,6 +1735,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end - optimise out extra getCubes diff --git a/patches/server/0228-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0228-Shift-right-click-to-use-exp-for-mending.patch index c5e84d542..0c01c54f4 100644 --- a/patches/server/0228-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0228-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 28105d2d6d7e97c57246f7142c3bc2d593cf4ed0..af8cde5c413ee1ee410c728f56b4a24e + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5720bd27f4fd12ea10496d7b51ce5e992b9ad97e..f6cd16d3af30407ac9918c7450387f70bc539471 100644 +index 9958528403422eb9f2cb8ba030214f2f1cf3188e..a83fb5262910459184bd5f4b6cf2e10a98569a30 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2071,6 +2071,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2073,6 +2073,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0239-Signs-allow-color-codes.patch b/patches/server/0239-Signs-allow-color-codes.patch index b0c2f4c36..bdda1469a 100644 --- a/patches/server/0239-Signs-allow-color-codes.patch +++ b/patches/server/0239-Signs-allow-color-codes.patch @@ -17,10 +17,10 @@ index d042f2866a513263cc1b82df1cabe7fee81a1603..ab3744184ed4e761e58ea93099a3d6e9 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f6cd16d3af30407ac9918c7450387f70bc539471..5ba44bbfd19ad7ecf3e9c51b9d9f9df4ce35c37a 100644 +index a83fb5262910459184bd5f4b6cf2e10a98569a30..6c194ac5d35cbcecd5e6c6f8bfdfcb3503cc7ffd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3601,11 +3601,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3603,11 +3603,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int i = 0; i < signText.size(); ++i) { FilteredText filteredtext = (FilteredText) signText.get(i); diff --git a/patches/server/0276-Add-log-suppression-for-sent-expired-chat.patch b/patches/server/0276-Add-log-suppression-for-sent-expired-chat.patch index 0a926113a..b6d563776 100644 --- a/patches/server/0276-Add-log-suppression-for-sent-expired-chat.patch +++ b/patches/server/0276-Add-log-suppression-for-sent-expired-chat.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Add log suppression for sent expired chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5ba44bbfd19ad7ecf3e9c51b9d9f9df4ce35c37a..284ce4f602782fc6e406cfd55edbde8f0a0196f7 100644 +index 6c194ac5d35cbcecd5e6c6f8bfdfcb3503cc7ffd..2116edde6b7d97d3651a745d491d85e709cf690c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2638,7 +2638,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - this.disconnect(Component.translatable("multiplayer.disconnect.unsigned_chat")); +@@ -2640,7 +2640,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + this.disconnect(Component.translatable("multiplayer.disconnect.unsigned_chat"), org.bukkit.event.player.PlayerKickEvent.Cause.UNSIGNED_CHAT); // Paper - kick event cause return false; } else { - if (message.hasExpiredServer(Instant.now())) { diff --git a/patches/server/0280-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0280-Option-to-disable-kick-for-out-of-order-chat.patch index ed0168f98..ffc1b6d92 100644 --- a/patches/server/0280-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0280-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 284ce4f602782fc6e406cfd55edbde8f0a0196f7..3c27895e68b9a578907ce7ba3e0bd47d34feeaa6 100644 +index 2116edde6b7d97d3651a745d491d85e709cf690c..8f0a979f7a902b0512cd2eacf769653a5471bc74 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2415,7 +2415,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2417,7 +2417,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic do { instant1 = (Instant) this.lastChatTimeStamp.get(); if (timestamp.isBefore(instant1)) { diff --git a/patches/server/0289-Remove-Timings.patch b/patches/server/0289-Remove-Timings.patch index df0ee5b3b..da4903ba9 100644 --- a/patches/server/0289-Remove-Timings.patch +++ b/patches/server/0289-Remove-Timings.patch @@ -748,10 +748,10 @@ index c685e0acb2559e7415c94790d8392f0ee997ecc6..ad14dbed67ca622f9c8e05164104fe9a this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3c27895e68b9a578907ce7ba3e0bd47d34feeaa6..af8043503f16c09a25da71a00d80a77eb5874e71 100644 +index 8f0a979f7a902b0512cd2eacf769653a5471bc74..34bbbc110faa5f85c3258e0c614e067ec16bcc79 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2565,7 +2565,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2567,7 +2567,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper End @@ -760,7 +760,7 @@ index 3c27895e68b9a578907ce7ba3e0bd47d34feeaa6..af8043503f16c09a25da71a00d80a77e if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2575,7 +2575,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2577,7 +2577,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -769,7 +769,7 @@ index 3c27895e68b9a578907ce7ba3e0bd47d34feeaa6..af8043503f16c09a25da71a00d80a77e return; } -@@ -2588,7 +2588,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2590,7 +2590,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { diff --git a/patches/server/0291-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0291-Add-more-logger-output-for-invalid-movement-kicks.patch index 0ba88c8aa..161b20078 100644 --- a/patches/server/0291-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0291-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8ddd79ebc916d34d63be3d62fc3d37f5a56b3b35..322bb76994dc3bf3eb21ac6c41c6d744743c766f 100644 +index a4b92924559397c5566d71e03f43a17528824cee..d09c8aab9112e2949dbb9d16a135fa2122c1db2f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -859,6 +859,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -861,6 +861,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { - this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement")); -+ ServerGamePacketListenerImpl.LOGGER.warn("Disconnected on accept teleport packet. Was not expecting position data from client at this time"); + this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause ++ ServerGamePacketListenerImpl.LOGGER.warn("Disconnected on accept teleport packet. Was not expecting position data from client at this time"); // Purpur return; } -@@ -1435,8 +1436,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1437,8 +1438,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); @@ -28,7 +28,7 @@ index 8ddd79ebc916d34d63be3d62fc3d37f5a56b3b35..322bb76994dc3bf3eb21ac6c41c6d744 + boolean invalidYaw = !Floats.isFinite(packet.getYRot(0.0F)); + boolean invalidPitch = !Floats.isFinite(packet.getXRot(0.0F)); + if (invalidX || invalidY || invalidZ || invalidYaw || invalidPitch) { - this.disconnect(Component.translatable(("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT)); // Paper - kick event cause + this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause + ServerGamePacketListenerImpl.LOGGER.warn(String.format("Disconnected on move player packet. Invalid data: x=%b, y=%b, z=%b, yaw=%b, pitch=%b", invalidX, invalidY, invalidZ, invalidYaw, invalidPitch)); + // Purpur end } else {