EventAntiXray

EventAntiXray

一个轻量级的Minecraft Fabric模组,专为服务器管理员设计,用于检测潜在的X-ray作弊行为

管理

EventAntiXray

EventAntiXray 是一个轻量级的、纯观测性的 Fabric 模组,面向希望在不影响服务器性能或游戏体验的前提下检测潜在 X-ray 作弊的服务器管理员。它智能地追踪玩家对贵重方块的挖掘活动,并在检测到可疑模式时谨慎地提醒管理员,同时支持 Discord 集成。

依赖项


功能特性

  • 观测性检测:监控方块破坏行为,而不干扰游戏体验。它从不取消操作、发送数据包或影响方块可见性,确保对玩家零影响。
  • 时间窗口分析:通过追踪玩家在可配置时间段内挖掘的贵重方块数量来检测可疑活动(例如,30 分钟内挖到 10 颗钻石)。
  • 渐进式警报:先发送初始警报,然后追踪持续的可疑活动,如果行为持续,则发送带有特殊前缀的后续警报。
  • Discord Webhook 集成:当触发警报时,向 Discord 频道发送详细、可自定义的嵌入消息,包括检测时玩家的物品栏内容。对于持续活动的警报,会智能地更新原始的 Discord 消息。
  • 玩家放置方块追踪:提供可选的 MySQL 数据库集成来追踪玩家放置的方块,有效消除玩家挖掘自己放置的矿石所产生的误报。
  • 高度可配置:可自定义从每种方块的阈值和时间窗口到游戏内警报消息和声音的一切内容。
  • 性能优先:构建得极为轻量。对服务器 TPS 零影响,使用高效的数据结构以最小化内存占用,Webhook 操作采用非阻塞方式。

命令

主命令为 /antixray,别名为 /eax。

命令 权限 描述
/antixray reload antixray.reload 从磁盘重新加载 config.json 文件,立即应用任何更改。

配置

EventAntiXray 使用单一且文档完善的配置文件,位于 config/eventantixray/config.json。该文件划分为清晰的部分,便于管理。

tracked_blocks - 检测核心

这是一个列表,你可以在其中定义要监控的每一种方块。每个条目都有几个关键选项:

设置 描述
block_id 方块的 Minecraft ID(例如 "minecraft:diamond_ore")。
alert_threshold 玩家必须在 time_window_minutes 内破坏的方块数量,达到该数量即触发首次警报。
time_window_minutes 模组回溯玩家挖掘历史以统计方块的时间长度(分钟)。
subsequent_alert_threshold 首次警报后,玩家必须破坏的额外方块数量,达到该数量即触发后续的“持续”警报。
reset_after_minutes 玩家在此分钟数内对此特定方块无挖掘活动后,其追踪将自动重置。设为 0 表示永不重置。
alert_message 发送给管理员的、可自定义的 MiniMessage 格式消息。支持 {player}、{count}、{block} 和坐标等占位符。

alerts - 自定义管理员通知

此部分控制如何在游戏内通知管理员。

  • sound:配置警报时播放给管理员的声音的 sound_id、volume 和 pitch。你甚至可以设置乘数,使每次后续警报的声音更响亮或音调更高。
  • continued_alert_prefix:为持续可疑活动的警报添加的 MiniMessage 格式前缀(例如 "<red>[Continued]</red> ")。

webhook - Discord 集成

将模组连接到你的 Discord 服务器以进行远程监控。

  • enabled:一个简单的 true/false 开关,用于启用 Webhook 通知。
  • url:你的 Discord Webhook 的完整 URL。警报将以详细的嵌入消息形式发送到这里。

database - 防止误报

此部分用于配置可选的 MySQL 数据库以追踪玩家放置的方块。

  • enabled:如果为 true,模组将连接到你的 MySQL 数据库,以记录和检查玩家放置的方块。当玩家破坏方块时,模组会首先检查数据库。如果该方块是玩家放置的,则会被忽略,不参与 X-ray 检测,从而防止误报。
  • 连接详情:配置提供了数据库 address、databasename、username 和 password 字段,以及其他标准连接选项。