From 5a161a0808a860ea87a6eded3c3ec557a3cf0289 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Sun, 9 Feb 2025 14:47:08 -0600 Subject: [PATCH] strike counter --- src/engine/net/client/ClientConnection.java | 3 +++ src/engine/util/KeyCloneAudit.java | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/engine/net/client/ClientConnection.java b/src/engine/net/client/ClientConnection.java index 75288ce7..5324b46b 100644 --- a/src/engine/net/client/ClientConnection.java +++ b/src/engine/net/client/ClientConnection.java @@ -51,6 +51,9 @@ public class ClientConnection extends AbstractConnection { protected SessionID sessionID = null; private byte cryptoInitTries = 0; + public int strikes = 0; + public Long lastStrike = 0L; + public ClientConnection(ClientConnectionManager connMan, SocketChannel sockChan) { super(connMan, sockChan, true); diff --git a/src/engine/util/KeyCloneAudit.java b/src/engine/util/KeyCloneAudit.java index a0ab7595..aa081633 100644 --- a/src/engine/util/KeyCloneAudit.java +++ b/src/engine/util/KeyCloneAudit.java @@ -36,7 +36,7 @@ public enum KeyCloneAudit { public static boolean auditNetMsg(ClientNetMsg msg) { boolean valid = true; - + try { if (msg.getProtocolMsg().equals(Protocol.KEEPALIVESERVERCLIENT)) return true; @@ -64,12 +64,26 @@ public enum KeyCloneAudit { } if (origin.fastTargetSwitchCount > 5) { - ChatManager.chatSystemInfo(pc, "Possible bot detected: Targeting too quickly."); valid = false; } } } + if(origin.lastStrike + 2000L < System.currentTimeMillis()) { + if (!valid) { + origin.strikes++; + origin.lastStrike = System.currentTimeMillis(); + } + }else{ + origin.strikes = 0; + } + if(origin.strikes > 10){ + //origin.forceDisconnect(); + ChatManager.chatSystemInfo(pc, "Cheater Cheater Pumpkin Eater"); + } + }catch(Exception e) { + + } return valid; }