diff --git a/Spigot-Server-Patches/0260-Configurable-Chunks-Sends-per-Tick-setting.patch b/Spigot-Server-Patches/0260-Configurable-Chunks-Sends-per-Tick-setting.patch new file mode 100644 index 0000000000..123e87508c --- /dev/null +++ b/Spigot-Server-Patches/0260-Configurable-Chunks-Sends-per-Tick-setting.patch @@ -0,0 +1,43 @@ +From 2c55e0419fd86daf3bd17a4e20c8ee528dfde170 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 1 Jan 2018 15:41:59 -0500 +Subject: [PATCH] Configurable Chunks Sends per Tick setting + +Vanilla already had this limited, make it configurable. + +Limit how much exploration lags the server + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 47d352285..e40ef515e 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -458,4 +458,13 @@ public class PaperWorldConfig { + expMergeMaxValue = getInt("experience-merge-max-value", -1); + log("Experience Merge Max Value: " + expMergeMaxValue); + } ++ ++ public int maxChunkSendsPerTick = 81; ++ private void maxChunkSendsPerTick() { ++ maxChunkSendsPerTick = getInt("max-chunk-sends-per-tick", maxChunkSendsPerTick); ++ if (maxChunkSendsPerTick <= 0) { ++ maxChunkSendsPerTick = 81; ++ } ++ log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick); ++ } + } +diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java +index 4af557321..6ee9f6cfb 100644 +--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java ++++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +@@ -198,7 +198,7 @@ public class PlayerChunkMap { + } + + if (!this.g.isEmpty()) { +- j = 81; ++ j = world.paperConfig.maxChunkSendsPerTick; // Paper + try (Timing ignored = world.timings.doChunkMapPendingSendToPlayers.startTiming()) { // Paper + Iterator iterator2 = this.g.iterator(); + +-- +2.15.1 +