spigot/CraftBukkit-Patches/0035-Spam-Filter-Exclusions.patch

81 lines
3.3 KiB
Diff
Raw Normal View History

2025-07-01 00:10:00 +10:00
From 4b22b24745e8b9cf218be9c9070dc41fa68065aa Mon Sep 17 00:00:00 2001
2023-12-30 08:05:31 +11:00
From: md_5 <git@md-5.net>
2014-04-12 14:18:37 +10:00
Date: Sat, 8 Feb 2014 08:13:40 +0000
Subject: [PATCH] Spam Filter Exclusions
2021-03-16 09:00:00 +11:00
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
2025-07-01 00:10:00 +10:00
index 8dfa8bbf3..17fc557ee 100644
2021-03-16 09:00:00 +11:00
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
2025-07-01 00:10:00 +10:00
@@ -2008,7 +2008,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
2014-04-12 14:18:37 +10:00
}
2024-04-24 01:15:00 +10:00
// CraftBukkit end
this.performUnsignedChatCommand(serverboundchatcommandpacket.command());
- this.detectRateSpam();
+ this.detectRateSpam("/" + serverboundchatcommandpacket.command()); // Spigot
}, true); // CraftBukkit - sync commands
}
2014-04-12 14:18:37 +10:00
2025-07-01 00:10:00 +10:00
@@ -2047,7 +2047,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
2024-04-24 01:15:00 +10:00
}
// CraftBukkit end
this.performSignedChatCommand(serverboundchatcommandsignedpacket, (LastSeenMessages) optional.get());
- this.detectRateSpam();
+ this.detectRateSpam("/" + serverboundchatcommandsignedpacket.command()); // Spigot
}, true); // CraftBukkit - sync commands
}
}
2025-07-01 00:10:00 +10:00
@@ -2334,11 +2334,20 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
2022-07-28 04:00:00 +10:00
}
// this.server.getPlayerList().broadcastChatMessage(playerchatmessage, this.player, ChatMessageType.bind(ChatMessageType.CHAT, (Entity) this.player));
// CraftBukkit end
- this.detectRateSpam();
+ this.detectRateSpam(s); // Spigot
}
- private void detectRateSpam() {
2022-06-08 02:00:00 +10:00
+ // Spigot start - spam exclusions
2022-07-28 04:00:00 +10:00
+ private void detectRateSpam(String s) {
// CraftBukkit start - replaced with thread safe throttle
2022-06-08 02:00:00 +10:00
+ for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions )
+ {
+ if ( exclude != null && s.startsWith( exclude ) )
2014-04-12 14:18:37 +10:00
+ {
2024-10-23 02:15:00 +11:00
+ return;
2014-04-12 14:18:37 +10:00
+ }
2022-06-08 02:00:00 +10:00
+ }
+ // Spigot end
2024-10-23 02:15:00 +11:00
// this.chatSpamThrottler.increment();
if (!this.chatSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.getGameProfile()) && !this.server.isSingleplayerOwner(this.player.getGameProfile())) {
2022-07-28 04:00:00 +10:00
// CraftBukkit end
2014-04-12 14:18:37 +10:00
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
2024-12-04 03:20:00 +11:00
index 5b7e17ee0..5565f1dd0 100644
2014-04-12 14:18:37 +10:00
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -6,6 +6,7 @@ import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
2019-07-30 20:52:01 +10:00
@@ -284,4 +285,13 @@ public class SpigotConfig
2014-04-12 14:18:37 +10:00
{
playerShuffle = getInt( "settings.player-shuffle", 0 );
}
+
+ public static List<String> spamExclusions;
+ private static void spamExclusions()
+ {
+ spamExclusions = getList( "commands.spam-exclusions", Arrays.asList( new String[]
+ {
+ "/skill"
+ } ) );
+ }
}
--
2025-03-26 03:05:00 +11:00
2.49.0
2014-04-12 14:18:37 +10:00