Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for LucasTHCR

Per-world view and simulation distance, adjusted automatically from MSPT and chunk load.

Report ViewDistanceTweaks?

R

2.11.3-RELEASE

Four fixes from an error-analysis pass over the whole plugin. Nothing here was reported from outside; all four came out of reading the code, and each one is covered by a test that was checked against the unfixed build first.

The memory safeguard could go blind after a clock jump

2.11.1 rewrote this to judge free heap by the lowest usage seen in the last minute, which is the right measurement. It timed that window with System.currentTimeMillis(), which is a wall clock and can step in both directions: an NTP correction, a resumed VM, a host clock sync.

A backwards step is the dangerous one. The window stops accepting new samples and keeps only the branch that revises the current reading downwards, so it freezes holding an old trough that can fall but never rise. For the length of the jump the plugin reports free memory the server no longer has, and distance increases are allowed into a filling heap.

Every reading in there is a duration, never a date, so it now uses System.nanoTime(), which is monotonic within a JVM. The condition cannot arise.

A release was invisible to the pre-release that shared its number

Version comparison read the numbers and stopped, so 2.11.0-RELEASE and 2.11.0-ALPHA came out equal. Anyone running an alpha or a beta was never told the finished version existed, and auto-update never staged it.

Ties now break the way semantic versioning breaks them: a pre-release ranks below the release with the same numbers. Anything unrecognised counts as a release, so this can only ever withhold an update, never invent one.

Two quieter ones

chunk-generation-safeguard kept a counter per world and nothing removed it when a world was unloaded. Servers that create and discard worlds at runtime, minigame arenas and per-player plots, accumulated one entry per world for the lifetime of the process.

On Folia, a refused scheduler dispatch was logged and otherwise swallowed. The complexity sampler decides who publishes its result by counting outstanding work, so a task that never ran left it waiting forever and every world kept the multiplier it already had, which is 1.00x. With use-complexity-weighting on, the feature would have done nothing at all, without a line anywhere to say so.

Upgrading

No config changes and no new keys. Replace the jar and restart.

Information

Published
September 7, 2026
Author
4Downloads

Platforms

Paper
Paper
1.21–26.2