
ChunkDeleter
Advanced chunk cleaner plugin that deletes unused chunks for Paper/Folia servers
ChunkDeleter
Advanced chunk cleaner plugin for Paper/Folia servers that automatically deletes chunks that haven't been entered by players for a specified amount of time.
Features
🚀 Advanced Scheduling
- Folia Support: Fully compatible with Folia's threaded region scheduler
- Paper/Spigot Support: Falls back to standard scheduler for Paper/Spigot servers
- Thread-Safe: All operations use appropriate schedulers for thread safety
- PerfoBooster Integration: Automatic detection and optimization with PerfoBooster plugin
🛡️ Smart Protection System
- Spawn Protection: Protects chunks around world spawn points
- Player Protection: Protects chunks near online players
- Structure Protection: Protects chunks containing important structures (portals, beacons, etc.)
- Tile Entity Protection: Protects chunks with storage blocks, furnaces, and other important blocks
- Build Detection: Recognizes player-built structures and protects them
⚙️ Flexible Configuration
- CamelCase Configuration: Modern, clean configuration format
- Configurable Time Limits: Set how long chunks must be unused before deletion
- Grace Period: Two-phase deletion with marking and grace period
- World-Specific Settings: Enable/disable for specific worlds
- Performance Tuning: Adjustable batch sizes and processing limits
📊 Basic Tracking & Logging
- SQLite Database: Efficient chunk access tracking
- File Logging: Detailed chunk deletion logs saved to
logs/latest.txt - Coordinate Logging: Precise chunk and block coordinate tracking
- Statistics: Detailed statistics on scanned, deleted, and protected chunks
- Real-time Monitoring: Track chunk access in real-time
🎛️ Easy Management
- In-Game Commands: Full command interface for management
- Log Management: View, tail, and clear log files in-game
- Permission System: Granular permission control
- Hot Reload: Reload configuration without restart
- Manual Cleanup: Trigger cleanup cycles manually
- Auto-Optimization: One-click PerfoBooster installation
Installation
- Download the ChunkDeleter JAR file
- Place it in your server's
pluginsfolder - Restart your server
- Configure the plugin in
plugins/ChunkDeleter/config.yml - (Optional) Use
/chunkdeleter optimizeto install PerfoBooster for enhanced performance
Commands
Core Commands
/chunkdeleter help- Show help information/chunkdeleter reload- Reload plugin configuration/chunkdeleter stats- Show chunk statistics/chunkdeleter clean- Manually trigger cleanup/chunkdeleter toggle- Enable/disable chunk deletion/chunkdeleter info- Show plugin information
Advanced Commands
/chunkdeleter optimize- Download and install PerfoBooster plugin/chunkdeleter logs- View log file information/chunkdeleter logs tail [lines]- Show recent log entries (1-50 lines)/chunkdeleter logs clear- Clear the log file/chunkdeleter debug- Toggle debug mode (admin only)
Aliases: /cd, /chunkdel
Permissions
chunkdeleter.*- Access to all features (default: op)chunkdeleter.admin- Full administrative accesschunkdeleter.reload- Permission to reload configchunkdeleter.stats- View statisticschunkdeleter.clean- Trigger manual cleanupchunkdeleter.toggle- Enable/disable pluginchunkdeleter.optimize- Download PerfoBooster pluginchunkdeleter.logs- View and manage log files
Configuration
The plugin uses a modern camelCase configuration format. The config file includes:
# Enable/disable the plugin
enabled: true
# Chunk deletion settings
chunkDeletion:
timeBeforeDeletion: 30 # Minutes before chunk is eligible for deletion
maxChunksPerCycle: 50 # Maximum chunks to process per cycle
cleanupInterval: 300 # Cleanup interval in seconds
immediateDeletion: false # Enable immediate deletion or use grace period
gracePeriod: 5 # Grace period in minutes for marked chunks
World settings
worlds: enabledWorlds: [] # Specific worlds to enable (empty = all worlds) disabledWorlds: # Worlds to exclude - "world_nether" - "world_the_end" spawnProtectionRadius: 10 # Chunk radius around spawn to protect
Protection settings
protection: protectPlayerChunks: true # Protect chunks near players playerProtectionRadius: 3 # Player protection radius in chunks protectStructures: true # Protect chunks with structures protectTileEntities: true # Protect chunks with storage/functional blocks minTileEntities: 1 # Minimum tile entities to protect chunk
Performance settings
performance: asyncScanning: true # Use async processing maxProcessingTimePerTick: 10 # Max processing time per tick (ms) batchSize: 25 # Batch size for operations
Logging settings
logging: logDeletions: true # Log chunk deletions to console logStatistics: true # Log statistics periodically statisticsInterval: 60 # Statistics interval in minutes debug: false # Enable debug logging
Database settings
database: type: SQLITE # Database type (SQLITE, MYSQL, or MEMORY) sqliteFile: "chunkdata.db" # SQLite file name mysql: # MySQL settings (if using MYSQL) host: "localhost" port: 3306 database: "chunkdeleter" username: "username" password: "password"
## Logging System
ChunkDeleter includes a basic logging system that tracks all chunk deletions:
### Log File Location
- **Path**: `logs/latest.txt` (in your server root directory)
- **Format**: Timestamped entries with detailed coordinate information
- **Thread-Safe**: Safe for concurrent access and high-performance servers
### Log Entry Format
[2024-01-15 14:30:25] CHUNK_DELETED: World=world, ChunkCoords=[15,11], BlockRange=[240,176] to [255,191], Info=Automatic cleanup [2024-01-15 14:31:02] Manual cleanup triggered by admin [2024-01-15 14:35:10] Cleanup cycle: Processed 45, Deleted 12, Protected 33 chunks
### Log Management Commands
- `/chunkdeleter logs` - View log file information and statistics
- `/chunkdeleter logs tail 20` - Show the last 20 log entries
- `/chunkdeleter logs clear` - Clear the log file (admin only)
## PerfoBooster Integration
ChunkDeleter automatically detects and integrates with PerfoBooster for optimal performance:
### Automatic Detection
- **Version Compatibility**: Checks for Minecraft 1.20.1 with RegionScheduler support
- **Server Compatibility**: Validates Paper/Folia/Purpur server software
- **Installation Warnings**: Shows warnings if PerfoBooster is recommended but not installed
### Easy Installation
- **One-Click Install**: Use `/chunkdeleter optimize` to automatically download and install PerfoBooster
- **Version Management**: Always downloads the latest compatible version
- **Safety Checks**: Prevents installation on incompatible servers
### Performance Benefits
When PerfoBooster is installed on compatible servers:
- Reduced server lag during chunk operations
- Optimized redstone and entity processing
- Enhanced performance for large-scale chunk cleanup operations
## How It Works
1. **Chunk Tracking**: The plugin tracks when players enter chunks using move and teleport events
2. **Database Storage**: Access times are stored in a SQLite database for persistence
3. **Regular Cleanup**: Configurable cleanup cycles check for old chunks
4. **Protection Checks**: Multiple protection systems prevent important chunks from deletion
5. **Safe Deletion**: Chunks are safely unloaded and removed from tracking
6. **Basic Logging**: All operations are logged with detailed coordinates and timestamps
## Performance Considerations
- **Async Processing**: Most operations run asynchronously to avoid server lag
- **Batch Processing**: Chunks are processed in configurable batches
- **Efficient Database**: SQLite with optimized queries and indexing
- **Smart Caching**: Frequently accessed chunks are cached in memory
- **Folia Optimization**: Uses region schedulers for optimal Folia performance
- **PerfoBooster Integration**: Enhanced performance with PerfoBooster plugin
## Compatibility
- **Minecraft**: 1.20 (PerfoBooster requires 1.20.1)
- **Server Software**: Paper, Folia, Purpur, Spigot
- **Java**: 17
- **Optional Dependencies**: PerfoBooster (auto-installable)
## Support
For support, join discord: https://discord.gg/yUghaxRSZs
Сервер для плагина ChunkDeleter - как у профи
Плагин ChunkDeleter создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином ChunkDeleter для друзей можно за пару минут - BungeeHost всё уже подготовил.
