Hawk Anticheat (MC 1.7.10 & 1.8.8) 反作弊
作者:Islandscout
发布时间:2017年5月2日
原生版本:未知
测试支持:1.7,1.8
一个免费的反作弊的传统版本的水龙头。
点此下载插件详细介绍
Hawk 是一款 Spigot 服务器的反作弊插件,旨在验证和强制玩家行为符合原版 Minecraft 的逻辑。此外,它还尝试检测一些输入伪造行为。Hawk 特别专注于支持旧版本 Minecraft,力求成为一个全面的反作弊解决方案。
🛡️ Hawk 反作弊插件
📌 主要特性
- 支持 Minecraft 1.7.10 和 1.8.8
- 包含 29 个模块,用于检测可疑的战斗、交互、移动和恶意利用协议的行为。
- 网络线程检查,不对主线程造成额外负担。
- 异步检查能力,可在专用线程上运行,减少服务器负载。
- 无需依赖,利用 Netty 和 NMS 代码。
- 免费开源,基于 GPLv3 协议。
- 简单而强大的框架,方便开发者实现新的检查和利用强大的实用程序。
- 严格的移动检查,阻止 B-Hop、Y-Port、skip phase 等常见作弊手段。
- 强大的战斗作弊检测,无需 NPC 或机器学习,即可检测触发器和 aimbot。
- 鼠标记录功能,记录和绘制玩家的鼠标移动轨迹,帮助手动识别战斗作弊者。
- 详细的配置,允许用户修改检查行为、消息和惩罚执行。
- 支持 BungeeCord,可以将 Hawk 检测到的违规行为转发到 BungeeCord 网络中的其他 Spigot 服务器。
- SQL 支持,可以将日志记录到 SQL 数据库服务器,方便多服务器网络跟踪违规行为。
🔨 检测或阻止的作弊行为
- 移动:
- Speed
- Tickrate
- Fly
- Glide
- NoSlowDown
- Jesus
- Packet sneak
- Phase
- Spider
- Blink
- V-Clip
- Scaffold
- Anti-velocity
- NoFall
- Strafe
- Omnidirectional sprint
- 交互:
- Nuker
- GhostHand
- 任何通过墙壁或视线之外进行交互的作弊行为
- Usage Speed
- 战斗:
- Reach
- Angle
- High CPS
- Forcefield
- Fast Bow
- Killaura
- Criticals
- Aimbot (在一定程度上)
⚙️ 命令 & 权限
命令:
/hawk- 显示菜单 & GUI/hawk kick <player> <reason>- 踢出玩家 (建议用于自动踢出)/hawk talerts- 切换警报/hawk mouserec <player> [duration in seconds]- 记录玩家的鼠标移动/hawk reload- 重新加载配置和模块/hawk unmute- 解除 Hawk 静音的玩家/hawk unban- 解除 Hawk 封禁的玩家
权限:
hawk.admin- 绕过踢出和封禁hawk.cmd-/hawk命令hawk.cmd.*- 访问所有管理命令hawk.cmd.<command name>- 访问特定的管理命令hawk.alerts- 接收警报hawk.bypass.<check>- 绕过特定的检查hawk.bypass.*- 绕过所有检查hawk.gui- 访问图形用户界面
👨💻 开发者信息
目前 Hawk 没有正式的 API,但开发者可以尝试使用反作弊功能。请注意,这意味着开发者将与已实现的代码进行交互,这些代码可能会在不同版本中更改,恕不另行通知(类似于 NMS 代码)。
获取 Hawk 插件实例:
Hawk hawkPlugin = (Hawk)Bukkit.getPluginManager().getPlugin("Hawk");
类源代码地址:Hawk.java
Hawk 的 Bukkit 事件:Bukkit Events
🛠️ 安装
- 下载后,将 jar 文件移动到服务器根目录的 "plugins" 文件夹中。
- 启动或重新加载服务器以启用 Hawk Anti-Cheat。
- 如有必要,修改 "plugins/Hawk/config.yml" 中的配置。重新启动或重新加载服务器以应用更改。
⚠️ 要求
- Java 8 或更高版本
- Spigot 1.7.10 或 1.8.8
🚫 不兼容性
Hawk Anti-Cheat 可能与以下项目不兼容:
- 网络修改
- 在 Hawk 位于通道管道中的位置之前拦截和修改入站数据包
- 在 Hawk 位于通道管道中的位置之后拦截和修改出站数据包
- 发送数据包以使客户端与服务器不同步(伪造实体、伪造方块等。如果玩家尝试与它们交互,这些将触发错误标志)
- 其他反作弊插件
- 除 1.7.X 和 1.8.X 版本之外的任何 Minecraft 客户端。 因此,强烈建议不要使用 ProtocolSupport、ViaVersion 等。
- 客户端游戏逻辑修改
- 修改客户端的移动或与地形或实体的交互
- 服务器过载(平均 TPS 低于 20)或客户端(FPS/TPS 低于 20)
- 较差的服务器-客户端连接质量
❓ 常见问题
如何编辑检查配置?
每个检查的配置都可以在 Hawk 文件夹中的 "checks.yml" 文件中找到。每个检查至少有几个选项。以下是一个示例检查:
inertia:
enabled: true
cancelThreshold: 0
flagThreshold: -1
vlPassMultiplier: 0.995
flagCooldown: 5000
punishCommands: []
enabled:启用/禁用检查。cancelThreshold:玩家必须达到的最低违规级别 (VL),检查才会放弃玩家的操作。设置为 -1 可禁用。flagThreshold:玩家必须达到的最低违规级别 (VL),检查才会向工作人员发送警报。vlPassMultiplier:每次玩家通过检查时,乘以玩家违规级别 (VL) 的值。用于在玩家通过检查时降低玩家的 VL。应介于 0 和 1 之间,以便 VL 可以呈指数衰减。flagCooldown:检查在发送有关玩家的警报之前必须等待的最小时间间隔(以毫秒为单位)。减少聊天中的洪水。较高的值将降低标志的速率。punishCommands:可能包含要执行的命令列表。
如何设置 Hawk 以在违规时执行命令?
Hawk 文件夹中的 "checks.yml" 文件包含每个检查的配置。每个检查都有一个名为 "punishCommands" 的字符串列表。字符串列表中的每个条目都分为三个部分,用冒号分隔:
violation level : delay in seconds : command to run
以下是 flight 检查的示例配置:
fly:
enabled: true
cancelThreshold: 0
flagThreshold: 0
vlPassMultiplier: 0.995
flagCooldown: 0
punishCommands:
- "10:0:msg %player% stop hacking"
- "20:0:kick %player%"
您还可以使用占位符,例如 %player%、%tps%、%vl% 和 %check%。
如何设置 ban/punish waves?
Hawk 提供了一个名为 Punishment Scheduler 的功能。可以使用命令 /hawk punish 访问该系统。您可以在 "config.yml" 中配置它。以下是一个示例配置:
punishmentScheduler:
enabled: true
command: ban %player% %reason%
defaultReason: Illegal game modification
schedule: 'SUNDAY * 32'
ignoreIfServerOverloaded: true
pingThreshold: -1
requireAuthorization: false
autoSave: true
requireAuthorization:启用后,强制管理员在 Hawk 可以惩罚玩家之前运行/hawk punish authorize <player>。schedule:系统将运行的时间表。第一个参数是星期几,第二个参数是一天中的小时(0 到 23),第三个参数是小时中的分钟(0 到 59)。您可以为任何参数输入*,以指定任何值都可以工作。在此示例中,系统将每周日、每天的每个小时、该小时的 32 分钟运行。