Smart Optimizer
5.0An optimizer that watches your server's RAM and TPS and lowers view distance, simulation distance and mob AI when things start getting heavy
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.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
LuckPerms
A permissions plugin/mod for Minecraft servers.
2.8MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta
SkinsRestorer
🎨 Ability to restore/change skins on servers! (Offline and Online Mode)
1.6MSueta
