geforkt von Mirrors/Paper
0708fa363b
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes:eb2e6578
SPIGOT-5116: Fix concurrent modification exception inside ChunkMapDistance989f9b3d
SPIGOT-4849: Fix server crash when accessing chunks during chunk load/unload/populate eventsf554183c
SPIGOT-5171: Don't fire PlayerTeleportEvent if not actually moving2349feb8
SPIGOT-5163: Cancelling PlayerBucketFillEvent visually removes the targeted block Spigot Changes: 9a643a6a Remove DataWatcher Locking
38 Zeilen
1.7 KiB
Diff
38 Zeilen
1.7 KiB
Diff
From e35a1d6f383a4a69dfa9567882bb7eb3aa207ff4 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sun, 11 Mar 2018 14:13:33 -0400
|
|
Subject: [PATCH] Disable Explicit Network Manager Flushing
|
|
|
|
This seems completely pointless, as packet dispatch uses .writeAndFlush.
|
|
|
|
Things seem to work fine without explicit flushing, but incase issues arise,
|
|
provide a System property to re-enable it using improved logic of doing the
|
|
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 ae60f757e..efd02bd67 100644
|
|
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
|
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
|
@@ -65,6 +65,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
// Paper start - NetworkClient implementation
|
|
public int protocolVersion;
|
|
public java.net.InetSocketAddress virtualHost;
|
|
+ private static boolean enableExplicitFlush = Boolean.getBoolean("paper.explicit-flush");
|
|
// Paper end
|
|
|
|
public NetworkManager(EnumProtocolDirection enumprotocoldirection) {
|
|
@@ -241,7 +242,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
}
|
|
|
|
if (this.channel != null) {
|
|
- this.channel.flush();
|
|
+ if (enableExplicitFlush) this.channel.eventLoop().execute(() -> this.channel.flush()); // Paper - we don't need to explicit flush here, but allow opt in incase issues are found to a better version
|
|
}
|
|
|
|
if (this.u++ % 20 == 0) {
|
|
--
|
|
2.22.0
|
|
|