Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
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
plugins
folder - Restart your server
- Configure the plugin in
plugins/ChunkDeleter/config.yml
- (Optional) Use
/chunkdeleter optimize
to 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
- Chunk Tracking: The plugin tracks when players enter chunks using move and teleport events
- Database Storage: Access times are stored in a SQLite database for persistence
- Regular Cleanup: Configurable cleanup cycles check for old chunks
- Protection Checks: Multiple protection systems prevent important chunks from deletion
- Safe Deletion: Chunks are safely unloaded and removed from tracking
- 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
Information
Category | World Management |
---|---|
Published on | July 9, 2025 |
License | Unspecified |
Download | 1 |
Stars | 0 |
Watchers | 0 |
Supports Folia
Pinned Versions
Pages
Members
Owner