Configurable Chunks Sends per Tick setting

Vanilla already had this limited, make it configurable.

Limit how much exploration lags the server
This commit is contained in:
Aikar 2018-01-01 16:36:23 -05:00
parent c3432c8d29
commit baeb737366
No known key found for this signature in database
GPG key ID: 401ADFC9891FAAFE

View file

@ -0,0 +1,43 @@
From 2c55e0419fd86daf3bd17a4e20c8ee528dfde170 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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