FoxAddition 是一款反作弊插件,旨在防止特定类型的黑客行为。它可以与其他反作弊插件协同工作,通过额外的检测来增强您服务器的反作弊能力。
重要版本说明
- 版本 1.2.1 及以上:请阅读此说明。文档中提供了新的配置文件示例。旧版仍支持 1.7.2 至 1.21.1。
- 稳定版本:如需稳定版本,请使用 1.2.0(我们的旧版),直至我们完成重写。
- 修复版本:1.2.2 的修复版本可在 GitHub 仓库找到。
- 下载链接:您也可以通过 Modrinth、Discord(#┃foxaddition 频道)、Hangar 或 CurseForge 下载。
- 反馈与报告:欢迎留下评论以改进插件。请注意,这是一个辅助性反作弊插件。如发现任何错误或漏洞,请在讨论页或 Discord 服务器中报告。
核心特性
广泛的版本支持
- 支持从 1.7.2 到最新版本的 Spigot 服务器及其分支。
- 兼容 Folia。如遇问题,请加入 Discord 支持服务器并提供详细信息。
高度可定制化配置
- 用户可以自由编辑配置值,甚至可以在特定世界禁用检测。
- 可在文档部分预览配置文件。
基岩版玩家支持
- 兼容并检测基岩版玩家(如果服务器使用 GeyserMC)。
- 当服务器检测到 Floodgate 时,可以启用或禁用针对特定版本的检测。
- 若未使用 Floodgate,基岩版玩家将被视为 Java 版玩家,插件将继续正常检测。
- 版本 1.1.5+:可配置前缀选项来识别基岩版玩家,适用于在 BungeeCord 中配置 Floodgate 的情况。
- 版本 1.2.0+:添加了 UUID 支持,以防您不使用其他方法。
日志系统
- 记录玩家触发检测的所有警报,存储在插件文件夹内的
logs文件夹中,以 txt 文件保存。 - 此功能可在配置中启用或禁用。
多插件兼容性
- 插件启动时会自动检测兼容插件,以修复误报或增强体验。如有问题,可在配置中停用。
- 当前兼容的插件及其用途如下:
- **ExecutableItems**:用于修复某些属性/附魔/物品检查中的误报。- **DiscordSRV**:用于通过您的机器人将警报发送到指定的 Discord 频道,消息可在配置文件中更改。- **mcMMO**:用于修复使用技能时某些检查中的误报。- **PlaceholderAPI**:允许插件在任何地方使用占位符,例如在特定 VLS 中要执行的命令列表或消息中。- **ProtocolLib**:允许在检测中使用数据包,并添加一些额外的检查。(未来可能成为使用数据包以提高反作弊稳定性和性能的必备项。)- **VeinMiner**:用于在该插件模式启用时修复某些检查中的误报。- **WeaponMechanics**:用于修复玩家使用武器射击时某些检查中的误报。命令
/foxaddition notify- 向所有拥有foxac.notifications权限的用户发送通知。/foxaddition verbose- 启用/禁用详细输出。/foxaddition reload- 重新加载配置文件。如果使用 FileWatcher,则会自动重新加载。/foxaddition discordtest- 测试 DiscordSRV 挂钩是否正常工作。
权限
foxac.notifications- 查看通知消息。foxac.command- 使用任何 FoxAddition 命令的权限。foxac.bypass.<category>- 绕过某一类检测。可使用*绕过所有检测。
- 例如:`foxac.bypass.*`(绕过所有检测)或 `foxac.bypass.badpackets`(绕过所有 badpackets 检测)。更多信息
项目简介
FoxAddition 是一款反作弊插件,可与您服务器的主反作弊插件无缝集成,有效阻止某些可能被主反作弊忽略或未检测到的黑客行为和漏洞利用。它提供广泛的配置选项,允许您自由调整设置,还可以与一些插件联动,为您提供可定制的体验。适用于从 1.7.x(推荐 1.7.10)到最新版本的 Minecraft 服务器。
如需支持,请加入官方 Discord 服务器(国际服务器)报告问题、漏洞或错误。
关于日志系统
启用此功能后,当检测到任何违规行为时,反作弊会将详细信息记录到插件内的 logs 文件夹中。它会创建一个以日期命名的 .txt 文件,包含所有用户与该特定违规相关的全面数据。
时区和格式可以在 config.yml 配置文件中自由定制。如果选择默认值,它将自动使用系统的时区和格式显示。
配置示例 (config.yml):
## Logs
# Create a file in 'FoxAddition/logs/' to store all alerts.
logs:
# Do you want to enable this feature?
enable: true
# Define your preferred timezone to display in the file.
# You can find your timezone from the list of IANA time zones:
# https://www.iana.org/time-zones
# Alternatively, you can use "auto" to automatically detect the current timezone.
timezone: auto
# Customize the time format in the file.
# Default: yyyy-MM-dd HH:mm:ss
timeformat: yyyy-MM-dd HH:mm:ss
# Cleanup settings for log files.
# This only clean when the plugin starts.
cleanup:
# Enable automatic log cleanup after a specified number of days?
enable: true
# Specify the number of days to retain log files before cleanup.
days: 7日志输出示例:
[2023-07-16 00:24:59] [ALERT] Player detected FastBow (Type: Lenience) [lenience:200/200] [interval:220/950] [vls:1(+1)]
[2023-07-16 00:25:00] [ALERT] Player detected FastBow (Type: Lenience) [lenience:200/200] [interval:281/950] [vls:2(+1)]
[2023-07-16 00:25:00] [ALERT] Player detected FastBow (Type: Lenience) [lenience:200/200] [interval:693/950] [vls:3(+1)]关于配置文件更新
任何配置文件中都有一个表示文件版本的值。强烈建议不要编辑该值。它用于告知插件文件的版本,以便在文件过时时用新的更新文件替换。
请注意: 反作弊不会自动使用您之前的值更新配置文件。为确保顺利过渡到新版本并避免潜在问题,反作弊会遵循特定流程:将现有配置文件重命名为 old_{file},并生成一个新版本的文件。这允许您手动将之前的设置转移到更新的配置文件中,确保在反作弊最新变化下获得无缝体验。
FoxAddition 是一款功能强大的 Minecraft 反作弊插件,支持 Java 版和基岩版玩家。它通过多种检查模块来检测和阻止作弊行为,并提供灵活的配置选项、日志记录以及与其他插件的集成功能。
配置文件说明
重制版(1.2.0 以上版本)的配置文件包括
checks.ymllanguage.ymlsettings.yml
旧版(1.2.0 及以下版本)的配置文件为 config.yml。请查看我们在 GitHub 上的 Wiki 以获取更多信息。
config.yml 配置详解
基岩版支持
- bedrock: 启用与基岩版玩家的兼容性。
- floodgate: 尝试与 Floodgate 插件挂钩以解锁针对基岩版玩家的功能(需在服务器上安装 Floodgate)。
- `enable`: 启用此功能。- prefix: 通过玩家名前缀来识别基岩版玩家。
- `enable`: 启用前缀检测。- `prefix`: 定义基岩版玩家的前缀(例如 `.`)。客户端品牌检查
- brandchecker: 检测玩家加入时的客户端品牌,可用于创建品牌黑名单或白名单。
- `enable`: 启用此功能。- `type`: 定义列表类型,`whitelist`(白名单)或 `blacklist`(黑名单)。- `list`: 定义允许或禁止的品牌列表(不区分大小写)。例如:- `vanilla`- `lunarclient`- `fabric`- `geyser`- `commands`: 当玩家使用不被允许的品牌加入时执行的命令。可使用 `{brand}` 占位符。插件挂钩
允许反作弊与其他插件同步,以提供更好的功能体验。修改后需要重启服务器或使用 Plugman 重载插件。
- discordsrv: 与 DiscordSRV 挂钩,将警报发送到指定的 Discord 频道。
- `enable`: 启用此功能。- `channel`: 指定发送警报的 Discord 频道 ID。- `show`: 自定义警报中显示的信息。- `uuid`: 显示被检测玩家的 UUID。- `information`: 显示检测的详细信息。- `location`: 显示玩家的位置。- `title`: 显示 FoxAddition 标题。- `messages`: 修改所有字段的标题。- executableitems: 强制支持 ExecutableItems 插件,避免使用该插件物品时产生误报(测试于版本 6.23.11.12)。
- `enable`: 启用此功能。- placeholderapi: 检测 PlaceholderAPI,允许在
language.yml和checks.yml中使用外部占位符。
- `enable`: 启用此功能。- protocollib: 使用数据包进行额外检查,需要 ProtocolLib 4.9.0 或更高版本。
- `enable`: 启用此功能。- veinminer: 强制支持 VeinMiner 插件,在使用该插件功能时忽略某些检查(测试于版本 2.1.1)。
- `enable`: 启用此功能。日志记录
在 FoxAddition/logs/ 目录下创建文件存储所有警报。
- logs:
- `enable`: 启用日志记录。- `timezone`: 定义日志中使用的时区。可设置为 `auto` 自动检测,或从 IANA 时区列表中选择。- `timeformat`: 自定义日志中的时间格式(默认:`yyyy-MM-dd HH:mm:ss`)。- cleanup: 日志清理设置(仅在插件启动时清理)。
- `enable`: 启用自动清理。- `days`: 指定保留日志文件的天数。更新检查
- updates:
- `update`: 启用时,在服务器启动时自动检查 Spigot 页面上的新版本。- `filewatcher`: [实验性功能] 自动检查配置文件是否有新变化并立即应用。checks.yml 配置详解
此文件包含所有反作弊检查模块的详细配置。
快速提示
- 对于所有检查,可以包含
detect部分来指定检测的玩家类型:
- `java: true/false` 检测 Java 版玩家。- `bedrock: true/false` 检测基岩版玩家。- 对于所有检查类别,可以使用
disabled-worlds选项在特定世界禁用该类别检查。格式如下:
disabled-worlds:
- Auth
- LuckyWars若要禁用此功能,请设置为 `disabled-worlds: {}`。BadPackets 检查
防止玩家使用未经授权的数据包或动作。
- modules:
- `fastswitch`: 防止玩家过快切换快捷栏。- `interval`: 允许的两次切换之间的最小时间(毫秒)。- `vls`: 失败时增加的违规等级。- `cancel`: 是否在检测到时阻止事件。- `fastuse`: 防止玩家过快使用物品。- `max`: 在指定时间间隔内允许的最大使用次数。- `interval`: 计数的时间间隔(毫秒)。- `divisor`: 用于减少违规记录频率的除数。- `vls`: 失败时增加的违规等级。- `cancel`: 是否在检测到时阻止交互。- `regen`: 防止玩家过快恢复生命值(无违规等级,仅阻止非法恢复)。- `min`: 连续恢复事件之间的最小延迟时间(毫秒)。- `sneak`: 防止玩家过快潜行。- `max`: 在指定时间间隔内允许的最大潜行次数。- `interval`: 计数的时间间隔(毫秒)。- `vls`: 失败时增加的违规等级。- `cancel`: 是否在检测到时阻止潜行动作。- decay: 违规等级衰减系统。
- `enable`: 启用衰减。- `interval`: 衰减进程运行的间隔(秒)。- `amount`: 每次衰减减少的违规等级值。- commands: 违规阈值命令。例如,当违规等级达到 4、8、10 时执行不同的通知或踢出命令。
Blocks 检查
防止玩家进行未经授权的方块活动。
- modules:
- `fastplace`: 防止玩家过快放置方块。- `interval`: 方块放置之间的最小延迟(毫秒)。- `cancel`: 是否在检测到时阻止放置,并可选择是否恢复被阻止的方块 (`giveBlock`)。- `vls`: 失败时增加的违规等级。- `nuker`: 防止玩家在特定半径内过快破坏方块。- `max`: 在一定时间内可以破坏的最大方块数。- `delay`: 重置破坏计数器的时间(毫秒)。- `divisor`: 用于减少违规记录频率的除数。- `vls`: 失败时增加的违规等级。- `cancel`: 是否在检测到时阻止破坏并尝试恢复方块。- decay: 违规等级衰减系统。
- commands: 违规阈值命令。
FastBow 检查
防止玩家使用 FastBow 黑客手段过快射箭。
- modules:
- `lenience`: 检查在指定间隔内两次射击的完美时机。- `lenience`: 射箭前拉弓允许的最大时间。- `interval`: 计数两次射击的时间间隔(毫秒)。- `cancel`: 是否在检测到时阻止射击,可选择阻止类型 (`block` 或 `hotbar`)。- `vls`: 失败时增加的违规等级。- `limit`: 检查玩家在指定间隔内的射击次数是否超过限制。- `maxShoots`: 在特定时间间隔内允许的最大射击次数。- `interval`: 计数射击的时间间隔(毫秒)。- `cancel`: 是否在检测到时阻止射击,可选择阻止类型。- `vls`: 失败时增加的违规等级。- decay: 违规等级衰减系统。
- commands: 违规阈值命令。
Misc 检查
防止玩家使用与数据包相关的外部黑客手段或某些被称为“漏洞利用”的不良行为。部分检查需要 ProtocolLib。
- modules:
- `illegalpitch`: 防止玩家看到正常用户无法看到的 Pitch 值。[需要 ProtocolLib]- `mode`: 运行模式。`1` 仅阻止移动;`2` 阻止并立即踢出玩家(推荐)。- `exploits`: 防止玩家在服务器中进行一些漏洞利用。此检查可作为一个简单的反漏洞系统。- `modules`:- `fakespectate`: 防止玩家在非旁观者模式时发送“旁观”数据包。[需要 ProtocolLib]- `fakecreative`: 防止玩家在非创造模式时发送“设置创造模式物品栏”数据包。[需要 ProtocolLib]- `invalidabilities`: 防止玩家在无法使用时发送“能力”数据包。[需要 ProtocolLib]- `onground`: 设置为 `true` 可仅检查玩家是否在地面,以减少误报。- `confirm`: 设置为 `true` 时,反作弊会等待 2 秒内累计 3 次违规再踢出玩家,以减少误踢。- `invalidposition`: 防止玩家发送无效的位置数据包。[需要 ProtocolLib]- `x`, `y`, `z`: 定义位置的最大允许范围值。- `bowbomb`: 阻止非法射击爆炸。- `nulladdress`: 阻止使用空地址连接的玩家。Phase 检查
防止玩家穿墙移动,有效防止碰撞作弊。
- detect: 启用对 Java/基岩版玩家的检测。
- cancel: 检测到时是否阻止玩家移动。
- eb: 切换默认排除的方块列表。
- `enable`: 启用此功能。- `version`: 定义用于排除方块的版本号,或使用 `auto` 自动检测。- fixer: 尝试基于特定情况防止误报。
- `block`: 通过忽略特定方块防止误报。- `door`: 忽略门的检测。- `location`: 基于 Y 坐标位置防止误报。包含多个针对不同方块(如箱子、附魔台、床等)的精确坐标修复选项。- excluded-blocks: 手动排除导致问题的方块类型列表。
- vls: 失败时增加的违规等级。
- decay: 违规等级衰减系统。
- commands: 违规阈值命令。
Reach 检查
防止玩家使用 Reach 或相关黑客手段。
- modules:
- `hit`: 防止黑客从过远距离攻击。- `cancel`: 检测到时是否阻止攻击,可选择阻止类型 (`block` 或 `silent`)。- `threshold`: 定义攻击者与目标之间允许的最大距离阈值。为 Java 和基岩版玩家(需要 Floodgate)分别配置水平和垂直距离。- `multiplier`: 调整攻击者跳跃时的检测阈值乘数。- `vls`: 失败时增加的违规等级。- `block`: 防止黑客从过远距离与方块交互(放置/破坏)。- `threshold`: 定义玩家与方块之间允许的最大距离阈值,分别为放置和破坏设置水平和垂直距离。- `cancel`: 检测到时是否阻止放置,并可选择是否恢复被阻止的方块 (`giveBlock`)。- `vls`: 失败时增加的违规等级。- decay: 违规等级衰减系统。
- commands: 违规阈值命令。
language.yml 配置详解
此文件用于自定义插件显示的消息。
- prefix: 定义在消息中显示的前缀。例如:
&8[ &6&lFA&8 ] &r - messages: 修改插件的各种消息。可以使用
\n或%nl%换行。
- `help`: 帮助命令中悬停显示的消息。- `command`: 各种子命令的反馈消息。- `notify`: 当 `/foxaddition notify` 命令缺少参数时的消息。- `reload`: 当配置文件重载完成时的消息。- `discordtest`: 测试 DiscordSRV 集成时的各种状态消息。- `verbose`: 启用/禁用详细模式时的消息。- format: 详细模式消息的格式。可用的 FoxAddition 占位符包括:
- `{player}` - 返回玩家名称。- `{module}` - 返回模块名称。- `{details}` - 返回日志的详细信息。- `{vls}` - 返回新的违规等级值。- `{vls_added}` - 返回增加的违规等级值。(此格式也支持 PlaceholderAPI)- exploits: 当玩家因 Misc 检查中的反漏洞利用功能被踢出时显示的消息。