LagOptimizer A comprehensive lag mitigation and performance analysis plugin for Spigot/Paper
LagOptimizer keeps your server smooth by automatically purging problematic entities, monitoring performance, and giving admins tools to diagnose and fix lag quickly.
1) Place the jar in `plugins/`
2) Install `spark`
3) Restart the server
4) Configure `plugins/LagOptimizer/config.yml` and run `/lagoptimize reload`
New - Added comprehensive GUI management system with live metrics
- Added whitelist/blacklist editors with pagination and instant config persistence
- Added Clearlag-style commands: `tps`, `memory`, `gc`, `chunk`, `unloadchunks`, `killmobs`, `tpchunk`, `halt`, `samplememory`, `sampleticks`, `profile`, `performance`
- Added Spark integration for advanced profiling and health reports
- Added Paper API integration for enhanced chunk management
- Added `/lagoptimize gui` command for interactive management
Improvements - Enhanced unloadchunks with safe-chunk filtering and detailed feedback
- Live TPS and memory display in GUI
- Improved command structure with better tab completion
- Enhanced monitoring with real-time scoreboard updates
- Better error handling and fallbacks
Fixes - Fixed compilation issues with missing imports
- Improved GUI navigation and user experience
- Enhanced configuration management
- Advanced chunk/entity heatmaps and sampling tools
- Real-time performance graphs and charts
- Automated lag detection and alerts
- Integration with more performance monitoring tools
- Advanced entity tracking and analytics
Found a bug or have an idea? Share it on the discussion thread!
[11:17:41 INFO]: [LagOptimizer] Enabling LagOptimizer v1.0-SNAPSHOT [11:17:41 ERROR]: Error occurred while enabling LagOptimizer v1.0-SNAPSHOT (Is it up to date?) java.lang.UnsupportedOperationException: Use BukkitRunnable#runTaskTimer(Plugin, long, long) at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:646) ~[paper-1.20.1.jar:git-Paper-196] at com.lagoptimizer.LagOptimizer.schedulePurgeTask(LagOptimizer.java:44) ~[LagOptimizer-1.0-SNAPSHOT.jar:?] at com.lagoptimizer.LagOptimizer.onEnable(LagOptimizer.java:30) ~[LagOptimizer-1.0-SNAPSHOT.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.20.1.jar:git-Paper-196] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.enablePlugin(CraftServer.java:642) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.enablePlugins(CraftServer.java:553) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:635) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:434) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1100) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.20.1.jar:git-Paper-196] at java.lang.Thread.run(Thread.java:1583) ~[?:?] [11:17:41 INFO]: [LagOptimizer] Disabling LagOptimizer v1.0-SNAPSHOT [11:17:41 INFO]: [LagOptimizer] LagOptimizer has been disabled!