From 0cda306be9cc2fca3248e53a2c482d4ef278b02f Mon Sep 17 00:00:00 2001 From: uRyanxD Date: Sun, 28 Jul 2024 16:22:25 -0300 Subject: [PATCH] done --- ...locking-on-Network-Manager-creation.patch} | 33 +++++++++---------- ...Manager-and-add-advanced-packet-sup.patch} | 21 +++++++----- ...rolled-flushing-for-network-manager.patch} | 2 +- ...sh-calls-for-entity-tracker-packets.patch} | 0 ...3-Optimise-non-flush-packet-sending.patch} | 2 +- ...e-Explicit-Network-Manager-Flushing.patch} | 2 +- ...h => 0015-PandaSpigot-Configuration.patch} | 0 ...atch => 0016-Configurable-knockback.patch} | 0 ...=> 0017-Optimize-World-Time-Updates.patch} | 2 +- ...-Configurable-time-update-frequency.patch} | 4 +-- ....patch => 0019-Smooth-teleportation.patch} | 2 +- ...ch => 0020-Configurable-data-saving.patch} | 2 +- ...per-thread-native-byte-buffer-cache.patch} | 0 ...atch => 0022-Branchless-NibbleArray.patch} | 0 ...Event.patch => 0023-EntityMoveEvent.patch} | 0 ...024-Player-Chunk-Load-Unload-Events.patch} | 0 ...atch => 0025-Configurable-entity-AI.patch} | 2 +- ...-2380.patch => 0026-Fix-SPIGOT-2380.patch} | 0 ...27-Use-a-Shared-Random-for-Entities.patch} | 0 ...-Optimize-VarInt-reading-and-writing.patch | 6 ++-- 20 files changed, 40 insertions(+), 38 deletions(-) rename patches/server/{0027-Avoid-blocking-on-Network-Manager-creation.patch => 0009-Avoid-blocking-on-Network-Manager-creation.patch} (67%) rename patches/server/{0009-Optimize-Network-Manager-and-add-advanced-packet-sup.patch => 0010-Optimize-Network-Manager-and-add-advanced-packet-sup.patch} (96%) rename patches/server/{0010-Allow-controlled-flushing-for-network-manager.patch => 0011-Allow-controlled-flushing-for-network-manager.patch} (98%) rename patches/server/{0011-Consolidate-flush-calls-for-entity-tracker-packets.patch => 0012-Consolidate-flush-calls-for-entity-tracker-packets.patch} (100%) rename patches/server/{0012-Optimise-non-flush-packet-sending.patch => 0013-Optimise-non-flush-packet-sending.patch} (95%) rename patches/server/{0013-Disable-Explicit-Network-Manager-Flushing.patch => 0014-Disable-Explicit-Network-Manager-Flushing.patch} (94%) rename patches/server/{0014-PandaSpigot-Configuration.patch => 0015-PandaSpigot-Configuration.patch} (100%) rename patches/server/{0015-Configurable-knockback.patch => 0016-Configurable-knockback.patch} (100%) rename patches/server/{0016-Optimize-World-Time-Updates.patch => 0017-Optimize-World-Time-Updates.patch} (96%) rename patches/server/{0017-Configurable-time-update-frequency.patch => 0018-Configurable-time-update-frequency.patch} (92%) rename patches/server/{0018-Smooth-teleportation.patch => 0019-Smooth-teleportation.patch} (97%) rename patches/server/{0019-Configurable-data-saving.patch => 0020-Configurable-data-saving.patch} (97%) rename patches/server/{0020-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch => 0021-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch} (100%) rename patches/server/{0021-Branchless-NibbleArray.patch => 0022-Branchless-NibbleArray.patch} (100%) rename patches/server/{0022-EntityMoveEvent.patch => 0023-EntityMoveEvent.patch} (100%) rename patches/server/{0023-Player-Chunk-Load-Unload-Events.patch => 0024-Player-Chunk-Load-Unload-Events.patch} (100%) rename patches/server/{0024-Configurable-entity-AI.patch => 0025-Configurable-entity-AI.patch} (95%) rename patches/server/{0025-Fix-SPIGOT-2380.patch => 0026-Fix-SPIGOT-2380.patch} (100%) rename patches/server/{0026-Use-a-Shared-Random-for-Entities.patch => 0027-Use-a-Shared-Random-for-Entities.patch} (100%) diff --git a/patches/server/0027-Avoid-blocking-on-Network-Manager-creation.patch b/patches/server/0009-Avoid-blocking-on-Network-Manager-creation.patch similarity index 67% rename from patches/server/0027-Avoid-blocking-on-Network-Manager-creation.patch rename to patches/server/0009-Avoid-blocking-on-Network-Manager-creation.patch index 52c3a261..64826b27 100644 --- a/patches/server/0027-Avoid-blocking-on-Network-Manager-creation.patch +++ b/patches/server/0009-Avoid-blocking-on-Network-Manager-creation.patch @@ -1,46 +1,43 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Aikar -Date: Wed, 3 Nov 2021 19:45:25 -0400 +Date: Mon, 16 May 2016 23:19:16 -0400 Subject: [PATCH] Avoid blocking on Network Manager creation Per Paper issue 294 diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java -index 3910bafa064017f7b3966fec8e6139493d8333e2..74e3b21c29cc208f53113d791513714f8224fad9 100644 +index 578d03ead09c3c126fcd2da0657e1d94dbba9840..180b1432e8fbbc516ecfb60ba2da4cd319d85a97 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java -@@ -63,6 +63,16 @@ public class ServerConnection { +@@ -61,6 +61,15 @@ public class ServerConnection { + public volatile boolean d; + private final List g = Collections.synchronizedList(Lists.newArrayList()); private final List h = Collections.synchronizedList(Lists.newArrayList()); - private static final boolean disableFlushConsolidation = Boolean.getBoolean("Paper.disableFlushConsolidate"); // PandaSpigot - -+ // PandaSpigot start - prevent blocking on adding a new network manager while the server is ticking ++ // PandaSpigot start - Prevent blocking on adding a new network manager while the server is ticking + private final java.util.Queue pending = new java.util.concurrent.ConcurrentLinkedQueue<>(); + private void addPending() { -+ NetworkManager manager; ++ NetworkManager manager = null; + while ((manager = pending.poll()) != null) { -+ manager.isPending = false; -+ this.h.add(manager); ++ h.add(manager); + } + } + // PandaSpigot end + public ServerConnection(MinecraftServer minecraftserver) { this.f = minecraftserver; - this.d = true; -@@ -107,8 +117,11 @@ public class ServerConnection { - if (!disableFlushConsolidation) channel.pipeline().addFirst(new io.netty.handler.flush.FlushConsolidationHandler()); // PandaSpigot +@@ -106,7 +115,10 @@ public class ServerConnection { channel.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new LegacyPingHandler(ServerConnection.this)).addLast("splitter", new PacketSplitter()).addLast("decoder", new PacketDecoder(EnumProtocolDirection.SERVERBOUND)).addLast("prepender", new PacketPrepender()).addLast("encoder", new PacketEncoder(EnumProtocolDirection.CLIENTBOUND)); NetworkManager networkmanager = new NetworkManager(EnumProtocolDirection.SERVERBOUND); -- + - ServerConnection.this.h.add(networkmanager); -+ -+ // PandaSpigot start - prevent blocking on adding a new network manager while the server is ticking -+ //ServerConnection.this.h.add(networkmanager); -+ ServerConnection.this.pending.add(networkmanager); ++ // PandaSpigot start ++ // ServerConnection.this.h.add(networkmanager); ++ pending.add(networkmanager); + // PandaSpigot end channel.pipeline().addLast("packet_handler", networkmanager); networkmanager.a((PacketListener) (new HandshakeListener(ServerConnection.this.f, networkmanager))); } -@@ -136,6 +149,7 @@ public class ServerConnection { +@@ -134,6 +146,7 @@ public class ServerConnection { List list = this.h; synchronized (this.h) { diff --git a/patches/server/0009-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0010-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 96% rename from patches/server/0009-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to patches/server/0010-Optimize-Network-Manager-and-add-advanced-packet-sup.patch index 6363f6ed..3fd32b91 100644 --- a/patches/server/0009-Optimize-Network-Manager-and-add-advanced-packet-sup.patch +++ b/patches/server/0010-Optimize-Network-Manager-and-add-advanced-packet-sup.patch @@ -388,18 +388,23 @@ index fdc142b75b78289f01a9e9fed6f36432624735db..bb18dac7a3554a8a6cb93d24bc539901 + // PandaSpigot end } diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java -index 578d03ead09c3c126fcd2da0657e1d94dbba9840..3910bafa064017f7b3966fec8e6139493d8333e2 100644 +index 180b1432e8fbbc516ecfb60ba2da4cd319d85a97..e390ceef529d98c10bc467ed5517e1ab17b336e0 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java -@@ -61,6 +61,7 @@ public class ServerConnection { - public volatile boolean d; - private final List g = Collections.synchronizedList(Lists.newArrayList()); +@@ -63,10 +63,12 @@ public class ServerConnection { private final List h = Collections.synchronizedList(Lists.newArrayList()); + // PandaSpigot start - Prevent blocking on adding a new network manager while the server is ticking + private final java.util.Queue pending = new java.util.concurrent.ConcurrentLinkedQueue<>(); + private static final boolean disableFlushConsolidation = Boolean.getBoolean("Paper.disableFlushConsolidate"); // PandaSpigot - - public ServerConnection(MinecraftServer minecraftserver) { - this.f = minecraftserver; -@@ -103,6 +104,7 @@ public class ServerConnection { + private void addPending() { + NetworkManager manager = null; + while ((manager = pending.poll()) != null) { + h.add(manager); ++ manager.isPending = false; + } + } + // PandaSpigot end +@@ -112,6 +114,7 @@ public class ServerConnection { ; } diff --git a/patches/server/0010-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0011-Allow-controlled-flushing-for-network-manager.patch similarity index 98% rename from patches/server/0010-Allow-controlled-flushing-for-network-manager.patch rename to patches/server/0011-Allow-controlled-flushing-for-network-manager.patch index 71906ac8..0ea1de1e 100644 --- a/patches/server/0010-Allow-controlled-flushing-for-network-manager.patch +++ b/patches/server/0011-Allow-controlled-flushing-for-network-manager.patch @@ -8,7 +8,7 @@ Only make one flush call when emptying the packet queue too. This patch will be used to optimise out flush calls in later patches. diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index d4bf50c990f3af95225aba2e05269ab9dd2d96ff..e84611e59c7e365e312b51d888dafc75f4aacbbc 100644 +index 067793583980d102f8310f6197a52d2f126d15d4..da76acafb5ffaea16f6a4dc28122c82f41bed318 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -80,6 +80,38 @@ public class NetworkManager extends SimpleChannelInboundHandler { diff --git a/patches/server/0011-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0012-Consolidate-flush-calls-for-entity-tracker-packets.patch similarity index 100% rename from patches/server/0011-Consolidate-flush-calls-for-entity-tracker-packets.patch rename to patches/server/0012-Consolidate-flush-calls-for-entity-tracker-packets.patch diff --git a/patches/server/0012-Optimise-non-flush-packet-sending.patch b/patches/server/0013-Optimise-non-flush-packet-sending.patch similarity index 95% rename from patches/server/0012-Optimise-non-flush-packet-sending.patch rename to patches/server/0013-Optimise-non-flush-packet-sending.patch index 0d67d48c..f7ac0d46 100644 --- a/patches/server/0012-Optimise-non-flush-packet-sending.patch +++ b/patches/server/0013-Optimise-non-flush-packet-sending.patch @@ -20,7 +20,7 @@ up on this optimisation before he came along. Locally this patch drops the entity tracker tick by a full 1.5x. diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index a23b96476acd2b01464a61e716277157aba4c979..1dfd9f5ed6c2d5dd8735a4f01fe4c6c8ac14dbf3 100644 +index da76acafb5ffaea16f6a4dc28122c82f41bed318..ae7c6e289c8a6d9f8bdd4911e90e2ef9840069a2 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -304,8 +304,7 @@ public class NetworkManager extends SimpleChannelInboundHandler { diff --git a/patches/server/0013-Disable-Explicit-Network-Manager-Flushing.patch b/patches/server/0014-Disable-Explicit-Network-Manager-Flushing.patch similarity index 94% rename from patches/server/0013-Disable-Explicit-Network-Manager-Flushing.patch rename to patches/server/0014-Disable-Explicit-Network-Manager-Flushing.patch index 792d8f5f..f053ebbd 100644 --- a/patches/server/0013-Disable-Explicit-Network-Manager-Flushing.patch +++ b/patches/server/0014-Disable-Explicit-Network-Manager-Flushing.patch @@ -12,7 +12,7 @@ flushing on the netty event loop, so it won't do the flush on the main thread. Renable flushing by passing -Dpaper.explicit-flush=true diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 1dfd9f5ed6c2d5dd8735a4f01fe4c6c8ac14dbf3..df8ff41f691626de37f706df187269bee032358f 100644 +index ae7c6e289c8a6d9f8bdd4911e90e2ef9840069a2..d547fe7b3a1e2355043a82cec9d40b69b2e410b0 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -74,6 +74,7 @@ public class NetworkManager extends SimpleChannelInboundHandler { diff --git a/patches/server/0014-PandaSpigot-Configuration.patch b/patches/server/0015-PandaSpigot-Configuration.patch similarity index 100% rename from patches/server/0014-PandaSpigot-Configuration.patch rename to patches/server/0015-PandaSpigot-Configuration.patch diff --git a/patches/server/0015-Configurable-knockback.patch b/patches/server/0016-Configurable-knockback.patch similarity index 100% rename from patches/server/0015-Configurable-knockback.patch rename to patches/server/0016-Configurable-knockback.patch diff --git a/patches/server/0016-Optimize-World-Time-Updates.patch b/patches/server/0017-Optimize-World-Time-Updates.patch similarity index 96% rename from patches/server/0016-Optimize-World-Time-Updates.patch rename to patches/server/0017-Optimize-World-Time-Updates.patch index c62d095e..25e71df1 100644 --- a/patches/server/0016-Optimize-World-Time-Updates.patch +++ b/patches/server/0017-Optimize-World-Time-Updates.patch @@ -8,7 +8,7 @@ the updates per world, so that we can re-use the same packet object for every player unless they have per-player time enabled. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c7b6bc4eb4103af9e3385b88984271a009ef5afc..f5bd918aad71d8f1c24c39bb786ef91eed7372b2 100644 +index 06e023994050a07d2efed174b1fbd8f1eddcd231..8f394d5fe6f0f0640a942f15ae69582bfd70b4c8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -899,12 +899,24 @@ public abstract class MinecraftServer extends com.hpfxd.pandaspigot.tickloop.Ree diff --git a/patches/server/0017-Configurable-time-update-frequency.patch b/patches/server/0018-Configurable-time-update-frequency.patch similarity index 92% rename from patches/server/0017-Configurable-time-update-frequency.patch rename to patches/server/0018-Configurable-time-update-frequency.patch index ab9746fa..ab873d85 100644 --- a/patches/server/0017-Configurable-time-update-frequency.patch +++ b/patches/server/0018-Configurable-time-update-frequency.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable time update frequency. diff --git a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java -index 0e781b78cb37bd85f9f753bd351d7c724a561bd7..023820936a0684c97fefb115e7ab10d35413ce6f 100644 +index 3dd3d0702c17541083d0d365ca46e93602105bce..b5f16e8cab9e43ad7597b2ea5bc921399b37872b 100644 --- a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java +++ b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java @@ -6,6 +6,13 @@ import org.spongepowered.configurate.objectmapping.meta.Comment; @@ -23,7 +23,7 @@ index 0e781b78cb37bd85f9f753bd351d7c724a561bd7..023820936a0684c97fefb115e7ab10d3 public KnockbackConfig knockback; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f5bd918aad71d8f1c24c39bb786ef91eed7372b2..9e3bb94f11263c4614f18c282ae236d03599619a 100644 +index 8f394d5fe6f0f0640a942f15ae69582bfd70b4c8..b7decb879f530345b82722aeb1294864feecd2c2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -906,7 +906,7 @@ public abstract class MinecraftServer extends com.hpfxd.pandaspigot.tickloop.Ree diff --git a/patches/server/0018-Smooth-teleportation.patch b/patches/server/0019-Smooth-teleportation.patch similarity index 97% rename from patches/server/0018-Smooth-teleportation.patch rename to patches/server/0019-Smooth-teleportation.patch index 6f2ec8f0..ffbc2cb9 100644 --- a/patches/server/0018-Smooth-teleportation.patch +++ b/patches/server/0019-Smooth-teleportation.patch @@ -8,7 +8,7 @@ will send a relative teleport packet indicating that the player's rotation should stay the same as it currently is on the client. diff --git a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java -index 023820936a0684c97fefb115e7ab10d35413ce6f..29c74482046bdba073c68c3baeea010f1e134b51 100644 +index b5f16e8cab9e43ad7597b2ea5bc921399b37872b..bde014f003bccca916dbc74fc27436bf4b193fdf 100644 --- a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java +++ b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java @@ -13,6 +13,15 @@ public class PandaSpigotWorldConfig { diff --git a/patches/server/0019-Configurable-data-saving.patch b/patches/server/0020-Configurable-data-saving.patch similarity index 97% rename from patches/server/0019-Configurable-data-saving.patch rename to patches/server/0020-Configurable-data-saving.patch index 28259e84..f6866978 100644 --- a/patches/server/0019-Configurable-data-saving.patch +++ b/patches/server/0020-Configurable-data-saving.patch @@ -8,7 +8,7 @@ This patch adds configuration options for: - Region writing (world data) diff --git a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java -index 29c74482046bdba073c68c3baeea010f1e134b51..75f46d3db814ae48e8a1a12884aacb8bf5afe017 100644 +index bde014f003bccca916dbc74fc27436bf4b193fdf..fb9db2dafcf180dbb25c768936cb59a58a7a3584 100644 --- a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java +++ b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java @@ -22,6 +22,15 @@ public class PandaSpigotWorldConfig { diff --git a/patches/server/0020-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/patches/server/0021-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch similarity index 100% rename from patches/server/0020-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch rename to patches/server/0021-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch diff --git a/patches/server/0021-Branchless-NibbleArray.patch b/patches/server/0022-Branchless-NibbleArray.patch similarity index 100% rename from patches/server/0021-Branchless-NibbleArray.patch rename to patches/server/0022-Branchless-NibbleArray.patch diff --git a/patches/server/0022-EntityMoveEvent.patch b/patches/server/0023-EntityMoveEvent.patch similarity index 100% rename from patches/server/0022-EntityMoveEvent.patch rename to patches/server/0023-EntityMoveEvent.patch diff --git a/patches/server/0023-Player-Chunk-Load-Unload-Events.patch b/patches/server/0024-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/server/0023-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0024-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/server/0024-Configurable-entity-AI.patch b/patches/server/0025-Configurable-entity-AI.patch similarity index 95% rename from patches/server/0024-Configurable-entity-AI.patch rename to patches/server/0025-Configurable-entity-AI.patch index b4220780..7856e869 100644 --- a/patches/server/0024-Configurable-entity-AI.patch +++ b/patches/server/0025-Configurable-entity-AI.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity AI diff --git a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java -index 75f46d3db814ae48e8a1a12884aacb8bf5afe017..1d35967a27245ab12ea76db9218662eb6a4b8306 100644 +index fb9db2dafcf180dbb25c768936cb59a58a7a3584..04f04ce721aa06fba935618176c77587e305a5b0 100644 --- a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java +++ b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotWorldConfig.java @@ -31,6 +31,11 @@ public class PandaSpigotWorldConfig { diff --git a/patches/server/0025-Fix-SPIGOT-2380.patch b/patches/server/0026-Fix-SPIGOT-2380.patch similarity index 100% rename from patches/server/0025-Fix-SPIGOT-2380.patch rename to patches/server/0026-Fix-SPIGOT-2380.patch diff --git a/patches/server/0026-Use-a-Shared-Random-for-Entities.patch b/patches/server/0027-Use-a-Shared-Random-for-Entities.patch similarity index 100% rename from patches/server/0026-Use-a-Shared-Random-for-Entities.patch rename to patches/server/0027-Use-a-Shared-Random-for-Entities.patch diff --git a/patches/server/0038-Optimize-VarInt-reading-and-writing.patch b/patches/server/0038-Optimize-VarInt-reading-and-writing.patch index d54a21ba..aaac163a 100644 --- a/patches/server/0038-Optimize-VarInt-reading-and-writing.patch +++ b/patches/server/0038-Optimize-VarInt-reading-and-writing.patch @@ -317,7 +317,7 @@ index c51a1f7d1a57acde1e5c7378fe35c30547107052..3f9cdbff6746ed0776b32d9649e5689f } } diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java -index dfe92f3cb3a5b02ee2480beb7e49f0c02acfa47f..0bcf1d732e2263471f741a3c634a020c758845d4 100644 +index e390ceef529d98c10bc467ed5517e1ab17b336e0..d36914ec45056328308bb77878a006df4b5e59bd 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java @@ -115,7 +115,14 @@ public class ServerConnection { @@ -334,5 +334,5 @@ index dfe92f3cb3a5b02ee2480beb7e49f0c02acfa47f..0bcf1d732e2263471f741a3c634a020c + .addLast("encoder", new PacketEncoder(EnumProtocolDirection.CLIENTBOUND)); + // PandaSpigot end NetworkManager networkmanager = new NetworkManager(EnumProtocolDirection.SERVERBOUND); - - // PandaSpigot start - prevent blocking on adding a new network manager while the server is ticking + + // PandaSpigot start