From 89e31fd159bf218b42de1d42317a721194395c47 Mon Sep 17 00:00:00 2001
From: FatBoy-DOTC <justin.chucksinsulating@gmail.com>
Date: Fri, 21 Feb 2025 09:54:26 -0600
Subject: [PATCH] cheat logging

---
 src/engine/db/handlers/dbAccountHandler.java |  5 +++--
 src/engine/util/KeyCloneAudit.java           | 16 +++++++++-------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/engine/db/handlers/dbAccountHandler.java b/src/engine/db/handlers/dbAccountHandler.java
index f34ebe60..2859d7dc 100644
--- a/src/engine/db/handlers/dbAccountHandler.java
+++ b/src/engine/db/handlers/dbAccountHandler.java
@@ -77,13 +77,14 @@ public class dbAccountHandler extends dbHandlerBase {
         }
     }
 
-    public void SET_TRASH(String machineID) {
+    public void SET_TRASH(String machineID, String type) {
 
         try (Connection connection = DbManager.getConnection();
              PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO dyn_trash(`machineID`, `count`)"
-                     + " VALUES (?, 1) ON DUPLICATE KEY UPDATE `count` = `count` + 1;")) {
+                     + " VALUES (?, 1,?) ON DUPLICATE KEY UPDATE `count` = `count` + 1;")) {
 
             preparedStatement.setString(1, machineID);
+            preparedStatement.setString(2, type);
             preparedStatement.execute();
 
         } catch (SQLException e) {
diff --git a/src/engine/util/KeyCloneAudit.java b/src/engine/util/KeyCloneAudit.java
index 5fb4b324..cd8a57ee 100644
--- a/src/engine/util/KeyCloneAudit.java
+++ b/src/engine/util/KeyCloneAudit.java
@@ -29,19 +29,19 @@ public enum KeyCloneAudit {
             Group g = GroupManager.getGroup(pc);
 
             if (g == null) {
-                //pc.getClientConnection().forceDisconnect();
                 try {
                     Logger.error("TARGET SOFTWARE DETECTED ON ACCOUNT: " + pc.getAccount().getUname());
-                    DbManager.AccountQueries.SET_TRASH(pc.getClientConnection().machineID);
+                    DbManager.AccountQueries.SET_TRASH(pc.getAccount().getUname(), "TARGET");
+                    pc.getClientConnection().forceDisconnect();
                 }catch(Exception e){
 
                 }
             }else {
                 for (PlayerCharacter member : g.members) {
-                    //member.getClientConnection().forceDisconnect();
                     try {
                         Logger.error("TARGET SOFTWARE DETECTED ON ACCOUNT: " + member.getAccount().getUname());
-                        DbManager.AccountQueries.SET_TRASH(member.getClientConnection().machineID);
+                        DbManager.AccountQueries.SET_TRASH(member.getAccount().getUname(), "TARGET");
+                        member.getClientConnection().forceDisconnect();
                     } catch (Exception e) {
 
                     }
@@ -67,7 +67,7 @@ public enum KeyCloneAudit {
         if (machineCount > Integer.parseInt(ConfigManager.MB_WORLD_KEYCLONE_MAX.getValue())) {
             Logger.error("Keyclone detected from: " + player.getAccount().getUname() +
                     " with machine count of: " + machineCount);
-            DbManager.AccountQueries.SET_TRASH(machineID);
+            DbManager.AccountQueries.SET_TRASH(machineID,"MEMBERLIMIT");
         }
 
     }
@@ -102,8 +102,10 @@ public enum KeyCloneAudit {
             if (origin.strikes > 20) {
                 origin.finalStrikes++;
             }
-            if (origin.finalStrikes > 3) {origin.forceDisconnect();
-                DbManager.AccountQueries.SET_TRASH(origin.machineID);
+            if (origin.finalStrikes > 3) {
+                origin.forceDisconnect();
+                DbManager.AccountQueries.SET_TRASH(pc.getAccount().getUname(), "TABSPEED");
+                Logger.error("TAB SPEED DETECTED ON ACCOUNT: " + pc.getAccount().getUname());
             }
         } catch (Exception e) {