Плагин для серверов Майнкрафт, который автоматически подбирает дальность прорисовки и симуляции для каждого мира, помогая удерживать TPS при разной нагрузке. Он учитывает MSPT, число загруженных чанков и заданные пределы: например, в незере можно оставить меньшую дальность, чем в основном мире.
Возможности
- Работает в режимах
proactive(по бюджету чанков),reactive(по порогам MSPT),mixed(оба способа) иoff. - Отдельно настраивает минимальную и максимальную дальность прорисовки и симуляции для каждого мира.
- Учитывает не только средний MSPT, но и разброс времени тиков; при нестабильной работе сервера не повышает дальность.
- Может сначала уменьшать дальность симуляции, сохраняя видимую игрокам дальность прорисовки.
- Поддерживает оценку нагрузки отдельных миров: мир с фермами и редстоуном будет ограничен раньше спокойного мира.
- Защищает от повышения дальности при нехватке памяти, массовой генерации чанков, высокой задержке игрока или его состоянии AFK.
- Позволяет закрепить личную дальность прорисовки и симуляции для игрока через права. Значения от
2до32; при нескольких правах выбирается большее. - Может временно очищать грозу и останавливать смену дня и ночи, если мир уже достиг минимальных дистанций, а нагрузка всё ещё высока.
- Предварительно генерирует территорию вокруг спавна или указанной точки, сохраняя прогресс. Генерация приостанавливается при высокой нагрузке или недостатке памяти.
- Предзагружает уже существующие чанки по направлению движения быстрых игроков, в том числе при полёте на элитрах. Это уменьшает подлагивания при перемещении, но не увеличивает видимую дальность.
- Поддерживает профили настроек для временных режимов, например для ивента, а также готовые пресеты.
- При наличии PlaceholderAPI выводит в табло и чате MSPT, TPS, число чанков, активный режим, дальности и показатели отдельных миров.
Команды
/vdt status [--weight] [--fixed]— состояние миров, дальности, чанки и нагрузка;--fixedпоказывает личные ограничения игроков./vdt simulate [world]— показывает решение следующей проверки без изменения настроек./vdt history— история применённых изменений./vdt mspt [debug]— MSPT, TPS и разброс времени тиков./vdt viewdistance <n> [world] [--duration <min>]— временно задаёт дальность прорисовки./vdt simulationdistance <n> [world] [--duration <min>]— временно задаёт дальность симуляции./vdt profile [name]— включает профиль или показывает активный./vdt preset <small-server|large-network|performance-first>— записывает готовый пресет вconfig.yml./vdt pregen start <world> [radius] [--here]— запускает предварительную генерацию чанков./vdt pregen pause,/vdt pregen resume,/vdt pregen stop,/vdt pregen status— управляют генерацией;/vdt pregen cancel --confirmудаляет сохранённый прогресс./vdt pregen schedule <world> <radius> <HH:mm>— назначает ежедневный запуск;/vdt pregen schedule cancelотменяет расписание./vdt enable,/vdt disable— включает или выключает автоматическое управление дистанциями./vdt reload— перечитываетconfig.ymlиmessages.yml.
Права
viewdistancetweaks.command.vdt— доступ к/vdt.viewdistancetweaks.vdt.command.status—/vdt status,/vdt history,/vdt mspt.viewdistancetweaks.vdt.command.simulate—/vdt simulate.viewdistancetweaks.vdt.command.viewdistance— изменение дальности прорисовки.viewdistancetweaks.vdt.command.simulationdistance— изменение дальности симуляции.viewdistancetweaks.vdt.command.preset,viewdistancetweaks.vdt.command.profile,viewdistancetweaks.vdt.command.pregen— управление пресетами, профилями и генерацией.viewdistancetweaks.vdt.command.reload— перезагрузка, включение и выключение плагина.viewdistancetweaks.notify— сообщения об изменении дальности в чате.viewdistancetweaks.fixed.<n>— личная дальность прорисовки.viewdistancetweaks.simfixed.<n>— личная дальность симуляции.
Настройка
Основные параметры находятся в config.yml: режим управления, пороги MSPT, частота проверок, пределы дальности для миров и бюджеты чанков. Для миров используются разделы world-settings, а временные наборы ограничений задаются в profiles.
Опции idle-pregeneration и predictive-preloading включают предварительную генерацию и предзагрузку чанков. В messages.yml можно изменить сообщения для игроков и персонала; поддерживаются цвета через & и подстановки {placeholder}.
Плейсхолдеры PlaceholderAPI начинаются с %viewdistancetweaks_: например, %viewdistancetweaks_mspt%, %viewdistancetweaks_tps%, %viewdistancetweaks_chunk_count%, %viewdistancetweaks_view_distance_<world>%.
Требования
Плагин рассчитан на Paper и его форки, включая Purpur, Pufferfish и Leaves; также поддерживается Folia. На Spigot и Bukkit работает основной механизм изменения дистанции, но личные дистанции игроков, предварительная генерация и предзагрузка чанков требуют API Paper.
PlaceholderAPI нужен только для плейсхолдеров. EssentialsX используется необязательно: если включено ограничение AFK, плагин сможет учитывать его состояние AFK.
