Ядро MultiPaper

MultiPaper — форк ядра Paper на версии 1.19, позволяющий администратору сервера масштабировать один мир на несколько серверов. Несколько серверов MultiPaper запускают один и тот же мир и используют MultiPaper-Master для координации друг с другом и хранения данных сервера.

Хотя MultiPaper-Master обычно запускается как отдельный сервер, он также может быть запущен как плагин для BungeeCord или Velocity, что имеет некоторые преимущества, включая возможность отправлять игроков на наименее загруженный сервер, когда они присоединяются.

Примечание: MultiPaper находится в стадии публичного бета-тестирования.

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

  • Каждый сервер кэширует фрагменты, которые необходимы игрокам, которых он обслуживает.
  • Сервера синхронизируют кэши друг друга между собой.
  • Сервера работают вместе, чтобы гарантировать, что каждый чанк будет обработан.
  • Не требует BungeeCord или Velocity, достаточно какого-нибудь метода балансировки узлов для равномерного распределения игроков по серверам.

MultiPaper-Master

  • Хранит мировые файлы и данные.
  • Координирует работу серверов. Решает кто получит чанк (в порядке очереди).
  • Запускается как отдельный процесс. Для вашего удобства он также может работать как плагин для BungeeCord или Velocity.

Как работает синхронизация чанков

  • Когда сервер считывает чанк, он просит Мастер загрузить чанк из файла региона. Если у другого сервера есть право собственности на чанк, Мастер сообщит серверу, чтобы он запросил чанк у этого сервера, так что он получит самую актуальную копию.
  • Когда сервер захочет поставить тик на не принадлежащий ему чанк, он не будет этого делать, а вместо этого пошлет запрос Мастеру, чтобы получить право собственности на него. Если право собственности получено, чанк будет отмечен при следующем тике. Если в праве собственности отказано, так как им владеет другой сервер, сервер будет синхронизировать чанк с этим сервером.
  • Чанк может быть загружен на сервер, но не иметь владельца, если он находится за пределами расстояния симуляции. Это происходит потому, что чанк не будет отмечен ни одним сервером. Когда сервер загружает чанк в память, он подписывается на все изменения, сделанные в этом чанке. Это означает, что если какой-либо сервер изменит блок внутри чанка, он будет обновлен на всех серверах, подписанных на этот чанк.

Для серверов, которые хотят сохранить все ванильные механики при увеличении масштаба, MultiPaper — это то, что вам нужно. Обычно, когда сервер Minecraft решает увеличить количество игроков, ему приходится жертвовать различными механиками, такими как расстояние рендеринга, спавн мобов и редстоун.

С MultiPaper нет необходимости портить ванильный сервер. Все, что вам нужно — это новые сервера, когда вы хотите увеличить масштаб. Вместо 1 сервера, обслуживающего 100 игроков, вы можете иметь 10 серверов, обслуживающих по 10 игроков. Это позволит вам сохранить дорогостоящие ванильные механики, такие как большое расстояние симуляции, фермы мобов и массивные устройства из красного камня.

1149 views
0 комментариев
Пожалуйста, создайте учетную запись или
авторизуйтесь прежде чем оставлять комментарии