Skip to content
LlaGuiTo edited this page Oct 5, 2026 · 1 revision

Safety

Applies to Tick Smoothing 1.0.0 for Minecraft 1.21.1 (NeoForge).

A mod that rescales game timings can cause exactly the problems it is meant to solve. This page is about the ones the mod guards against, and the ones it deliberately does not.

The feedback loop, and the floor that breaks it

The serious risk in a mod like this is positive feedback.

Accelerate random ticks on a slow server → random ticks get heavier → TPS drops further → the mod accelerates random ticks more. The server spirals.

Tick Smoothing breaks that with randomTickTpsFloor:

Default 8.0
Range 0.0 – 20.0

Below 8 TPS, random-tick acceleration disables itself entirely. The mod stops compensating rather than making things worse.

There is also maxRandomTickMultiplier (default 3, range 1–10) capping how many extra random ticks can run per tick. Two separate brakes on the same mechanism.

If you set randomTickTpsFloor to 0, you remove the first brake. That is allowed, but you are then relying entirely on the multiplier cap.

TNT is off on purpose

Option Default
tnt false

Accelerating a TNT fuse makes the explosion arrive faster than players expect. On a server that is already lagging, that is not a smoothing feature — it is a fairness problem, and a nasty one, because the affected player is precisely the one who cannot react.

Compensating explosion timing is the opposite of what this mod should do. Leave it off unless you have a specific reason.

Block entities are off, and experimental

Option Default
blockEntities false

Marked experimental in the config's own comments. Extra-ticking block entities is expensive, and its interaction with other mods is not fully understood.

If you enable it, narrow the blockEntityMask from its *:* default to the specific block entities you want. *:* with this on is a lot of extra work per tick.

The watchdog

watchdogMode has three values:

Value Behaviour
VANILLA Default. Do nothing.
WARN_ONLY Log a warning when the watchdog would fire, and take no action.
EXTEND Increase the watchdog timeout proportionally.

VANILLA is the default deliberately. The mod does not touch the watchdog unless you ask it to.

EXTEND is the option that needs thought. It buys your laggy server more time before the watchdog kills it, which is genuinely useful for avoiding a crash mid-event — and it also means a genuinely stuck server takes longer to be noticed. If your server hangs hard, EXTEND delays your recovery.

WARN_ONLY is the middle ground: you get told, and nothing changes.

Rubber-banding

reduceRubberBanding is on by default. It widens the "moved too quickly" threshold when TPS is low, so players are not snapped back for movement the server simply failed to tick through.

This is a generosity widening, not a bypass. It does not disable movement validation, and it does not make flight or teleports legitimate. It stops the server punishing players for its own lag.

The factor can never exceed 1

factor = tps / 20

Clamped, never above 1.

A fast server is left completely alone. The mod only ever shortens things relative to a healthy baseline — it cannot make actions faster than vanilla, which means it cannot be used as a speed-up exploit.

minFactor

Default 0.05
Range 0.01 – 1.0

The floor on the compensation factor. Lower values allow more aggressive catch-up on very laggy servers — at 0.05 the server compensates down to 1 TPS equivalent before the floor stops it.

Raising it makes the mod more conservative: at 1.0, no compensation happens at all, whatever the TPS.

What the mod will not do

  • It will not raise your TPS. It hides symptoms. See Getting Started.
  • It will not speed anything up. The factor never exceeds 1.
  • It will not disable the watchdog unless you set watchdogMode to EXTEND.
  • It will not compensate for lag in unloaded or unprocessed chunks. It operates on the tick loop.

Debugging

/ticksmoothing status

Live TPS, live factor, and which modules are active. If you are unsure whether the mod is doing anything, this is the check — a factor of 1.0 means it is not compensating, and the reason is either a healthy server or a window that has not filled yet. See Configuration.

Clone this wiki locally