▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/ViewDistanceTweaks
ViewDistanceTweaks

ViewDistanceTweaks

Automatically adjusts view and simulation distance per world to match what your server can handle - more distance when there is headroom, less before players notice lag.

Оцените первым
2.8K
9
Все версииViewDistanceTweaks 2.9.0-BETA

ViewDistanceTweaks 2.9.0-BETA

Beta20.08.2026

Список изменений

ViewDistanceTweaks v2.9.0-BETA

Dynamic view distance and simulation distance adjustment per world, driven by what your server can actually carry at that moment.

This is a beta. Two new subsystems, both off by default. They have had limited testing on real hardware — if you run a server people care about, wait for the stable release or try this on a test instance first. Nothing changes for you unless you switch one of them on.

Added

  • Idle pre-generation. Builds terrain ahead of time, so players never wait for it. Generating a chunk is the most expensive thing a server does and the one everything else here can only react to; terrain that already exists is read from disk instead, and the chunk-generation safeguard never has to trip at all.

    It runs automatically once the last player logs off, or on demand:

    /vdt pregen start world 250        centred on the world spawn
    /vdt pregen start world 250 --here centred on where you are standing
    /vdt pregen status                 progress, rate and ETA
    /vdt pregen stop                   pause for good, progress kept
    /vdt pregen cancel --confirm       throw the progress away
    

    Three rules keep it from becoming the problem it solves. It throttles against the same rolling MSPT average the distance engine uses, not an instant reading, so the two never form competing control loops. It stops rather than slows when free heap runs low, because a slower path to an OutOfMemoryError is still an OutOfMemoryError. And it writes progress to disk, so a crash or a nightly reboot resumes exactly where it left off instead of quietly losing hours of work.

    It also excludes its own chunks from the chunk-generation safeguard. Without that the plugin would fight itself: pre-gen creates terrain, the safeguard reads that as players outrunning the generator, and everyone's view distance gets clamped.

    Mind the scale — a radius is entered in chunks but squares into the workload. Radius 250 is about 251,000 chunks; radius 1000 is over four million. Match it to your world border rather than picking a round number. The command warns you when a run is large.

  • Predictive pre-loading. Loads chunks along the path of a fast-moving player, so arriving somewhere does not stall the tick.

    To be precise about what this is: it makes chunks ready server-side. It does not let anyone see further, because the client still receives only what its own view distance covers. What you notice is the absence of a hitch, not a wider horizon.

    Prediction follows the movement vector rather than the look direction. During elytra flight the view swings around constantly while the flight path stays straight, and it is the path that decides which chunks the server will need. Generation is off by default and should stay that way — with it on this stops being a loader and becomes a second, uncontrolled terrain generator driven by whoever is flying fastest.

Fixed

  • Per-world state was never cleaned up. Check counters, cluster bonuses, pending reverts and temporary overrides are all keyed by world name and nothing ever removed them. Servers that create worlds at runtime — minigame arenas, per-player plots — grew those maps for the lifetime of the process.
  • version: 1 had sat unread in config.yml since the first release. Bukkit only writes the default config when the file is missing, so upgrading left every new key absent and the features behind them silently running on code defaults, with no way to notice. The version is now checked on load and missing settings are named individually.
  • The README documented no viewdistancetweaks.vdt.command.profile permission, despite 2.8.2 splitting it off from the preset node.

Changed

  • idle-pregeneration.enabled governs only the automatic zero-player trigger. /vdt pregen works regardless — refusing an explicit command because of a config key would be the plugin overruling an operator who had already said what they wanted.
  • pause-when-players-online likewise applies only to automatic runs. A manual run keeps going and stays throttled by MSPT and free memory.

Under the hood

The project now has a test suite. The never-reduce-below-players bug fixed in 2.8.2 — which drove a struggling server to maximum distance — survived three careful code reads and fell out of a headless sweep in minutes. That sweep now lives in the repository: JUnit 5 driving the real distance calculation through dynamic proxies, covering the distance invariants across every mode and option combination, the profile overlay, the config key fallback, version ordering and the chunk arithmetic.

Dependencies

Support

Join our Discord: dc.gg/paperstream

Author: LucasTHCR

Файлы

view-distance-tweaks-2.9.0-BETA.jar(156.32 KiB)
Основной
Скачать

Метаданные

Канал релиза

Beta

Номер версии

2.9.0-BETA

Загрузчики

Bukkit
Folia
Paper
Purpur
Spigot

Версии игры

1.21–26.2

Загрузок

11

Дата публикации

20.08.2026

Загрузил

ID версии

Главная