▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Vertigo
Vertigo

Vertigo

Мод Vertigo оптимизирует синхронизацию чанков по вертикали, решая проблему лагов и высокого потребления памяти на высоких мирах в Майнкрафт. Идеально подходит для серверов с модами вроде Big Globe.

Оцените первым
74.3K
152

Vertigo - мод для Майнкрафт, который решает проблему синхронизации чанков на высоких мирах. По умолчанию игра синхронизирует целые чанки с игроками, что создает проблемы при использовании модов или датапаков, увеличивающих высоту мира. Например, Big Globe делает высоту обычного мира 2048 блоков.

В чем проблема?

Тут две основные засады:

  • В мультиплеере серверу приходится передавать клиенту гораздо больше данных, что увеличивает требования к пропускной способности.
  • Клиенту нужно отслеживать больше блоков, что повышает потребление памяти.

В Minecraft 1.21 добавили задержку синхронизации чанков под интернет-соединение игрока, и это помогло. Но:

  • Многие моды все еще на Minecraft 1.20.1.
  • Проблема не решена полностью - игрок реже вылетает по таймауту, но синхронизация в целом медленнее.

Я не нашел мода, который решал бы все эти проблемы, поэтому сделал свой.

Как работает Vertigo

Vertigo синхронизирует только те секции чанков, которые находятся рядом с игроком по вертикали. Простыми словами - он врет клиенту о том, где какие блоки находятся. Если секция чанка слишком высоко или низко относительно игрока, сервер говорит клиенту, что эта секция пуста (полностью состоит из воздуха).

Совместимость с другими модами

Поскольку клиент не знает о всех блоках в чанке, другие моды могут пытаться синхронизировать данные в секциях, о которых клиент не знает - результат может быть непредсказуемым. Чтобы уменьшить эти проблемы, Vertigo делает следующее:

  • Переопределяет PlayerLookup.tracking(ServerWorld, BlockPos) в Fabric API так, чтобы не включать игроков за пределами вертикального диапазона. Если ваш мод использует этот метод для отправки пакетов обновлений игрокам, скорее всего все будет работать нормально.
    • PlayerLookup.tracking(BlockEntity) делегирует к tracking(ServerWorld, BlockPos), так что этот метод тоже должен работать.
    • Все остальные методы отслеживания не изменены.
  • Включает API для:
    • Проверки, знает ли конкретный игрок о конкретной секции чанка.
    • Получения списка игроков, которые знают о конкретной секции чанка.

Но я ожидаю, что у некоторых модов все равно будут проблемы. Если вы обычный пользователь - не ждите, что этот мод будет работать из коробки со всеми другими модами. Некоторым модам потребуются изменения для совместимости с Vertigo. Если вы разработчик модов и считаете, что проблема на моей стороне - создавайте issue.

Важно знать

Помогает ли Vertigo на ванильных/невысоких мирах? Не особо, если только у вас очень маленькая дистанция прорисовки.

Помогает ли Vertigo в одиночной игре? Может снизить потребление памяти в одиночке, но только на высоких мирах или при малой дистанции прорисовки. На лаги или задержки в одиночной игре это не повлияет - там узким местом является не сеть, даже на высоких мирах.

Нужно ли устанавливать Vertigo и на клиент, и на сервер? Да.

Сломается ли что-то, если установить только на одну сторону? Надеюсь, что нет. Vertigo должен откатываться к стандартному протоколу синхронизации чанков, если установлен только на одной стороне.

Влияет ли Vertigo на серверные механики? Например, спавн мобов или тиканье блоков? Нет.

Что считается "рядом с игроком по вертикали"? Вертикальная дистанция синхронизации равна горизонтальной дистанции синхронизации, которая равна вашей дистанции прорисовки (или дистанции прорисовки сервера - выбирается меньшая).

Если вы используете моды вроде Big Globe или другие датапаки/моды для Майнкрафт, увеличивающие высоту мира - скачайте Vertigo и забудьте о лагах при синхронизации чанков.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:1 год назад
Обновлён:3 недели назад
Главная