Smart Optimizer

Smart Optimizer

An optimizer that watches your server's RAM and TPS and lowers view distance, simulation distance and mob AI when things start getting heavy

2 540 downloads
6 followers

Smart Optimizer

smop

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 status shows current RAM, TPS and optimization level
  • /smartoptimizer reload reloads the config

Aliases are /so and /smartopt. Both commands need smartoptimizer.admin, which defaults to op.

Partners

gravel host

Use my code for 35% off your first month.

No gallery available for this project.