移动检测模块详细文档
📋 目录
- 模块概述
- Flight (飞行检测)
- Speed (速度检测)
- NoFall (无坠落伤害检测)
- Jesus (水上行走检测)
- Step (台阶检测)
- Velocity (击退响应检测)
- Phase (穿墙检测)
- Scaffold (搭桥检测)
- 攀爬检测
- 平移检测
- 配置示例
- 常见问题
🔍 模块概述
移动检测模块是Spectrum反作弊系统中最核心的检测模块之一,负责监控和识别各种与玩家移动相关的作弊行为。该模块通过分析玩家的移动轨迹、速度、加速度、与环境的互动等多方面数据,来检测各种移动作弊。
所有移动检测模块的配置都位于plugins/Spectrum/checks.yml文件中的movement部分。
🛸 Flight (飞行检测)
功能描述
检测玩家是否使用飞行作弊,包括创造模式飞行模拟、鞘翅飞行异常等。
检测原理
- 分析玩家的垂直移动轨迹和跳跃模式
- 监测玩家在空中的停留时间和移动方式
- 比较预期的重力影响与实际的玩家移动
- 分析玩家与方块的碰撞检测数据
- 检测异常的高度变化和悬空状态
配置参数详解
yaml
movement:
flight:
# 是否启用飞行检测
enabled: true
# 检测阈值(0-1之间)
# 值越低,检测越严格;值越高,检测越宽松
threshold: 0.7
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 20
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 是否允许鞘翅飞行
allow-elytra: true
# 是否允许创造模式飞行
allow-creative: true
# 是否允许旁观者模式飞行
allow-spectator: true
# 允许的最大跳跃高度(方块)
max-jump-height: 1.5
# 允许的最大悬空时间(毫秒)
max-air-time: 2000
# 允许的最大垂直速度(方块/秒)
max-vertical-speed: 5.0
# 重力影响系数
gravity-factor: 0.98
# 地面检测精度
ground-precision: 0.1
# 飞行检测的惩罚类型
punishment: kick
# 异步检测开关
async: true
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.flight惩罚设置
飞行检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
- ban:永久封禁
常见误报原因及解决方案
| 误报原因 | 解决方案 |
|---|---|
| 服务器高延迟 | 增加threshold值,或启用latency-compensation |
| 特殊游戏机制(如蹦床、黏液块) | 增加max-air-time值,或调整max-jump-height |
| 插件冲突(如飞行插件) | 在compatibility.yml中添加兼容设置 |
| 创造模式玩家 | 确保allow-creative设置为true |
⚡ Speed (速度检测)
功能描述
检测玩家是否使用速度作弊,包括行走速度异常、奔跑速度异常、游泳速度异常等。
检测原理
- 计算玩家的移动速度和加速度
- 比较不同地形和状态下的预期移动速度
- 监测异常的速度变化和移动模式
- 分析玩家的位置更新频率和幅度
- 检测玩家在不同地形上的移动表现
配置参数详解
yaml
movement:
speed:
# 是否启用速度检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.7
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 20
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 步行速度阈值(方块/秒)
walking-speed: 5.0
# 奔跑速度阈值(方块/秒)
sprinting-speed: 7.0
# 游泳速度阈值(方块/秒)
swimming-speed: 3.0
# 潜行速度阈值(方块/秒)
sneaking-speed: 2.0
# 跳跃速度阈值(方块/秒)
jumping-speed: 6.0
# 冰面速度加成系数
ice-bonus: 0.3
# 灵魂沙减速系数
soul-sand-reduction: 0.4
# 蜘蛛网减速系数
cobweb-reduction: 0.8
# 允许的最大加速度(方块/秒²)
max-acceleration: 10.0
# 速度检测的惩罚类型
punishment: kick
# 异步检测开关
async: true
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.speed惩罚设置
速度检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
- ban:永久封禁
常见误报原因及解决方案
| 误报原因 | 解决方案 |
|---|---|
| 服务器高延迟 | 增加threshold值,或启用latency-compensation |
| 药水效果影响 | 确保检测系统考虑了药水效果的影响 |
| 特殊地形影响 | 调整ice-bonus、soul-sand-reduction等地形相关参数 |
| 移动增强插件 | 在compatibility.yml中添加兼容设置 |
🌈 NoFall (无坠落伤害检测)
功能描述
检测玩家是否使用无坠落伤害作弊,避免从高处坠落时受到伤害。
检测原理
- 计算玩家的坠落高度和预期伤害
- 监测玩家坠落时的移动轨迹和落地行为
- 比较实际受到的伤害与预期伤害
- 分析玩家坠落过程中的异常操作
- 检测落地时的异常减速
配置参数详解
yaml
movement:
nofall:
# 是否启用无坠落伤害检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.6
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 15
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 最小检测高度(方块)
min-detect-height: 3
# 伤害计算精度
damage-precision: 0.5
# 允许的落地速度偏差(方块/秒)
max-landing-speed-deviation: 1.0
# 允许的伤害减免(百分比)
max-damage-reduction: 50
# 考虑摔落保护效果
consider-protection: true
# 考虑水和岩浆
consider-water: true
# 考虑蜘蛛网
consider-cobweb: true
# 考虑干草块
consider-hay-bale: true
# 无坠落伤害检测的惩罚类型
punishment: warning
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.nofall惩罚设置
无坠落伤害检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
🚤 Jesus (水上行走检测)
功能描述
检测玩家是否使用水上行走作弊,能够在水面上行走而不下沉。
检测原理
- 分析玩家与水面的互动数据
- 监测玩家在水上的移动速度和方式
- 比较预期的水中行为与实际行为
- 检测异常的水面碰撞检测数据
- 分析玩家在水上行走时的跳跃行为
配置参数详解
yaml
movement:
jesus:
# 是否启用水上行走检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.7
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 15
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 允许在水上停留的最大时间(毫秒)
max-water-stay-time: 500
# 允许的水上移动速度(方块/秒)
max-water-walk-speed: 4.0
# 考虑冰霜行者附魔
consider-frost-walker: true
# 考虑船只
consider-boat: true
# 考虑特殊方块(如睡莲)
consider-special-blocks: true
# 水上行走检测的惩罚类型
punishment: warning
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.jesus惩罚设置
水上行走检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
🔺 Step (台阶检测)
功能描述
检测玩家是否使用台阶作弊,能够一步跨越多个方块高度或快速登上台阶。
检测原理
- 分析玩家的垂直移动和跳跃行为
- 监测玩家登上台阶的速度和方式
- 比较预期的台阶攀登行为与实际行为
- 检测异常的跳跃高度和台阶跨越
- 分析玩家脚部位置和方块碰撞数据
配置参数详解
yaml
movement:
step:
# 是否启用台阶检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.6
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 15
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 允许的最大台阶高度(方块)
max-step-height: 1.1
# 允许的最大跳跃台阶数
max-jump-steps: 1
# 台阶检测的惩罚类型
punishment: warning
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.step惩罚设置
台阶检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
⚡ Velocity (击退响应检测)
功能描述
检测玩家是否使用防击退作弊,能够减少或完全避免受到攻击时的击退效果。
检测原理
- 计算玩家受到攻击后的预期击退距离
- 监测玩家受到击退时的移动轨迹
- 比较实际的击退距离与预期距离
- 分析玩家在被击退时的异常操作
- 检测异常的碰撞响应
配置参数详解
yaml
movement:
velocity:
# 是否启用击退响应检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.7
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 20
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 允许的击退距离偏差(百分比)
max-velocity-deviation: 30
# 考虑防护装备
consider-protection: true
# 考虑玩家状态(如跳跃、飞行等)
consider-player-state: true
# 击退检测的惩罚类型
punishment: warning
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.velocity惩罚设置
击退响应检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
🏃 Phase (穿墙检测)
功能描述
检测玩家是否使用穿墙作弊,能够穿过实心方块。
检测原理
- 分析玩家与方块的碰撞检测数据
- 监测玩家移动时的碰撞响应
- 比较玩家位置与周围方块的关系
- 检测玩家在方块内的异常停留
- 分析玩家移动轨迹的连续性
配置参数详解
yaml
movement:
phase:
# 是否启用穿墙检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.6
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 10
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 碰撞检测精度
collision-precision: 0.1
# 允许在方块内的最大时间(毫秒)
max-block-stay-time: 100
# 考虑特殊方块(如门、活板门等)
consider-special-blocks: true
# 考虑创造模式
consider-creative: true
# 穿墙检测的惩罚类型
punishment: kick
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.phase惩罚设置
穿墙检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
- ban:永久封禁
🔨 Scaffold (搭桥检测)
功能描述
检测玩家是否使用自动搭桥作弊,能够快速放置方块形成路径。
检测原理
- 分析玩家放置方块的频率和模式
- 监测玩家搭桥时的移动和放置行为
- 比较预期的搭桥速度与实际速度
- 检测异常的方块放置位置
- 分析玩家在搭桥时的视角和点击行为
配置参数详解
yaml
movement:
scaffold:
# 是否启用搭桥检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.7
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 15
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 允许的最大方块放置频率(方块/秒)
max-block-place-rate: 10.0
# 允许的最大悬空搭桥长度(方块)
max-floating-length: 5
# 考虑脚手架方块
consider-scaffolding: true
# 搭桥检测的惩罚类型
punishment: warning
# 异步检测开关
async: true
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.scaffold惩罚设置
搭桥检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
- tempban:临时封禁
🧗♂️ 攀爬检测
功能描述
检测玩家是否使用攀爬作弊,能够快速攀爬垂直表面或攀爬非攀爬表面。
检测原理
- 监测玩家攀爬垂直表面的速度和方式
- 分析玩家与攀爬表面的碰撞检测数据
- 比较预期的攀爬速度与实际的攀爬速度
- 检测异常的攀爬轨迹和行为
配置参数详解
yaml
movement:
climb:
# 是否启用攀爬检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.6
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 15
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 最大攀爬速度(方块/秒)
max-climb-speed: 1.5
# 是否允许梯子攀爬
allow-ladders: true
# 是否允许藤蔓攀爬
allow-vines: true
# 攀爬检测的惩罚类型
punishment: warning
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.climb惩罚设置
攀爬检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
🐆 平移检测
功能描述
检测玩家是否使用平移作弊,能够以异常的横向速度移动。
检测原理
- 分析玩家在移动时的横向加速度
- 监测异常的横向移动模式
- 比较预期的横向移动与实际的横向移动
- 检测异常的转向速度和角度变化
配置参数详解
yaml
movement:
strafe:
# 是否启用平移检测
enabled: true
# 检测阈值(0-1之间)
threshold: 0.6
# 违规积累速度
violation-rate: 1.0
# 最大违规次数
max-violations: 15
# 重置违规计数的时间间隔(秒)
violation-reset-time: 300
# 最大平移速度(方块/秒)
max-strafe-speed: 7.0
# 最大横向加速度(方块/秒²)
max-lateral-acceleration: 15.0
# 平移检测的惩罚类型
punishment: warning
# 异步检测开关
async: false
# 调试模式开关
debug: false
# 玩家权限绕过检测
bypass-permission: 鍏夎氨Spectrum.bypass.strafe惩罚设置
平移检测支持的惩罚类型:
- warning:发送警告消息
- kick:踢出玩家
📝 配置示例
以下是移动检测模块的推荐配置示例:
yaml
movement:
# 飞行检测
flight:
enabled: true
threshold: 0.7
allow-elytra: true
allow-creative: true
punishment: kick
# 速度检测
speed:
enabled: true
threshold: 0.7
walking-speed: 5.0
sprinting-speed: 7.0
ice-bonus: 0.3
punishment: kick
# 无坠落伤害检测
nofall:
enabled: true
threshold: 0.6
min-detect-height: 3
punishment: warning
# 水上行走检测
jesus:
enabled: true
threshold: 0.7
max-water-stay-time: 500
punishment: warning
# 台阶检测
step:
enabled: true
threshold: 0.6
max-step-height: 1.1
punishment: warning
# 击退响应检测
velocity:
enabled: true
threshold: 0.7
max-velocity-deviation: 30
punishment: warning
# 穿墙检测
phase:
enabled: true
threshold: 0.6
max-block-stay-time: 100
punishment: kick
# 搭桥检测
scaffold:
enabled: true
threshold: 0.7
max-block-place-rate: 10.0
punishment: warning
# 攀爬检测
climb:
enabled: true
threshold: 0.6
max-climb-speed: 1.5
allow-ladders: true
allow-vines: true
punishment: warning
# 平移检测
strafe:
enabled: true
threshold: 0.6
max-strafe-speed: 7.0
punishment: warning❓ 常见问题
如何减少移动检测的误报?
- 调整检测阈值:增加
threshold值可以降低检测的严格程度 - 考虑服务器延迟:在
config.yml中启用latency-compensation并设置合适的值 - 为特殊玩家设置白名单:使用
/鍏夎氨Spectrum whitelist add <player>命令 - 配置兼容模式:在
compatibility.yml中添加与其他插件的兼容设置
如何优化移动检测的性能?
- 对于性能较低的服务器,可以禁用一些非核心的移动检测模块
- 调整检测频率:在
config.yml中增加check-interval值 - 启用异步检测:对于计算密集型的检测模块,将
async设置为true - 降低违规检查的精度:在不影响检测效果的前提下,适当增加检测参数的容差
最后更新时间:2025年10月2日