ChunkDeleter

ChunkDeleter

Advanced chunk cleaner plugin that deletes unused chunks for Paper/Folia servers

1 473 downloads 11 followers

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

  1. Download the ChunkDeleter JAR file
  2. Place it in your server's plugins folder
  3. Restart your server
  4. Configure the plugin in plugins/ChunkDeleter/config.yml
  5. (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 access
  • chunkdeleter.reload - Permission to reload config
  • chunkdeleter.stats - View statistics
  • chunkdeleter.clean - Trigger manual cleanup
  • chunkdeleter.toggle - Enable/disable plugin
  • chunkdeleter.optimize - Download PerfoBooster plugin
  • chunkdeleter.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

No gallery available for this project.

Version Minecraft Loader Download

ChunkDeleter 1.2

1.2

1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7
folia, paper, purpur
Download

ChunkDeleter 1.1

1.1

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7
folia, paper, purpur, spigot
Download

ChunkDeleter 1.0

1.0

1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7
bukkit, folia, paper, purpur, spigot
Download