
AntiESP
A reverse perspective plugin designed specifically for Minecraft servers一个专为我的世界服务器设计的反透视插件
Список изменений
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)算法来检测两个玩家之间是否有视线连接:
- 起点计算: 从观察者玩家的眼睛位置开始
- 终点计算: 到目标玩家的眼睛位置结束
- 路径采样: 沿着视线路径以固定步长采样点
- 方块检测: 检查每个采样点是否有阻挡方块
- 结果判断: 根据阻挡比例和连续阻挡区域判断是否可见
2. 数据包拦截原理
当检测到玩家被遮挡时,插件会:
- 隐藏玩家: 使用Bukkit API隐藏被遮挡的玩家
- 拦截数据包: 阻止可能暴露位置的数据包发送
- 动态更新: 实时更新玩家可见性状态
3. 队伍豁免原理
同队玩家之间的豁免机制:
- 队伍检测: 检查玩家是否在同一队伍(计分板或权限)
- 豁免应用: 同队玩家跳过视线检测,始终可见
- 动态更新: 队伍变化时自动更新豁免状态
English
1. Line-of-Sight Detection
The plugin uses raycasting algorithms to detect line-of-sight connections between players:
- Start Point: Calculate from observer's eye position
- End Point: Calculate to target player's eye position
- Path Sampling: Sample points along the line-of-sight path
- Block Detection: Check each sample point for blocking blocks
- Result Judgment: Determine visibility based on blocking ratio and consecutive blocked areas
2. Packet Interception
When a player is detected as blocked:
- Hide Player: Use Bukkit API to hide the blocked player
- Intercept Packets: Prevent position-exposing packets from being sent
- Dynamic Updates: Real-time visibility state updates
3. Team Exemption
Same-team player exemption mechanism:
- Team Detection: Check if players are in the same team (scoreboard or permissions)
- Exemption Application: Same-team players skip line-of-sight detection, always visible
- Dynamic Updates: Automatic exemption state updates when teams change
📋 安装指南 / Installation
中文
系统要求
- Minecraft版本: 1.21.4
- 服务器类型: Spigot/Paper
- Java版本: 17或更高
- 内存要求: 建议2GB以上
安装步骤
- 下载最新版本的
AntiESP-1.1.4.jar - 将插件文件放入服务器的
plugins文件夹 - 重启服务器
- 插件将自动生成配置文件
- 根据需要修改
config.yml配置
English
System Requirements
- Minecraft Version: 1.21.4
- Server Type: Spigot/Paper
- Java Version: 17 or higher
- Memory: Recommended 2GB+
Installation Steps
- Download the latest
AntiESP-1.1.4.jar - Place the plugin file in your server's
pluginsfolder - Restart the server
- The plugin will automatically generate configuration files
- Modify
config.ymlas needed
⚙️ 配置说明 / Configuration
中文
基础配置
# 调试模式
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
配置说明
- debug: 启用调试模式,输出详细信息
- check-interval: 视线检查间隔,数值越小检查越频繁
- max-distance: 最大检测距离,超过此距离不检测
- min-distance: 近距离豁免,小于此距离始终可见
- blocking-threshold: 阻挡阈值,0.7表示70%路径被阻挡才隐藏
English
Basic Configuration
# 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
- debug: Enable debug mode for detailed output
- check-interval: Line-of-sight check interval, smaller values = more frequent checks
- max-distance: Maximum detection distance, players beyond this distance are not detected
- min-distance: 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 | 队伍豁免权限 | 无 |
权限配置示例
# 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
# 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
- Team Battles: Same-team players can see each other even when blocked by blocks
- Competitive Matches: Prevent ESP hacks for fair competition
- Survival Servers: Protect player privacy from malicious ESP
2. Cooperative Servers
- Building Projects: Maintain visibility between teammates for collaboration
- Adventure Mode: Keep team members connected during exploration
- Creative Mode: Visibility management for multiplayer collaboration
3. Mixed Servers
- Roleplay: Line-of-sight management between different factions
- Economy Servers: Protect player base privacy
- Mini-games: Anti-ESP requirements for various mini-games
📊 性能优化 / Performance Optimization
中文
性能建议
- 检查间隔: 建议设置为2-5tick,平衡性能和效果
- 检测距离: 根据服务器规模调整最大检测距离
- 异步处理: 启用异步处理提高性能
- 批量处理: 调整批量处理大小优化内存使用
性能监控
/antiesp stats # 查看性能统计
English
Performance Recommendations
- Check Interval: Recommended 2-5 ticks to balance performance and effectiveness
- Detection Distance: Adjust maximum detection distance based on server size
- Async Processing: Enable async processing for better performance
- Batch Processing: Adjust batch size to optimize memory usage
Performance Monitoring
/antiesp stats # View performance statistics
🐛 故障排除 / Troubleshooting
中文
常见问题
Q: 同队玩家仍然被隐藏 A: 检查以下项目:
- 队伍豁免是否启用:
/antiesp team - 玩家是否在同一队伍:
/antiesp team info <玩家名> - 调试模式是否启用:
/antiesp debug on - 配置文件是否正确
Q: 插件性能问题 A: 优化建议:
- 增加检查间隔:
check-interval: 5 - 减少检测距离:
max-distance: 32.0 - 启用异步处理:
async-processing: true
Q: 配置不生效 A: 解决方案:
- 重载配置:
/antiesp reload - 检查配置文件语法
- 重启服务器
English
Common Issues
Q: Same-team players are still hidden A: Check the following:
- Is team exemption enabled:
/antiesp team - Are players in the same team:
/antiesp team info <player> - Is debug mode enabled:
/antiesp debug on - Is the configuration file correct
Q: Plugin performance issues A: Optimization suggestions:
- Increase check interval:
check-interval: 5
