summaryrefslogtreecommitdiffstats
path: root/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/chat/SpamCheck.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/chat/SpamCheck.java')
-rw-r--r--EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/chat/SpamCheck.java96
1 files changed, 0 insertions, 96 deletions
diff --git a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/chat/SpamCheck.java b/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/chat/SpamCheck.java
deleted file mode 100644
index 8bf893091..000000000
--- a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/chat/SpamCheck.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.earth2me.essentials.anticheat.checks.chat;
-
-import com.earth2me.essentials.anticheat.NoCheat;
-import com.earth2me.essentials.anticheat.NoCheatPlayer;
-import com.earth2me.essentials.anticheat.actions.ParameterName;
-import com.earth2me.essentials.anticheat.data.Statistics.Id;
-import java.util.Locale;
-
-
-/**
- * The SpamCheck will count messages and commands over a short timeframe to see if the player tried to send too many of
- * them
- *
- */
-public class SpamCheck extends ChatCheck
-{
- public SpamCheck(NoCheat plugin)
- {
- super(plugin, "chat.spam");
- }
-
- public boolean check(NoCheatPlayer player, ChatData data, ChatConfig cc)
- {
-
- boolean cancel = false;
- // Maybe it's a command and on the whitelist
- for (String s : cc.spamWhitelist)
- {
- if (data.message.startsWith(s))
- {
- // It is
- return false;
- }
- }
-
- int commandLimit = cc.spamCommandLimit;
- int messageLimit = cc.spamMessageLimit;
- long timeframe = cc.spamTimeframe;
-
- final long time = System.currentTimeMillis();
-
- // Has enough time passed? Then reset the counters
- if (data.spamLastTime + timeframe <= time)
- {
- data.spamLastTime = time;
- data.messageCount = 0;
- data.commandCount = 0;
- }
- // Security check, if the system time changes
- else if (data.spamLastTime > time)
- {
- data.spamLastTime = Integer.MIN_VALUE;
- }
-
- // Increment appropriate counter
- if (data.message.startsWith("/"))
- {
- data.commandCount++;
- }
- else
- {
- data.messageCount++;
- }
-
- // Did the player go over the limit on at least one of the counters?
- if (data.messageCount > messageLimit || data.commandCount > commandLimit)
- {
-
- // Set the vl as the number of messages above the limit and
- // increment statistics
- data.spamVL = Math.max(0, data.messageCount - messageLimit);
- data.spamVL += Math.max(0, data.commandCount - commandLimit);
- incrementStatistics(player, Id.CHAT_SPAM, 1);
-
- // Execute whatever actions are associated with this check and the
- // violation level and find out if we should cancel the event
- cancel = executeActions(player, cc.spamActions, data.spamVL);
- }
-
- return cancel;
- }
-
- @Override
- public String getParameter(ParameterName wildcard, NoCheatPlayer player)
- {
-
- if (wildcard == ParameterName.VIOLATIONS)
- {
- return String.format(Locale.US, "%d", getData(player).spamVL);
- }
- else
- {
- return super.getParameter(wildcard, player);
- }
- }
-}