Вопрос Идея создания арены для мини игры

Версия Minecraft
1.20.X

Vladousik

Пользователь
Сообщения
10
Всем привет! Сейчас делаю мини игру, чем-то похожую на SkyWars. В ней также одна игра происходит на одной карте.
Долго думал, как хранить арены, инициализировать их и т.д. Где-то увидел такую реализацию:
1) При запуске сервера мини игры нет никаких миров с аренами, только читаются заранее записанные в конфиге настройки каждой из них. Изначально есть только мир лобби мини игры
2) Когда игрок заходит на какую-либо пустую арену, плагин должен сгенерировать пустой мир, создать объект класса арены, и в пустой мир вставить заранее сохраненную схематику карты. При дальнейшем присоединении игроков они будут просто телепортироваться в этот мир
3) Если игра на данной арене закончилась или же она пустует(вышли все игроки), то текущий мир удаляется. Если кто-то заново выберет эту карту для игры, то повторится пункт №2.
Насколько хороша эта реализация с точки зрения оптимизации? До этого я хотел сделать так, чтобы арены инициализировались еще при запуске сервера, также как и создавались миры с картами.
Какой способ лучше? Или же вообще есть что-то другое?
 
Лично я во всех своих проектах не использовал схематики мира, а использовал сами миры (загружал/удалял по необходимости). Но у меня везде была модель "одна игра - один сервер", у вас, как понимаю, другая, "одна игра - один мир".
 
Насколько хороша эта реализация с точки зрения оптимизации?
Так себе - клонировать и вставлять "запеченные" чанки в сотни раз быстрее будет.
+ Современные ведроспиготы не поддерживают асинхронные миры - так что тебе еще где-то прикручивать балансировщик нагрузки (условный велосити), который будет запускать новые экземпляры сервера, если текущие не справляются с нагрузкой.

... Ну или просто отказаться от ведроспигота в пользу ядер с асинхронными мирами
 
Последнее редактирование:
Назад
Сверху Снизу