AntiPieRay

AntiPieRay - 一个防止玩家利用饼图进行作弊的 Minecraft 插件。

资源图片
# AntiPieRay - 高级 PieRay 利用保护 **使用智能数据包过滤和视线检测来保护您的服务器免受 PieRay 利用。** ## 🛡️ 什么是 PieRay 利用? PieRay 利用允许玩家使用 Minecraft 的 F3 调试饼图穿透墙壁和实体块来检测隐藏的方块实体(箱子、信标、旗帜等)。这完全破坏了底层安全,因为它会暴露应隐藏的存储位置,从而在 PvP 和生存游戏中造成不公平的优势。 ## ✨ 功能 ### 🎯 **智能数据包过滤** - 在网络层拦截方块实体数据包 - 执行实时视线计算 - 只允许合法可见的方块实体到达客户端 ### ⚙️ **高度可配置** - 选择要保护的方块类型(箱子、信标、生成器等) - 可调整的距离限制和精度设置 - 在不重启服务器的情况下热重载配置 - 支持模组方块实体 ### 🚀 **性能优化** - 高级缓存系统,带 LRU 淘汰 - 可配置的光线投射精度 - 基于距离的提前终止 - 最小化服务器影响(< 5% CPU,< 50MB RAM) ### 🔧 **管理工具** - 全面的命令系统,带有自动补全 - 实时性能指标和监控 - 调试模式用于故障排除 - 玩家特定的状态检查 ### 🔒 **权限系统** - 所有功能的细粒度权限节点 - 工作人员的绕过权限 - 与所有主要权限插件集成 - 安全的默认设置,仅限操作员管理员访问 ### 🌐 **多版本支持** - 自动 NMS 版本检测 - 对于不支持的版本,提供优雅降级 - 在出现兼容性问题时运行安全模式 - 为新的 Minecraft 版本而设计的未来架构 ## 📋 要求 - **Minecraft**: 1.21+ (Paper/Spigot/Bukkit) - **Java**: 17 或更高版本 - **内存**: 最小的额外使用量 ## 🚀 快速开始 1. **安装**: 将 JAR 文件放入您的 `plugins` 文件夹 2. **重启**: 重启您的服务器 3. **配置**: 编辑 `plugins/AntiPieRay/config.yml` 以满足您的需求 4. **重新加载**: 使用 `/antipieray reload` 应用更改 ## 📖 命令 | 命令 | 描述 | 权限 | |---------|-------------|------------| | `/antipieray` | 显示插件信息和命令 | `antipieray.use` | | `/antipieray reload` | 重新加载配置 | `antipieray.admin` | | `/antipieray status ` | 检查玩家数据包处理程序状态 | `antipieray.admin` | | `/antipieray debug [on/off]` | 切换调试日志记录 | `antipieray.debug` | | `/antipieray metrics` | 查看性能统计信息 | `antipieray.admin` | | `/antipieray version` | 显示版本和兼容性信息 | 所有人 | **别名**: `/apr`, `/pieray` ## 🔑 关键权限 - `antipieray.admin` - 全面管理访问权限(默认:op) - `antipieray.bypass` - 跳过所有过滤(默认:false) - `antipieray.debug` - 访问调试功能(默认:op) - `antipieray.*` - 所有权限(默认:false) ## ⚡ 性能指标 使用内置指标监控您的服务器性能: - 数据包处理时间和吞吐量 - 缓存命中率和内存使用情况 - 自动性能警报和建议 - GC 优化和内存管理 ## 🛠️ 配置示例 ```yaml # 保护这些方块类型 checked-block-entity-types: - "minecraft:chest" - "minecraft:trapped_chest" - "minecraft:ender_chest" - "minecraft:shulker_box" - "minecraft:beacon" - "minecraft:mob_spawner" # 性能设置 max-check-distance: 64.0 # 最大可见性检查范围 always-view-distance: 8.0 # 在此范围内始终可见 cache-expiration-time: 5000 # 缓存持续时间(毫秒) ray-cast-precision: 0.5 # 光线投射步长 # 启用指标收集 metrics-enabled: true debug-enabled: false ``` ## 🔍 工作原理 1. **数据包拦截**: 使用 Netty 钩入玩家网络管道 2. **类型过滤**: 检查方块实体类型是否已配置为进行保护 3. **距离检查**: 应用距离限制以进行性能优化 4. **视线**: 从玩家视线到方块中心进行光线投射 5. **缓存**: 存储结果以避免重复计算 6. **决策**: 根据可见性允许或取消数据包 ## 🎮 服务器兼容性 ### ✅ **支持的平台** - Paper(推荐) - Spigot - Bukkit - Purpur ### ✅ **测试版本** - Minecraft 1.21.x - Java 17, 18, 19, 20, 21 ### ✅ **插件兼容性** - 与所有主要插件配合使用 - 不与其他安全插件冲突 - 与权限管理器兼容(LuckPerms、PermissionsEx 等) ## 📊 为什么选择 AntiPieRay? ### 🏆 **卓越技术** - 数据包级别过滤(而不仅仅是方块隐藏) - 实时视线计算 - 高级缓存以获得最佳性能 ### 🔧 **易于使用** - 基本保护无需配置 - 直观的命令和权限 - 全面的文档和支持 ### 🛡️ **经过实战考验** - 在生产服务器上进行了广泛测试 - 能处理边缘情况和错误条件 - 持续更新和维护 ### 📈 **性能为中心** - 最小化服务器影响 - 智能优化策略 - 内置性能监控 ## 🐛 故障排除 ### 常见问题 - **高处理时间**: 减少 `max-check-distance` 或增加 `ray-cast-precision` - **内存使用**: 降低 `max-cache-size` 或 `cache-expiration-time` - **仍然看到隐藏的方块**: 检查方块类型配置和玩家权限 ### 调试模式 使用 `/antipieray debug on` 启用以获取详细的日志记录和故障排除信息。~~~~ ## 📄 许可 此插件发布在 MIT 许可下。 参阅 GitHub 仓库以获取完整许可详情。 --- **立即保护您的服务器! 下载 AntiPieRay 并彻底停止 PieRay 利用。** *与 Minecraft 1.21+ 兼容 • 需要 Java 17+ • 与 Paper/Spigot/Bukkit 配合使用*