diff --git a/src/main/java/tracker/DataCaptureProxy.java b/src/main/java/tracker/DataCaptureProxy.java
index 93355f9..9b11349 100644
--- a/src/main/java/tracker/DataCaptureProxy.java
+++ b/src/main/java/tracker/DataCaptureProxy.java
@@ -22,11 +22,22 @@
     private final String trackerHost;
     private final int    trackerPort;
     private final Tracker tracker;
+    private final CheatDetectionScheduler cheatScheduler; // 新增
 
     public DataCaptureProxy(String trackerHost, int trackerPort) {
         this.trackerHost = trackerHost;
         this.trackerPort = trackerPort;
-        this.tracker = new Tracker(); // 初始化 Tracker 实例
+        this.tracker = new Tracker();
+        
+        // 初始化并启动作弊检测调度器
+        this.cheatScheduler = new CheatDetectionScheduler();
+        this.cheatScheduler.start();
+        
+        // 添加JVM关闭钩子，确保优雅关闭
+        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+            System.out.println("Shutting down CheatDetectionScheduler...");
+            this.cheatScheduler.stop();
+        }));
     }
 
     @Override
@@ -351,4 +362,18 @@
         }
         return dp[m];
     }
+    
+    /**
+     * 获取调度器状态
+     */
+    public boolean isCheatDetectionRunning() {
+        return cheatScheduler.isRunning();
+    }
+    
+    /**
+     * 手动停止调度器（如果需要的话）
+     */
+    public void stopCheatDetection() {
+        cheatScheduler.stop();
+    }
 }
