High-performance, preset-based smelting accelerator for Rust (uMod/Oxide) with automation-safe behavior, smart fuel pull, and population-aware AutoTune scheduling.
Designed for modded servers (2x–1000x+), heavy conveyor automation, and wipe-day peak usage.
- Preset-based acceleration:
2x, 3x, 5x, 10x, 25x, 50x, 100x, 1000x, Instant - Single global loop (no per-oven timers)
- Adaptive scaling: processes more ovens per loop as load increases
- Dynamic loop interval: automatically adjusts tick interval based on active ovens
- Smart fuel auto-pull: pulls only the additional wood needed (delta-based)
- Mixed-ore fuel top-up fix: adding a second ore type triggers a NextTick recalc
- Large furnace fuel balancing: distributes wood across fuel slots
- Charcoal overflow control:
Skip(automation-friendly) orPause(vanilla-strict) - AutoTune: set average population + bias and let SmartSmelt tune scheduling
- Ore splitting toggle: enable/disable input-slot splitting
- Minimal spam by default; debug tools when needed
SmartSmelt avoids the classic “timer per furnace” approach. Instead it:
- Tracks active ovens in a lightweight dictionary.
- Runs a single global loop that processes up to a capped number of ovens per pass.
- Uses a snapshot list rebuilt only when the tracked set changes.
- Uses a round-robin cursor to prevent starvation.
- Optionally adjusts global loop interval dynamically based on load.
This keeps CPU predictable even with hundreds of active ovens.
- Place
SmartSmelt.csinto:oxide/plugins/
- Reload:
oxide.reload SmartSmelt
- Edit config:
oxide/config/SmartSmelt.json
/ss.info- Shows plugin status, AutoTune status, and effective scheduling values
/ss.debug- Enables additional debug logging (use briefly)
"Preset": "10x"Supported:
2x, 3x, 5x, 10x, 25x, 50x, 100x, 1000x, Instant
AutoTune automatically selects scheduling settings based on your AveragePopulation and Preset.
"AutoTuneEnabled": true,
"AveragePopulation": 300,
"AutoTuneBias": "Balanced",
"AutoTuneWriteToConfig": trueBias modes:
Balanced— default behavior (recommended)Performance— more conservative (reduces hitch risk)Responsiveness— more aggressive (snappier updates)
AutoTuneWriteToConfig
true(default): writes the chosen scheduling values into the config so you can see themfalse: runtime-only tuning; config stays as you wrote it
"EnableOreSplitting": truetrue: distributes moved ore across input slots (when safe)false: respects vanilla stacking, but fuel auto-pull still works
"CharcoalOverflowMode": "Skip"Skip(recommended): prevents automation stallsPause: vanilla-strict behavior (can stall under heavy charcoal congestion)
- Use
AutoTuneEnabled = true - Set
AveragePopulationto your real peak (not average daily) - Prefer
Bias = Balanced(orPerformanceon weaker hardware) - Keep
CharcoalOverflowMode = Skipfor conveyor-heavy servers
- Smelting feels “bursty” at peak:
- Lower
DynamicMaxGlobalLoopIntervalslightly or increaseAdaptiveMaxOvensPerTick(only if CPU allows)
- Lower
- Periodic hitches:
- Lower
AdaptiveMaxOvensPerTickfirst, then raiseDynamicMaxGlobalLoopInterval
- Lower
- Want visibility:
- Run
/ss.infoto view effective scheduling values (especially when AutoTune is enabled)
- Run
SmartSmelt is licensed under the GNU General Public License v3.0 (GPLv3).
Commercial redistribution, resale, or closed-source use requires a separate commercial license.
Contact: SeesAll on uMod | N01B4ME on Discord
If you share a server profile (pop + automation level + CPU), you can dial AutoTune bias and population values for best results.