Помогите Как очистить КЭШ миров после удаления? (NMS?)

Статус
Закрыто для дальнейших ответов.

Абсик

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Abcik
1.13-1.17.1
Столкнулся с проблемой, что при удалении дополнительного мира (папки с миром) - в ней остаются папки "entities", "poi", которые содержат файлы типа ".mca", я так понимаю это какие-то кэшированные файлы баккита, удалить их нельзя даже вручную. На чистом CraftBukkit эти файлы пропадают сами по себе через несколько минут, на paper - через несколько часов.
Но суть в том, что они пропадают, а значит этот метод есть. Так вот как и где мне его искать? Я хочу запускать этот метод перед методом удаления всей папки с миром.

Видео-демонстрация проблемы -
 
Эти папки появились с 1.17 вроде. Жди когда плагин обновят и научат их чистить.
Напиши в тему разработчика плагина, так быстрее.
 
Эти папки появились с 1.17 вроде. Жди когда плагин обновят и научат их чистить.
Напиши в тему разработчика плагина, так быстрее.
Версию я указал, о каком плагине идёт речь не понимаю. Это проблема баккита, а не какого-то плагина.
 
Версию я указал, о каком плагине идёт речь не понимаю. Это проблема баккита, а не какого-то плагина.
Ну тогда идешь на спигот и пишешь о проблеме. Если это бакитовский метод. Как я уже сказал, эти папки новые, от сюда и такие проблемы.
 
Ну тогда идешь на спигот и пишешь о проблеме. Если это бакитовский метод. Как я уже сказал, эти папки новые, от сюда и такие проблемы.
Уже написал, но фиксить они, как я понял, не спешат. Поэтому я пытаюсь найти этот метод "очистки" самостоятельно, думал, может тут кто знает об этом.
 
Уже написал, но фиксить они, как я понял, не спешат. Поэтому я пытаюсь найти этот метод "очистки" самостоятельно, думал, может тут кто знает об этом.
Тогда иди на форум бумаги, те не такие лентяи. А пока можешь вручную через свой java код чисить.
File dir = new File(this.plugin.getDataFolder().getParentFile(), worldname); //TODO
 
Последнее редактирование:
Тогда иди на форум бумаги, те не такие лентяи.
Написал и на бумагу bug report. Вдруг пофиксят)

А пока можешь вручную через свой java код чисить.
File dir = new File(this.plugin.getDataFolder().getParentFile(), worldname); //TODO
Если ты имеешь в виду удалять папку кодом, то это конечно же не работает. Эти файлы никак не удаляются (пока не пройдёт ~2 часа).
 
папки надо рекурсивно удалять, в ядре есть либа от гугла, которая поможет в этом FileUtils.deleteDirectory(file)
 
Написал и на бумагу bug report. Вдруг пофиксят)


Если ты имеешь в виду удалять папку кодом, то это конечно же не работает. Эти файлы никак не удаляются (пока не пройдёт ~2 часа).
Папку нельзя удалить пока в ней файлы... Подумай еще раз что нужно сделать)
 
папки надо рекурсивно удалять, в ядре есть либа от гугла, которая поможет в этом FileUtils.deleteDirectory(file)
Папку нельзя удалить пока в ней файлы... Подумай еще раз что нужно сделать)
Я что, на другом языке говорю? НЕВОЗМОЖНО удалить эти файлы и папки, так как Буккит их судя по всему юзает.
 
Я что, на другом языке говорю? НЕВОЗМОЖНО удалить эти файлы и папки, так как Буккит их судя по всему юзает.
Насколько я знаю, что в Windows нельзя удалить файлы, пока они используются. А Linux пофиг на это. Просто потом могут ошибки вылазить во время работы, что файлы не найдены.
 
Насколько я знаю, что в Windows нельзя удалить файлы, пока они используются. А Linux пофиг на это. Просто потом могут ошибки вылазить во время работы, что файлы не найдены.
Попробую на Linux... Отпишу о результате
 
Я что, на другом языке говорю? НЕВОЗМОЖНО удалить эти файлы и папки, так как Буккит их судя по всему юзает.
Подумай еще раз. Сперва мир выгрузи, потом удаляй. И да, на линуксе таких проблем не будет.
 
Да, на линуксе проблема полностью исчезла, правда это сомнительное преимущество. Получается баккит будет ещё 2 часа в памяти держать ссылки на удаленные файлы, или как? Просто у меня за эти 2 часа могут сотни миров удалятся, не будет ли утечек памяти из-за этого?
 
Да, на линуксе проблема полностью исчезла, правда это сомнительное преимущество. Получается баккит будет ещё 2 часа в памяти держать ссылки на удаленные файлы, или как? Просто у меня за эти 2 часа могут сотни миров удалятся, не будет ли утечек памяти из-за этого?
Может и будут. Какая конечная задача у тебя? Для чего столько миров?
 
Да, на линуксе проблема полностью исчезла, правда это сомнительное преимущество. Получается баккит будет ещё 2 часа в памяти держать ссылки на удаленные файлы, или как? Просто у меня за эти 2 часа могут сотни миров удалятся, не будет ли утечек памяти из-за этого?
И /save-all flush не помогло освободить файлы после удаление мира?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх