Помогите Как перезагрузить карту?

NikZanyat

Ньюби
Баллы
1
Имя в Minecraft
NikZanyat
Как после игры в скайварс или подобные режимы восстановить карту?
 
Как после игры в скайварс или подобные режимы восстановить карту?
  1. Кикнуть всех игроков с текущего мира
  2. Отгрузить текущий мир
  3. Удалить его
  4. Скопировать оригинал
  5. Загрузить мир
 
  1. Кикнуть всех игроков с текущего мира
  2. Отгрузить текущий мир
  3. Удалить его
  4. Скопировать оригинал
  5. Загрузить мир
Ну и через 20-30 таких операций у тебя сервер в мемори лик улетит, норм
 
С чего бы?
И какие у тебя предложения?
Ну потому, что баккит полностью не очищает мир после вызова Bukkit#unloadWorld, коммон проблема, даже в ишью трекере моджанга есть. Надо кучу всего вручную дочищать
 
Ну потому, что баккит полностью не очищает мир после вызова Bukkit#unloadWorld, коммон проблема, даже в ишью трекере моджанга есть. Надо кучу всего вручную дочищать
Это уже давно пофиксили, скорее он:
https://github.com/roblabla/Rob-Spi...ches/0036-Plug-World-Unload-Memory-Leak.patch
Как минимум в Spigot 1.12.2 таких проблем нет, лично чекнул с простейшим плагином.
А вот если ТС юзает 1.8 или там похуже, то земля ему пухом 🙂
 
Это уже давно пофиксили, скорее он:
https://github.com/roblabla/Rob-Spi...ches/0036-Plug-World-Unload-Memory-Leak.patch
Как минимум в Spigot 1.12.2 таких проблем нет, лично чекнул с простейшим плагином.
А вот если ТС юзает 1.8 или там похуже, то земля ему пухом 🙂
Ну тот патч что ты скинул фиксит всего лишь один лик связанный с редстоуном да, но их там куда больше. С новыми версиями их меньше, но все равно есть, в 1.12.2 также есть
 
Ну тот патч что ты скинул фиксит всего лишь один лик связанный с редстоуном да, но их там куда больше. С новыми версиями их меньше, но все равно есть, в 1.12.2 также есть
Специально вчера взял оч простой плагин (World Loader) на 1.12.2 и где то раз 20 анлоаднул и лоаднул левый мир. До и после эксперимента памяти было примерно то же ~160 МБ (до каждой проверки шел GC). Так что как говорили выше за 30 раз никуда сервер не уйдет. Где же тогда утечка?
 
Специально вчера взял оч простой плагин (World Loader) на 1.12.2 и где то раз 20 анлоаднул и лоаднул левый мир. До и после эксперимента памяти было примерно то же ~160 МБ (до каждой проверки шел GC). Так что как говорили выше за 30 раз никуда сервер не уйдет. Где же тогда утечка?
Ну потому что ты скорее всего релоадил без игроков и без задержек. А с игроками хотя бы в 10 штук и миром в 10 минут будут утечки
Есть готовый код или хотя бы список того, что нужно чистить?
Есть ещё всякие MultiWorld и Multiverse. Там нормально отгружает?
Multiworld и multiverse хз, не юзал. А так там много позиций че чистить надо, раньше писал, щас хз уже где код. Ну а если лень в этом разбираться, то самое простое это после 20-30 перезагрузок мира реатартать сам сервер
 
Утечек стало гораздо меньше в самом кране. Но всё ещё остаётся главная - last damage cause в бакките, который может тащить за собой огромную цепочку энтитей, которые и будут тащить ссылки на мир.
 
Вообще можно сделать как в плагине bedwars 1058. После игры анлоадить мир без сохранения, и снова его загружать.
 
IMHO, самый лёгкий способ, всё-таки, остановить/заменить мир/запустить сервер.
 
Назад
Верх