Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Smart Optimizer

Smart Optimizer watches your server's RAM and TPS and lowers view distance, simulation distance and mob AI when things start getting heavy. Once the server recovers it puts everything back to normal.
Works on Paper (and its forks) and Fabric, for MC 1.20.1 up to 26.2+.
How it works
Every 10 seconds (configurable) it checks the server and picks a level:
- Healthy (RAM under 80%, TPS 18 or higher): view 10, sim 8, all mob AI enabled
- Moderate (RAM over 80% or TPS under 18): view 8, sim 6, AI disabled for mobs more than 64 blocks from any player
- Critical (RAM over 92% or TPS under 15): view 5, sim 4, non-essential AI paused, ground items older than 2 minutes get cleared
It also unloads chunks in dimensions that haven't had any players in them for 5+ minutes.
Mobs never get killed or removed, their AI is just paused and turned back on when the server is healthy again. The only thing that ever gets deleted is old ground items, and only in critical mode.
Downloads
| Jar | Minecraft | Platform | Java |
|---|---|---|---|
SmartOptimizer.jar |
1.20.1 – 26.2+ | Paper, Folia, Purpur, Pufferfish, Spigot, Bukkit | 17+ |
SmartOptimizer-Fabric.jar |
26.1 – 26.2+ | Fabric Loader ≥ 0.19 + Fabric API | 25+ |
SmartOptimizer-Fabric-legacy.jar |
1.20.1 – 1.21.11 | Fabric Loader ≥ 0.15 + Fabric API | 17+ |
- Pick the .jar file that fits your version and platform. Configurations will be listed below
Config
thresholds:
ram:
moderate: 80.0 # % RAM usage to trigger moderate
critical: 92.0 # % RAM usage to trigger critical
tps:
moderate: 18.0
critical: 15.0
distances:
view:
min: 4
max: 16
simulation:
min: 4
max: 12
optimization:
check_interval_ticks: 200 # 200 ticks = 10 seconds
chunk_unload_delay_minutes: 5 # unload chunks in empty dimensions after this long
ground_item_clear_minutes: 2 # only applies in critical mode
settings:
debug: false
If you set something out of range it gets clamped to a safe value, it won't break anything.
Commands
/smartoptimizer statusshows current RAM, TPS and optimization level/smartoptimizer reloadreloads the config
Aliases are /so and /smartopt. Both commands need smartoptimizer.admin, which defaults to op.
Partners
Use my code for 35% off your first month.



