LagOptimizer
A comprehensive lag mitigation and analysis solution for Minecraft servers
Features
Entity Management
- Configurable automated entity purging
- Whitelist/blacklist for entity types
- Maximum entities per chunk limit
- Entity age-based removal
- Distance-based entity cleanup
- Manual purge command with entity type filtering
Performance Monitoring
- Real-time TPS monitoring (requires Spark plugin)
- Memory usage tracking
- Entity and chunk counting
- Customizable scoreboard display
- Performance metric logging
- Configurable monitoring intervals
Requirements
- Minecraft Server 1.19+
- Java 8 or higher
- Spark (optional, for TPS monitoring)
Installation
- Download the latest release from the releases page
- Place the JAR file in your server's plugins directory
- (Optional) Install Spark plugin for TPS monitoring
- Start or reload your server
- Configure the plugin using the generated config.yml
Configuration
Entity Purge Settings
purge:
auto-purge-enabled: true
interval: 300 # Purge interval in seconds (5 minutes)
max-entities-per-chunk: 100
max-entity-age: 300 # Maximum age of entities in seconds (5 minutes)
max-distance-from-players: 32 # Maximum distance from players in blocks
whitelist:
- PLAYER
- VILLAGER
- IRON_GOLEM
- WOLF
- HORSE
blacklist:
- DROPPED_ITEM
- EXPERIENCE_ORB
- ARROW
- SPECTRAL_ARROW
- TRIDENT
- FALLING_BLOCK
Performance Monitoring Settings
monitoring:
enabled: true
interval: 60 # Monitoring interval in seconds (1 minute)
scoreboard:
enabled: true
title: "&6Server Performance"
lines:
- "&7TPS: &f{tps}"
- "&7Memory: &f{memory_used}/{memory_max} MB"
- "&7Entities: &f{entity_count}"
- "&7Chunks: &f{chunk_count}"
- "&7Players: &f{player_count}"
logging:
enabled: true
file-path: "plugins/LagOptimizer/logs/performance.log"
retention-days: 7
Commands
- /lagoptimize purge [entityType] - Manually purge entities
- Permission: lagoptimizer.purge
- /lagoptimize reload - Reload the configuration
- Permission: lagoptimizer.reload
- /lagoptimize stats - Display performance statistics
- Permission: lagoptimizer.stats
- /lagoptimize toggle - Toggle automatic purging
- Permission: lagoptimizer.toggle
Permissions
- lagoptimizer.* - Access to all commands
- lagoptimizer.purge - Manual purging
- lagoptimizer.reload - Configuration reload
- lagoptimizer.stats - View stats
- lagoptimizer.toggle - Toggle features
- lagoptimizer.use - Basic command access
Performance Impact
- Heavy operations run asynchronously
- Configurable intervals for monitoring and purging
- Smart entity management to prevent server overload
- Minimal memory footprint
Logging
Performance metrics are logged to
plugins/LagOptimizer/logs/performance.log with:
- Timestamp
- TPS (if Spark is installed)
- Memory usage
- Entity count
- Chunk count
- Player count
Support
Join our
Discord server for help and discussion.