From 9df669b7658cb89c04f6d939a8b9551e359fca6c Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Thu, 6 Jul 2023 16:08:11 +0800 Subject: [PATCH] Add mspt sync interval --- patches/server/0004-Leaves-Server-Config-And-Command.patch | 6 ++++-- patches/server/0078-Bladeren-mspt-sync-protocol.patch | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/patches/server/0004-Leaves-Server-Config-And-Command.patch b/patches/server/0004-Leaves-Server-Config-And-Command.patch index 73ed6504..9f1f74fb 100644 --- a/patches/server/0004-Leaves-Server-Config-And-Command.patch +++ b/patches/server/0004-Leaves-Server-Config-And-Command.patch @@ -128,10 +128,10 @@ index 35d2da9d91dcdd89de7c0f4af028fd182376ea8d..d73482fb1e71fe2951e96ae0593de268 .withRequiredArg() diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..cf9f2097abbfe6050b91301b2807feed7f697b71 +index 0000000000000000000000000000000000000000..5ce1642b5e2ac2847cf48eb2e03de869e15598a1 --- /dev/null +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -@@ -0,0 +1,802 @@ +@@ -0,0 +1,804 @@ +package top.leavesmc.leaves; + +import com.destroystokyo.paper.util.SneakyThrow; @@ -745,7 +745,9 @@ index 0000000000000000000000000000000000000000..cf9f2097abbfe6050b91301b2807feed + } + + public static boolean msptSyncProtocol = false; ++ public static int msptSyncTickInterval = 20; + private static void msptSyncProtocol() { ++ msptSyncTickInterval = getInt("settings.protocol.bladeren.mspt-sync-tick-interval", msptSyncTickInterval); + msptSyncProtocol = getBoolean("settings.protocol.bladeren.mspt-sync-protocol", msptSyncProtocol); + } + diff --git a/patches/server/0078-Bladeren-mspt-sync-protocol.patch b/patches/server/0078-Bladeren-mspt-sync-protocol.patch index 7247f88d..19637f42 100644 --- a/patches/server/0078-Bladeren-mspt-sync-protocol.patch +++ b/patches/server/0078-Bladeren-mspt-sync-protocol.patch @@ -17,7 +17,7 @@ index b8fd91fc1ebaafad28cfa08d5af71aa3b1c54da4..f393f9ae4465b8970122b2707290cac4 MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper for (int i = 0; i < this.tickables.size(); ++i) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d5659ed1f59967060b4e511a571a7f3765b25c00..3a7c55d58693c129c1e560cd583bf4bc20ee1092 100644 +index c1250c4cb331f3ac8fed0f9ffda8b4eab529f668..e738d0178d7c19c09e77ac4452a02d347743990e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3579,6 +3579,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -52,7 +52,7 @@ index fb6810289ac855e622d3970101f27b2133bd67d2..5b03b63653c6b5586fb8d6ac7766bead diff --git a/src/main/java/top/leavesmc/leaves/protocol/bladeren/MsptSyncProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/bladeren/MsptSyncProtocol.java new file mode 100644 -index 0000000000000000000000000000000000000000..3c2d1d5ec50ef6ebc448e82b0d5347b669ae6a5b +index 0000000000000000000000000000000000000000..0f9062d409267f7ea9df9bac4e4323b497448545 --- /dev/null +++ b/src/main/java/top/leavesmc/leaves/protocol/bladeren/MsptSyncProtocol.java @@ -0,0 +1,63 @@ @@ -108,7 +108,7 @@ index 0000000000000000000000000000000000000000..3c2d1d5ec50ef6ebc448e82b0d5347b6 + + public static void tick(MinecraftServer server) { + if (LeavesConfig.msptSyncProtocol) { -+ if (server.getTickCount() % 20 == 0 && !players.isEmpty()) { ++ if (server.getTickCount() % LeavesConfig.msptSyncTickInterval == 0 && !players.isEmpty()) { + FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); + double mspt = Arrays.stream(server.tickTimes).average().getAsDouble() * 1.0E-6D; + double tps = 1000.0D / Math.max(mspt, 50);