# PleaseNoCheat **Repository Path**: cyanbukkit/PleaseNoCheat ## Basic Information - **Project Name**: PleaseNoCheat - **Description**: 清不要开挂 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-05 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PleaseNoCheat 基于 LLM 大模型对话式推理的 Minecraft 反作弊插件 ## 核心理念 传统反作弊采用规则匹配 + 阈值判断的方式,面对复杂作弊手段时难以应对。PleaseNoCheat 引入 **LLM 大模型作为推理引擎**,通过多维度上下文感知与对话式推理,实现更智能的反作弊检测。 参考 **OpenClaw**、**Claude Code** 等 Agent 架构的定向推理思路,构建三维上下文反作弊体系: ``` ┌─────────────────────────────────────┐ │ LLM 推理层 (L3) │ │ 深度上下文理解 · 作弊行为推理 │ └────────────────┬────────────────────┘ │ ┌────────────────▼────────────────────┐ │ 行为画像层 (L2) │ │ 历史基准对比 · 异常行为检测 │ └────────────────┬────────────────────┘ │ ┌────────────────▼────────────────────┐ │ 规则检测层 (L1) │ │ 本地规则引擎 · 实时数据采集 │ └─────────────────────────────────────┘ ``` ## 三维上下文检测架构 ### L1 - 本地规则检测层 - 基于 SessionSummarizer 的 tick 级数据分析 - 实时采集移动速度、空中时间、视角变化、方块状态 - 规则引擎计算 Fly/Speed/Jesus/NoFall/Scaffold/LongJump 分数 - **零延迟**,不依赖外部服务 ### L2 - 行为画像对比层 - 构建玩家历史行为基准 (ProfileManager) - 对比当前行为与历史基准的偏差度 - 发现"渐进式作弊"(每次超出限制一点点) - 无需 AI 即可发现的慢速作弊 ### L3 - LLM 推理层 - 聚合 L1 + L2 数据,构造完整上下文 - 注入数据集基准(正常 vs 作弊玩家特征库) - **对话式推理**:AI 像人类专家一样分析行为模式 - 支持 Scaffold/Velocity/KillAura 等复杂作弊识别 ## 核心特性 ### 智能排除系统 - 速度药水效果 → 速度分数 ×0.4 - 属性速度加成 → 速度分数 ×0.5 - 鞘翅飞行 → 速度/飞行分数 ×0.3 - setAllowFlight → 飞行检测完全禁用 - 数据伪造检测 (SERVER vs PACKET 交叉验证) ### ProtocolLib 数据监听 ``` 客户端数据包 (PACKET) ←──高可信度──→ 服务器事件 (SERVER) ↑ ↑ └──────── 交叉验证 · 发现伪造 ────────────┘ ``` - 捕获 CLIENT BOUND 数据包获取真实坐标 - 对比 SERVER 事件数据发现作弊 - 检测数据包时间间隔发现加速器 ### 多源数据融合 | 数据源 | 可信度 | 用途 | |--------|--------|------| | ProtocolLib PACKET | 高 | 核心分析依据 | | PlayerMoveEvent | 低 | 参考 + 环境信息 | | PotionEffectType | 参考 | 速度排除 | | EntityEquipment | 参考 | 鞘翅检测 | ## 指令系统 ``` /anticheat toggle # 开关反作弊系统 /anticheat status # 查看系统状态 /anticheat list [N] # 查看 Top N 可疑玩家 /anticheat check <玩家> # 查看玩家详细报告 /anticheat analyze <玩家> # 手动触发 AI 分析 /anticheat clear <玩家> # 清除玩家记录 ``` ## AI 上下文配置 插件通过 `resources/whoami.md`、`skill.md`、`file.md` 向 AI 提供角色定义和检测技能说明。AI 上下文包含: - **作弊类型识别特征**:各作弊的行为表现和数据特征 - **数据集基准对比**:正常玩家 vs 作弊玩家的具体数值区间 - **判断原则**:分数阈值、疑似 vs 确认的界定 ## 项目结构 ``` src/main/java/cn/cyanbukkit/waigame/pleaseNoCheat/ ├── AntiCheatManager.java # 核心管理器 · 三层调度 ├── PleaseNoCheat.java # 插件入口 ├── data/ │ ├── SuspiciousPlayer.java # 可疑玩家数据结构 │ ├── SessionSummarizer.java # Tick 数据摘要 │ ├── ProfileManager.java # 行为画像管理 │ ├── GlobalSwitches.java # 全局开关 │ └── AIContextConfig.java # AI 上下文配置 ├── listeners/ │ ├── AntiCheatDataListener.java # 数据采集 + ProtocolLib │ ├── TrainDataListener.java # 训练数据采集 │ └── PacketListener.java # 数据包监听 ├── commands/ │ ├── AntiCheatCommand.java # 反作弊指令 │ ├── SwitchCommand.java # 开关指令 │ └── TrainDataCommand.java # 训练数据指令 └── protocols/ └── BaseAIProtocol.java # AI 协议接口 ``` ## 配置要求 - **Java**: 17+ - **Minecraft**: 1.18+ (Spigot/Paper) - **ProtocolLib**: 必须安装 - **AI Provider**: 支持 OpenAI / Anthropic 等兼容 API ## 技术对比 | 特性 | 传统规则引擎 | PleaseNoCheat | |------|-------------|---------------| | 作弊识别 | 依赖已知模式 | **LLM 推理新模式** | | 误判率 | 固定阈值难调 | **上下文感知排除** | | 新作弊 | 需更新规则 | **AI 自主推理** | | Velocity 检测 | 难 | **行为基准对比** | | Scaffold 检测 | 单一规则 | **多特征综合推理** | ## 设计灵感 - **OpenClaw**: 行为分析 + 多维度检测 - **Claude Code**: 对话式推理 + 上下文理解 - **传统反作弊**: 规则引擎 + 阈值判断 - **游戏 AI**: 玩家行为画像 + 异常检测 --- > "不是规则告诉 AI 什么是作弊,而是 AI 通过上下文推理发现作弊"