AntiPieRay - Advanced PieRay Exploit Protection
Protect your server from the PieRay exploit with intelligent packet filtering and line-of-sight detection.
️ What is the PieRay Exploit?
The PieRay exploit allows players to use Minecraft's F3 debug pie chart to detect hidden block entities (chests, beacons, banners, etc.) through walls and solid blocks. This completely breaks base security by revealing storage locations that should be hidden, giving unfair advantages in PvP and survival gameplay.
✨ Features
Intelligent Packet Filtering
- Intercepts block entity data packets at the network level
- Performs real-time line-of-sight calculations
- Only allows legitimately visible block entities to reach clients
⚙️ Highly Configurable
- Choose which block types to protect (chests, beacons, spawners, etc.)
- Adjustable distance limits and precision settings
- Hot-reload configuration without server restart
- Support for modded block entities
Performance Optimized
- Advanced caching system with LRU eviction
- Configurable ray-casting precision
- Distance-based early termination
- Minimal server impact (< 5% CPU, < 50MB RAM)
Administrative Tools
- Comprehensive command system with tab completion
- Real-time performance metrics and monitoring
- Debug mode for troubleshooting
- Player-specific status checking
Permission System
- Granular permission nodes for all features
- Bypass permission for staff members
- Integration with all major permission plugins
- Secure defaults with operator-only admin access
Multi-Version Support
- Automatic NMS version detection
- Graceful degradation for unsupported versions
- Safe mode operation if compatibility issues arise
- Future-proof architecture for new Minecraft versions
Requirements
- Minecraft: 1.21+ (Paper/Spigot/Bukkit)
- Java: 17 or higher
- Memory: Minimal additional usage
Quick Start
- Install: Drop the JAR into your plugins folder
- Restart: Restart your server
- Configure: Edit plugins/AntiPieRay/config.yml to your needs
- Reload: Use /antipieray reload to apply changes
Commands
/antipieray |
Show plugin info and commands |
antipieray.use |
/antipieray reload |
Reload configuration |
antipieray.admin |
/antipieray status <player> |
Check player packet handler status |
antipieray.admin |
/antipieray debug [on/off] |
Toggle debug logging |
antipieray.debug |
/antipieray metrics |
View performance statistics |
antipieray.admin |
/antipieray version |
Show version and compatibility info |
Everyone |
Aliases:
/apr,
/pieray
Key Permissions
- antipieray.admin - Full administrative access (default: op)
- antipieray.bypass - Skip all filtering (default: false)
- antipieray.debug - Access debug features (default: op)
- antipieray.* - All permissions (default: false)
⚡ Performance Metrics
Monitor your server's performance with built-in metrics:
- Packet processing times and throughput
- Cache hit rates and memory usage
- Automatic performance alerts and recommendations
- GC optimization and memory management
️ Configuration Example
Code (Text):
# Protect these block types
checked-block-entity-types:
- "minecraft:chest"
- "minecraft:trapped_chest"
- "minecraft:ender_chest"
- "minecraft:shulker_box"
- "minecraft:beacon"
- "minecraft:mob_spawner"
# Performance settings
max-check-distance: 64.0 # Max visibility check range
always-view-distance: 8.0 # Always visible within this range
cache-expiration-time: 5000 # Cache duration (ms)
ray-cast-precision: 0.5 # Ray casting step size
# Enable metrics collection
metrics-enabled: true
debug-enabled: false
How It Works
- Packet Interception: Hooks into player network pipelines using Netty
- Type Filtering: Checks if block entity type is configured for protection
- Distance Check: Applies distance limits for performance optimization
- Line-of-Sight: Performs ray-casting from player eye to block center
- Caching: Stores results to avoid redundant calculations
- Decision: Allows or cancels packet based on visibility
Server Compatibility
✅ Supported Platforms
- Paper (Recommended)
- Spigot
- Bukkit
- Purpur
✅ Tested Versions
- Minecraft 1.21.x
- Java 17, 18, 19, 20, 21
✅ Plugin Compatibility
- Works with all major plugins
- No conflicts with other security plugins
- Compatible with permission managers (LuckPerms, PermissionsEx, etc.)
Why Choose AntiPieRay?
Superior Technology
- Packet-level filtering (not just block hiding)
- Real-time line-of-sight calculations
- Advanced caching for optimal performance
Easy to Use
- Zero configuration required for basic protection
- Intuitive commands and permissions
- Comprehensive documentation and support
️ Battle-Tested
- Extensively tested on production servers
- Handles edge cases and error conditions gracefully
- Continuous updates and maintenance
Performance Focused
- Minimal server impact
- Intelligent optimization strategies
- Built-in performance monitoring
Troubleshooting
Common Issues
- High processing times: Reduce max-check-distance or increase ray-cast-precision
- Memory usage: Lower max-cache-size or cache-expiration-time
- Still seeing hidden blocks: Check block type configuration and player permissions
Debug Mode
Enable with
/antipieray debug on for detailed logging and troubleshooting information.
License
This plugin is released under the MIT License. See the GitHub repository for full license details.
Protect your server today! Download AntiPieRay and stop the PieRay exploit once and for all.
Compatible with Minecraft 1.21+ • Requires Java 17+ • Works with Paper/Spigot/Bukkit