AntiESP
A reverse perspective plugin designed specifically for Minecraft servers一个专为我的世界服务器设计的反透视插件
AntiESP
AntiESP - 反透视插件
📖 简介 / Introduction
中文
AntiESP是一个专为Minecraft服务器设计的反透视插件,通过实时计算玩家视线连接来防止透视外挂。插件采用先进的射线投射算法,精确检测玩家之间的视线遮挡,并智能拦截可能暴露玩家位置的数据包。
English
AntiESP is an anti-ESP (Extra Sensory Perception) plugin designed for Minecraft servers. It prevents ESP hacks by calculating player line-of-sight in real-time using advanced raycasting algorithms. The plugin intelligently detects visual obstructions between players and intercepts data packets that could expose player positions.
---
✨ 功能特性 / Features
🛡️ 核心功能 / Core Features
| 功能 / Feature | 中文描述 | English Description | |---|---|---| | 详细调试模式 | 使用射线投射算法实时计算玩家视线连接 | Real-time line-of-sight detection using raycasting algorithms | | 详细调试模式 | 拦截可能暴露玩家位置的数据包 | Intelligent packet interception to prevent position exposure | | 详细调试模式 | 可配置的阻挡阈值,要求玩家完全被遮挡才隐藏 | Configurable blocking thresholds for strict detection | | 详细调试模式 | 检查玩家周围的多个点,提高检测精度 | Multi-angle detection for improved accuracy | | 详细调试模式 | 同队玩家之间不进行反透视处理 | Team exemption system for same-team players | | 详细调试模式 | 近距离玩家始终可见,避免误判 | Close-range exemption to prevent false positives | | 详细调试模式 | 支持中文和英文界面 | Multi-language support (Chinese & English) | | 详细调试模式 | 完整的调试信息输出 | Comprehensive debug mode with detailed logging |
🎯 高级功能 / Advanced Features
| 功能 / Feature | 中文描述 | English Description | |---|---|---| | 队伍检测 | 使用玩家眼睛高度进行视线检测 | Eye-height detection for realistic line-of-sight | | 队伍检测 | 智能识别透明和半透明方块 | Intelligent transparent block detection | | 队伍检测 | 异步处理和批量处理优化 | Performance optimization with async processing | | 队伍检测 | 无需重启服务器即可重载配置 | Hot-reload configuration without server restart | | 队伍检测 | 完整的权限控制和绕过机制 | Complete permission system with bypass options | | 队伍检测 | 支持计分板和权限两种队伍检测方法 | Team detection via scoreboard and permissions |
---
🔧 功能原理 / How It Works
中文
1. 视线检测原理
插件使用射线投射(Raycasting)算法来检测两个玩家之间是否有视线连接:
1. 结果判断: 从观察者玩家的眼睛位置开始 2. 结果判断: 到目标玩家的眼睛位置结束 3. 结果判断: 沿着视线路径以固定步长采样点 4. 结果判断: 检查每个采样点是否有阻挡方块 5. 结果判断: 根据阻挡比例和连续阻挡区域判断是否可见
2. 数据包拦截原理
当检测到玩家被遮挡时,插件会: 1. 动态更新: 使用Bukkit API隐藏被遮挡的玩家 2. 动态更新: 阻止可能暴露位置的数据包发送 3. 动态更新: 实时更新玩家可见性状态
3. 队伍豁免原理
同队玩家之间的豁免机制: 1. 动态更新: 检查玩家是否在同一队伍(计分板或权限) 2. 动态更新: 同队玩家跳过视线检测,始终可见 3. 动态更新: 队伍变化时自动更新豁免状态
English
1. Line-of-Sight Detection
The plugin uses raycasting algorithms to detect line-of-sight connections between players:
1. Result Judgment: Calculate from observer's eye position 2. Result Judgment: Calculate to target player's eye position 3. Result Judgment: Sample points along the line-of-sight path 4. Result Judgment: Check each sample point for blocking blocks 5. Result Judgment: Determine visibility based on blocking ratio and consecutive blocked areas
2. Packet Interception
When a player is detected as blocked: 1. Dynamic Updates: Use Bukkit API to hide the blocked player 2. Dynamic Updates: Prevent position-exposing packets from being sent 3. Dynamic Updates: Real-time visibility state updates
3. Team Exemption
Same-team player exemption mechanism: 1. Dynamic Updates: Check if players are in the same team (scoreboard or permissions) 2. Dynamic Updates: Same-team players skip line-of-sight detection, always visible 3. Dynamic Updates: Automatic exemption state updates when teams change
---
📋 安装指南 / Installation
中文
系统要求
- 内存要求: 1.21.4 - 内存要求: Spigot/Paper - 内存要求: 17或更高 - 内存要求: 建议2GB以上
安装步骤
1. 下载最新版本的`AntiESP-1.1.4.jar` 2. 将插件文件放入服务器的`plugins`文件夹 3. 重启服务器 4. 插件将自动生成配置文件 5. 根据需要修改`config.yml`配置
English
System Requirements
- Memory: 1.21.4 - Memory: Spigot/Paper - Memory: 17 or higher - Memory: Recommended 2GB+
Installation Steps
1. Download the latest `AntiESP-1.1.4.jar` 2. Place the plugin file in your server's `plugins` folder 3. Restart the server 4. The plugin will automatically generate configuration files 5. Modify `config.yml` as needed
---
⚙️ 配置说明 / Configuration
中文
基础配置
```yaml
调试模式
debug: false
检查间隔(tick)
check-interval: 2
最大检测距离
max-distance: 64.0
最小检测距离(近距离豁免)
min-distance: 5.0
队伍豁免设置
team-exemption: enabled: true detection-method: "scoreboard" # scoreboard/permission/both
严格模式设置
advanced: strict-mode: enabled: true blocking-threshold: 0.7 # 阻挡阈值 multi-angle-check: true use-eye-height: true ```
配置说明
- blocking-threshold: 启用调试模式,输出详细信息 - blocking-threshold: 视线检查间隔,数值越小检查越频繁 - blocking-threshold: 最大检测距离,超过此距离不检测 - blocking-threshold: 近距离豁免,小于此距离始终可见 - blocking-threshold: 阻挡阈值,0.7表示70%路径被阻挡才隐藏
English
Basic Configuration
```yaml
Debug mode
debug: false
Check interval (ticks)
check-interval: 2
Maximum detection distance
max-distance: 64.0
Minimum detection distance (close-range exemption)
min-distance: 5.0
Team exemption settings
team-exemption: enabled: true detection-method: "scoreboard" # scoreboard/permission/both
Strict mode settings
advanced: strict-mode: enabled: true blocking-threshold: 0.7 # Blocking threshold multi-angle-check: true use-eye-height: true ```
Configuration Explanation
- blocking-threshold: Enable debug mode for detailed output - blocking-threshold: Line-of-sight check interval, smaller values = more frequent checks - blocking-threshold: Maximum detection distance, players beyond this distance are not detected - blocking-threshold: Close-range exemption, players within this distance are always visible - blocking-threshold: Blocking threshold, 0.7 means hide when 70% of path is blocked
---
🎮 使用教程 / Usage Guide
中文
基础命令
``` /antiesp # 显示帮助信息 /antiesp reload # 重载配置 /antiesp status # 查看插件状态 /antiesp debug on/off # 启用/禁用调试模式 /antiesp info # 查看插件信息 /antiesp stats # 查看统计信息 ```
队伍管理命令
``` /antiesp team # 查看队伍豁免设置 /antiesp team enable/disable # 启用/禁用队伍豁免 /antiesp team method <方法> # 设置检测方法 /antiesp team info <玩家名> # 查看玩家队伍信息 ```
严格模式命令
``` /antiesp strict on/off # 启用/禁用严格模式 /antiesp strict threshold <值> # 设置阻挡阈值 /antiesp strict multiangle on/off # 启用/禁用多角度检测 ```
语言设置命令
``` /antiesp lang zh # 设置为中文 /antiesp lang en # 设置为英文 ```
English
Basic Commands
``` /antiesp # Show help information /antiesp reload # Reload configuration /antiesp status # View plugin status /antiesp debug on/off # Enable/disable debug mode /antiesp info # View plugin information /antiesp stats # View statistics ```
Team Management Commands
``` /antiesp team # View team exemption settings /antiesp team enable/disable # Enable/disable team exemption /antiesp team method <method> # Set detection method /antiesp team info <player> # View player team information ```
Strict Mode Commands
``` /antiesp strict on/off # Enable/disable strict mode /antiesp strict threshold <value> # Set blocking threshold /antiesp strict multiangle on/off # Enable/disable multi-angle detection ```
Language Commands
``` /antiesp lang zh # Set to Chinese /antiesp lang en # Set to English ```
---
🔍 调试教程 / Debug Guide
中文
启用调试模式
``` /antiesp debug on ```
调试信息说明
启用调试模式后,控制台会输出详细信息:
可见性更新日志: ``` [INFO] === 开始可见性更新 === [INFO] 在线玩家数量: 5 [INFO] 处理时间: 1703123456789 [INFO] 开始处理玩家: Player1 (uuid) [INFO] 观察者位置: (world, 100.00, 64.00, 200.00) [INFO] 检查目标: Player2 距离: 15.50 ```
队伍豁免日志: ``` [INFO] 队伍豁免检查: Player1 vs Player2 | 同队: true | 豁免生效: true [INFO] 队伍豁免生效: Player1 和 Player2 在同一队伍,跳过反透视 [INFO] 队伍豁免显示: Player1 现在可以看到 Player2 (队伍豁免) ```
视线检测日志: ``` [INFO] 使用眼睛高度检测: 观察者 (world, 100.00, 65.60, 200.00) -> 目标 (world, 115.50, 65.60, 200.00) [INFO] 视线检测结果: 可见 | 方法: 智能检测 | 距离: 15.50 | 耗时: 150μs [INFO] 严格模式: 启用 | 阻挡阈值: 70% ```
性能统计日志
``` [INFO] === 可见性更新完成 === [INFO] 处理玩家数量: 5 [INFO] 总耗时: 25ms [INFO] 平均耗时: 5ms/玩家 ```
English
Enable Debug Mode
``` /antiesp debug on ```
Debug Information
When debug mode is enabled, the console will output detailed information:
Visibility Update Logs: ``` [INFO] === Starting Visibility Update === [INFO] Online players: 5 [INFO] Processing time: 1703123456789 [INFO] Processing player: Player1 (uuid) [INFO] Observer location: (world, 100.00, 64.00, 200.00) [INFO] Checking target: Player2 distance: 15.50 ```
Team Exemption Logs: ``` [INFO] Team exemption check: Player1 vs Player2 | Same team: true | Exemption active: true [INFO] Team exemption active: Player1 and Player2 are in the same team, skipping anti-ESP [INFO] Team exemption show: Player1 can now see Player2 (team exemption) ```
Line-of-Sight Detection Logs: ``` [INFO] Using eye height detection: Observer (world, 100.00, 65.60, 200.00) -> Target (world, 115.50, 65.60, 200.00) [INFO] Line-of-sight result: Visible | Method: Smart detection | Distance: 15.50 | Time: 150μs [INFO] Strict mode: Enabled | Blocking threshold: 70% ```
Performance Statistics Logs: ``` [INFO] === Visibility Update Complete === [INFO] Processed players: 5 [INFO] Total time: 25ms [INFO] Average time: 5ms/player ```
---
🛡️ 权限系统 / Permission System
中文
权限列表
| 权限 | 描述 | 默认 | |---|---|---| | `antiesp.admin` | 管理员权限,可以使用所有命令 | OP | | `antiesp.bypass` | 绕过反透视检测 | 无 | | `antiesp.team.<teamname>` | 队伍权限,用于权限检测方法 | 无 | | `antiesp.team.exemption` | 队伍豁免权限 | 无 |
权限配置示例
```yaml
LuckPerms 配置示例
lp user Player1 permission set antiesp.team.red true lp user Player2 permission set antiesp.team.red true lp user Player3 permission set antiesp.bypass true ```
English
Permission List
| Permission | Description | Default | |---|---|---| | `antiesp.admin` | Admin permission, can use all commands | OP | | `antiesp.bypass` | Bypass anti-ESP detection | None | | `antiesp.team.<teamname>` | Team permission for permission detection method | None | | `antiesp.team.exemption` | Team exemption permission | None |
Permission Configuration Example
```yaml
LuckPerms configuration example
lp user Player1 permission set antiesp.team.red true lp user Player2 permission set antiesp.team.red true lp user Player3 permission set antiesp.bypass true ```
---
🎯 使用场景 / Use Cases
中文
1. PvP服务器
- 生存服务器: 同队玩家可以互相看到,即使被方块遮挡 - 生存服务器: 防止透视外挂,保证公平竞争 - 生存服务器: 保护玩家隐私,防止恶意透视
2. 合作服务器
- 创造模式: 队友之间保持可见性,便于协作 - 创造模式: 团队探险时保持联系 - 创造模式: 多人协作时的可见性管理
3. 混合服务器
- 小游戏: 不同阵营之间的视线管理 - 小游戏: 保护玩家基地隐私 - 小游戏: 各种小游戏中的反透视需求
English
1. PvP Servers
- Survival Servers: Same-team players can see each other even when blocked by blocks - Survival Servers: Prevent ESP hacks for fair competition - Survival Servers: Protect player privacy from malicious ESP
2. Cooperative Servers
- Creative Mode: Maintain visibility between teammates for collaboration - Creative Mode: Keep team members connected during exploration - Creative Mode: Visibility management for multiplayer collaboration
3. Mixed Servers
- Mini-games: Line-of-sight management between different factions - Mini-games: Protect player base privacy - Mini-games: Anti-ESP requirements for various mini-games
---
📊 性能优化 / Performance Optimization
中文
性能建议
1. 批量处理: 建议设置为2-5tick,平衡性能和效果 2. 批量处理: 根据服务器规模调整最大检测距离 3. 批量处理: 启用异步处理提高性能 4. 批量处理: 调整批量处理大小优化内存使用
性能监控
``` /antiesp stats # 查看性能统计 ```
English
Performance Recommendations
1. Batch Processing: Recommended 2-5 ticks to balance performance and effectiveness 2. Batch Processing: Adjust maximum detection distance based on server size 3. Batch Processing: Enable async processing for better performance 4. Batch Processing: Adjust batch size to optimize memory usage
Performance Monitoring
``` /antiesp stats # View performance statistics ```
---
🐛 故障排除 / Troubleshooting
中文
常见问题
Q: 同队玩家仍然被隐藏 A: 检查以下项目: 1. 队伍豁免是否启用:`/antiesp team` 2. 玩家是否在同一队伍:`/antiesp team info <玩家名>` 3. 调试模式是否启用:`/antiesp debug on` 4. 配置文件是否正确
Q: 插件性能问题 A: 优化建议: 1. 增加检查间隔:`check-interval: 5` 2. 减少检测距离:`max-distance: 32.0` 3. 启用异步处理:`async-processing: true`
Q: 配置不生效 A: 解决方案: 1. 重载配置:`/antiesp reload` 2. 检查配置文件语法 3. 重启服务器
English
Common Issues
Q: Same-team players are still hidden A: Check the following: 1. Is team exemption enabled: `/antiesp team` 2. Are players in the same team: `/antiesp team info <player>` 3. Is debug mode enabled: `/antiesp debug on` 4. Is the configuration file correct
Q: Plugin performance issues A: Optimization suggestions: 1. Increase check interval: `check-interval: 5` 2. Reduce detection distance: `max-distance: 32.0` 3. Enable async processing: `async-processing: true`
Q: Configuration not working A: Solutions: 1. Reload configuration: `/antiesp reload` 2. Check configuration file syntax 3. Restart the server
---
📞 支持与反馈 / Support & Feedback
中文
- 技术支持: 请提供详细的错误信息和调试日志 - 技术支持: 欢迎提出改进建议 - 技术支持: 通过GitHub Issues获取支持
English
- Technical Support: Please provide detailed error information and debug logs - Technical Support: Welcome to suggest improvements - Technical Support: Get support through GitHub Issues
---
📄 许可证 / License
本项目采用MIT许可证 - 查看 LICENSE 文件了解详情。
This project is licensed under the MIT License - see the LICENSE file for details.
---
👨💻 作者 / Author
114514h - 插件开发者
114514h - Plugin Developer
---
🙏 致谢 / Acknowledgments
感谢为这个项目做出贡献的我。
Thanks to me contributed to this project.