mirror of
https://github.com/PaperMC/Paper.git
synced 2025-07-26 09:42:06 -07:00
Unlimited chunk load rate (#6768)
This commit is contained in:
@@ -84,8 +84,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
commands.put("paper", new PaperCommand("paper"));
|
commands.put("paper", new PaperCommand("paper"));
|
||||||
+ commands.put("mspt", new MSPTCommand("mspt"));
|
+ commands.put("mspt", new MSPTCommand("mspt"));
|
||||||
|
|
||||||
version = getInt("config-version", 22);
|
version = getInt("config-version", 23);
|
||||||
set("config-version", 22);
|
set("config-version", 23);
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
@@ -364,8 +364,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ commands = new HashMap<String, Command>();
|
+ commands = new HashMap<String, Command>();
|
||||||
+ commands.put("paper", new PaperCommand("paper"));
|
+ commands.put("paper", new PaperCommand("paper"));
|
||||||
+
|
+
|
||||||
+ version = getInt("config-version", 22);
|
+ version = getInt("config-version", 23);
|
||||||
+ set("config-version", 22);
|
+ set("config-version", 23);
|
||||||
+ readConfig(PaperConfig.class, null);
|
+ readConfig(PaperConfig.class, null);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
@@ -22,7 +22,7 @@ chunk-loading:
|
|||||||
target-player-chunk-send-rate: 100.0
|
target-player-chunk-send-rate: 100.0
|
||||||
global-max-chunk-send-rate: -1
|
global-max-chunk-send-rate: -1
|
||||||
enable-frustum-priority: false
|
enable-frustum-priority: false
|
||||||
global-max-chunk-load-rate: 300.0
|
global-max-chunk-load-rate: -1.0
|
||||||
player-max-concurrent-loads: 4.0
|
player-max-concurrent-loads: 4.0
|
||||||
global-max-concurrent-loads: 500.0
|
global-max-concurrent-loads: 500.0
|
||||||
```
|
```
|
||||||
@@ -58,7 +58,7 @@ because the client can bug out due to the out of order
|
|||||||
chunk sending.
|
chunk sending.
|
||||||
|
|
||||||
global-max-chunk-load-rate - The maximum chunk load rate
|
global-max-chunk-load-rate - The maximum chunk load rate
|
||||||
for the whole server.
|
for the whole server. -1 means no limit
|
||||||
|
|
||||||
player-max-concurrent-loads and global-max-concurrent-loads
|
player-max-concurrent-loads and global-max-concurrent-loads
|
||||||
The maximum number of concurrent loads for the server is
|
The maximum number of concurrent loads for the server is
|
||||||
@@ -105,7 +105,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ playerTargetChunkSendRate = getDouble("settings.chunk-loading.target-player-chunk-send-rate", 100.0);
|
+ playerTargetChunkSendRate = getDouble("settings.chunk-loading.target-player-chunk-send-rate", 100.0);
|
||||||
+ globalMaxChunkSendRate = getDouble("settings.chunk-loading.global-max-chunk-send-rate", -1.0);
|
+ globalMaxChunkSendRate = getDouble("settings.chunk-loading.global-max-chunk-send-rate", -1.0);
|
||||||
+ playerFrustumPrioritisation = getBoolean("settings.chunk-loading.enable-frustum-priority", false);
|
+ playerFrustumPrioritisation = getBoolean("settings.chunk-loading.enable-frustum-priority", false);
|
||||||
+ globalMaxChunkLoadRate = getDouble("settings.chunk-loading.global-max-chunk-load-rate", 300.0);
|
+ globalMaxChunkLoadRate = getDouble("settings.chunk-loading.global-max-chunk-load-rate", -1.0);
|
||||||
|
+ if (version < 23 && globalMaxChunkLoadRate == 300.0) {
|
||||||
|
+ set("settings.chunk-loading.global-max-chunk-load-rate", -1.0);
|
||||||
|
+ }
|
||||||
+ playerMaxConcurrentChunkLoads = getDouble("settings.chunk-loading.player-max-concurrent-loads", 4.0);
|
+ playerMaxConcurrentChunkLoads = getDouble("settings.chunk-loading.player-max-concurrent-loads", 4.0);
|
||||||
+ globalMaxConcurrentChunkLoads = getDouble("settings.chunk-loading.global-max-concurrent-loads", 500.0);
|
+ globalMaxConcurrentChunkLoads = getDouble("settings.chunk-loading.global-max-concurrent-loads", 500.0);
|
||||||
+ }
|
+ }
|
||||||
@@ -701,7 +704,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ // priority > 0.0 implies rate limited chunks
|
+ // priority > 0.0 implies rate limited chunks
|
||||||
+
|
+
|
||||||
+ final int currentChunkLoads = this.concurrentChunkLoads;
|
+ final int currentChunkLoads = this.concurrentChunkLoads;
|
||||||
+ if (currentChunkLoads >= maxLoads || (TICKET_ADDITION_COUNTER_SHORT.getRate() >= PaperConfig.globalMaxChunkLoadRate || TICKET_ADDITION_COUNTER_LONG.getRate() >= PaperConfig.globalMaxChunkLoadRate)) {
|
+ if (currentChunkLoads >= maxLoads || (PaperConfig.globalMaxChunkLoadRate > 0 && (TICKET_ADDITION_COUNTER_SHORT.getRate() >= PaperConfig.globalMaxChunkLoadRate || TICKET_ADDITION_COUNTER_LONG.getRate() >= PaperConfig.globalMaxChunkLoadRate))) {
|
||||||
+ // don't poll, we didn't load it
|
+ // don't poll, we didn't load it
|
||||||
+ this.chunkLoadQueue.add(data);
|
+ this.chunkLoadQueue.add(data);
|
||||||
+ break;
|
+ break;
|
||||||
|
Reference in New Issue
Block a user