This is generated by calude As it's only change the display, no tests and review are required
62 lines
4.7 KiB
Diff
62 lines
4.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Helvetica Volubi <suisuroru@blue-millennium.fun>
|
|
Date: Sun, 28 Jun 2026 20:57:48 +0800
|
|
Subject: [PATCH] Leaves: Disable packet limit & Camellia: Option to full
|
|
disable packet limiter
|
|
|
|
|
|
diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java
|
|
index d0dff5850717bd083b7a29104a61754ce1b2f822..d0809790e3b3526622af4f7a7eca6c52a6b4044e 100644
|
|
--- a/net/minecraft/network/Connection.java
|
|
+++ b/net/minecraft/network/Connection.java
|
|
@@ -258,8 +258,8 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
|
if (this.stopReadingPackets) {
|
|
return;
|
|
}
|
|
- if (this.allPacketCounts != null ||
|
|
- io.papermc.paper.configuration.GlobalConfiguration.get().packetLimiter.overrides.containsKey(packet.getClass())) {
|
|
+ if (!moe.monnairealms.camellia.config.modules.misc.PaperPacketLimiterConfig.forceDisable && (this.allPacketCounts != null || // Camellia - Add config to force disable the packet limiter of Paper
|
|
+ io.papermc.paper.configuration.GlobalConfiguration.get().packetLimiter.overrides.containsKey(packet.getClass()))) { // Camellia - Add config to force disable the packet limiter of Paper
|
|
long time = System.nanoTime();
|
|
synchronized (PACKET_LIMIT_LOCK) {
|
|
if (this.allPacketCounts != null) {
|
|
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
index 9fe5ee1c5578be6f6c5ad9a58e10669a4b7ac75a..ee4b6d293c32c00e6173cf8efe8aecce67574e6e 100644
|
|
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
@@ -877,7 +877,7 @@ public class ServerGamePacketListenerImpl
|
|
public void handleCustomCommandSuggestions(final ServerboundCommandSuggestionPacket packet) {
|
|
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level()); // Paper - AsyncTabCompleteEvent; run this async
|
|
// CraftBukkit start
|
|
- if (!this.tabSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.nameAndId()) && !this.server.isSingleplayerOwner(this.player.nameAndId())) { // Paper - configurable tab spam limits
|
|
+ if (!moe.monnairealms.camellia.config.modules.misc.PaperPacketLimiterConfig.forceDisable && !this.tabSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.nameAndId()) && !this.server.isSingleplayerOwner(this.player.nameAndId())) { // Paper - configurable tab spam limits // Leaves - can disable
|
|
this.disconnectAsync(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM); // Paper - Kick event cause // Paper - add proper async disconnect
|
|
return;
|
|
}
|
|
@@ -2111,6 +2111,7 @@ public class ServerGamePacketListenerImpl
|
|
private long lastLimitedPacket = -1;
|
|
|
|
private boolean checkLimit(long timestamp) {
|
|
+ if (moe.monnairealms.camellia.config.modules.misc.PaperPacketLimiterConfig.forceDisable) return true; // Leaves - disable
|
|
if (!io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.incomingPacketThreshold.enabled()) {
|
|
return true;
|
|
}
|
|
@@ -2677,6 +2678,8 @@ public class ServerGamePacketListenerImpl
|
|
|
|
// Spigot start - spam exclusions
|
|
private void detectRateSpam(final TickThrottler throttler, final String message) {
|
|
+ if (moe.monnairealms.camellia.config.modules.misc.PaperPacketLimiterConfig.forceDisable) return; // Leaves - disable
|
|
+ // CraftBukkit start - replaced with thread safe throttle
|
|
if (org.spigotmc.SpigotConfig.enableSpamExclusions) {
|
|
for (String exclude : org.spigotmc.SpigotConfig.spamExclusions) {
|
|
if (exclude != null && message.startsWith(exclude)) {
|
|
@@ -3475,7 +3478,7 @@ public class ServerGamePacketListenerImpl
|
|
@Override
|
|
public void handlePlaceRecipe(final ServerboundPlaceRecipePacket packet) {
|
|
// Paper start - auto recipe limit
|
|
- if (!org.bukkit.Bukkit.isPrimaryThread()) {
|
|
+ if (!moe.monnairealms.camellia.config.modules.misc.PaperPacketLimiterConfig.forceDisable && !org.bukkit.Bukkit.isPrimaryThread()) { // Leaves - can disable
|
|
if (!this.recipeSpamPackets.isIncrementAndUnderThreshold()) {
|
|
this.disconnectAsync(net.minecraft.network.chat.Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM); // Paper - kick event cause // Paper - add proper async disconnect
|
|
return;
|