战斗日志记录者

战斗日志记录者

客户端侧黑客检测模组。

CombatLogger

适用于 Minecraft 1.16.5 的客户端战斗分析与作弊检测模组。

实时战斗遥测、精确攻击距离估算、威胁评分、数据包检测以及详细的会话分析——全部直接在您的客户端上运行。

分析 · 检测 · 复盘


概述

CombatLogger 是一款客户端战斗分析模组,旨在为您提供 PvP 过程中发生情况的详细信息。

CombatLogger 并非依赖简单的距离检测或原始客户端位置,而是结合了服务器刻(tick)时序、插值实体位置、延迟数据、攻击模式、移动分析以及数据包活动,从而构建出更完整的战斗视图。

它通过游戏内 HUD 实时提供信息,并保留可在战斗结束后查阅的详细日志。

[!IMPORTANT] CombatLogger 是一个分析工具,并非有保障的反作弊系统。检测结果应被视为供调查参考的指标,而非作弊的确凿证据。


功能特性

实时战斗 HUD

无需离开游戏即可获取重要的战斗信息。

┌─────────────────────────────────────────────┐
│ COMBAT              48ms    3.2m            │
│ LOG                                        │
├─────────────────────────────────────────────┤
│ [红点] 玩家名                 钻石剑         │
│  -4.0hp   12 CPS            3.42 +/-0.35   │
│  ■■■■■■■■■■□□□□□□□□□  │ 可疑 │ x2 ↑ │
└─────────────────────────────────────────────┘

HUD 可以显示:

  • 最后攻击您的目标
  • 造成的伤害
  • 估算攻击距离
  • 攻击者 CPS
  • 延迟(Ping)
  • 威胁等级
  • 检测结论
  • 武器信息

HUD 的位置、缩放、宽度、不透明度以及其他显示选项均可自定义。


攻击距离分析

CombatLogger 并非简单地计算两名玩家当前客户端位置之间的距离。

当攻击发生时,模组会使用插值实体位置和服务器刻时序来估算攻击发生时玩家的实际位置。

这使得攻击距离的计算能够考虑到以下因素之间的差异:

  • 当前客户端位置
  • 插值实体位置
  • 服务器刻时序
  • 网络延迟
  • 攻击时序

其结果是比简单的原始距离检测更有用的攻击距离估算。


延迟修正攻击距离

网络延迟会给战斗测量引入不确定性。

CombatLogger 在确定预期攻击距离范围时会考虑攻击者的延迟。

这有助于减少由以下原因引起的误报:

  • 高延迟
  • 位置更新延迟到达
  • 客户端/服务器同步差异
  • 正常网络抖动

分析并非对所有玩家一视同仁,而是会考虑网络状况。


威胁评分

每次被分析命中的攻击都会获得一个 0-100 的威胁评分。

评分系统综合考虑多个信号,而非依赖单一检测。

检测信号

信号 描述
攻击距离 命中看起来超出预期范围的程度
命中聚类 异常接近或重复的攻击时序
空中攻击 空中时可疑的攻击行为
伤害模式 异常或不一致的伤害行为
CPS 攻击者的点击速率和攻击频率
移动 异常的垂直或位置移动

威胁等级

分数 等级 含义
0–14 低 很少或没有可疑活动
15–39 中 检测到一些异常行为
40–69 高 检测到多个可疑信号
70–100 严重 多个可疑信号的强烈组合

该分数旨在帮助识别模式——并非自动判定玩家有罪。


CPS 追踪

CombatLogger 在战斗期间对攻击者进行滚动 CPS 测量。

它还追踪攻击时序以识别异常紧凑的命中聚类。

例如:

攻击间隔:

142 ms ── 118 ms ── 105 ms ── 47 ms ── 43 ms ── 49 ms
                                      └──── 聚类 ────┘

极短的攻击间隔,包括约 50 ms 内发生的攻击,都会被计入整体分析。


飞行检测

CombatLogger 监控玩家的垂直移动,以识别潜在的异常移动模式。

该系统可以标记可能与以下情况相关的异常垂直移动:

  • 飞行作弊
  • 异常移动
  • 移动漏洞利用
  • 某些与摔落伤害减免相关的异常

移动分析仅作为众多信号之一,而非独立的检测手段。


数据包检测

CombatLogger 包含一个数据包监控系统,能够检查与战斗分析相关的客户端/服务器流量。

它可以监控数据包速率并识别潜在异常,例如:

攻击数据包
      │
      ├── 正常速率
      │
      ├── 异常突发
      │
      └── 潜在攻击刷屏

潜在的数据包异常包括:

  • 攻击数据包刷屏
  • 位置数据包洪水
  • 异常数据包突发
  • 过量的位置更新

当常规战斗分析不足以判断时,这可以提供额外的上下文信息。


会话日志记录

CombatLogger 会在一整个会话期间保留战斗事件的详细记录。

一条被记录的命中可以包含如下信息:

时间戳
攻击者
武器
攻击距离
伤害
CPS
延迟
结论
威胁等级

示例:

[18:42:31.452] 被 ExamplePlayer 命中 | 武器:钻石剑 | 攻击距离:3.47m +/-0.35m | 伤害:-4.0 | CPS:12 | 延迟:52ms | 最大攻击距离:3.25m | 结论:可疑 | 威胁:高(64) | 聚类x2 | 疾跑

这使得在战斗发生后进行调查成为可能,而不必完全依赖游戏内可见的内容。


会话摘要

当您断开连接时,CombatLogger 可以生成会话摘要。

摘要包含如下统计信息:

  • 每个攻击者的威胁评分
  • 攻击距离一致性
  • 攻击距离标准差
  • 平均测量不确定度
  • 攻击统计
  • 检测结果

这使识别反复产生可疑结果的玩家变得更加容易,而非只关注单次命中。


命令

命令 描述
/cl hack 切换黑客检测和数据包检测
/cl reach 显示最近一次的攻击距离估算和结论
/cl log 显示当前会话日志路径
/cl config 打开配置界面
/cl hud <x/y> <value> 更改 HUD 的 X 或 Y 位置
/cl help 显示所有可用命令

配置

在游戏内按下以下按键打开配置界面:

右Shift

可用选项

设置 描述
HUD 位置 更改战斗 HUD 的位置
HUD 缩放 调整 HUD 的大小
HUD 宽度 更改 HUD 的显示宽度
背景不透明度 调整 HUD 背景透明度
文字颜色 使用 RGB 值自定义文字颜色
黑客检测面板 启用或禁用检测信息
武器显示 显示或隐藏武器信息

配置存储在:

config/combatlogger.json

兼容性

组件 版本
Minecraft 1.16.5
模组加载器 Fabric
依赖 Fabric API
安装方式 客户端

[!NOTE] CombatLogger 不需要服务端安装。


工作原理

从高层来看,CombatLogger 通过多个阶段处理战斗事件:

                 ┌─────────────────┐
                 │   战斗事件       │
                 └────────┬────────┘
                          │
                          ▼
                ┌───────────────────┐
                │   位置分析        │
                └─────────┬─────────┘
                          │
                          ▼
                ┌───────────────────┐
                │  攻击距离估算     │
                └─────────┬─────────┘
                          │
              ┌───────────┼───────────┐
              ▼           ▼           ▼
          ┌───────┐   ┌───────┐   ┌────────┐
          │  CPS  │   │ 延迟  │   │ 数据包 │
          │ 追踪  │   │ 修正  │   │ 分析   │
          └───┬───┘   └───┬───┘   └───┬────┘
              │           │           │
              └───────────┼───────────┘
                          ▼
                 ┌─────────────────┐
                 │   威胁评分      │
                 └────────┬────────┘
                          │
                 ┌────────┴────────┐
                 ▼                 ▼
           ┌───────────┐     ┌───────────┐
           │  HUD      │     │ 会话日志  │
           │  显示     │     │           │
           └───────────┘     └───────────┘

这种方法的目的是综合多条信息,而不是仅凭单一测量结果做出判断。


检测免责声明

[!WARNING] CombatLogger 不应被视为权威的反作弊系统。

战斗分析可能受到多种因素的影响,包括:

  • 网络延迟
  • 服务器刻速率
  • 插值
  • 击退
  • 连接不稳定
  • 服务器特定机制
  • 异常移动行为
  • 客户端/服务器同步

可疑结果并不一定意味着玩家作弊。

CombatLogger 旨在提供证据、统计数据和有效信号,以帮助进行人工调查。


项目目标

CombatLogger 围绕几个简单的目标构建:

  • 准确 — 使用基于服务器刻感知的定位,而非简单的客户端距离。
  • 信息丰富 — 在游戏时显示有用的战斗信息。
  • 透明 — 提供可疑结果背后的数据。
  • 轻量 — 将分析保持在客户端进行,无需更改服务器。
  • 可复盘 — 存储足够的信息以便事后调查战斗。

安装

  1. 为 Minecraft 1.16.5 安装 Fabric Loader。
  2. 安装所需版本的 Fabric API。
  3. 将 CombatLogger 的 .jar 文件放入您的 mods 文件夹。
  4. 使用您的 Fabric 配置文件启动 Minecraft。
  5. 加入服务器并按下右Shift来配置模组。

项目状态

CombatLogger 是一个正在积极开发的项目。随着系统的改进和更多边缘情况的处理,检测行为、评分和分析可能会发生变化。

如果您发现不准确的检测或意外行为,提供相关的会话日志和具体情况将有助于改进分析。


总结

CombatLogger 让 Minecraft PvP 变成您可以真正测量和复盘的对象。

实时战斗数据。 攻击距离分析。 威胁评分。 数据包检测。 详细会话日志。

一切均在客户端运行。