Руководства / Устранение неполадок
Чтение level.dat: статус хардкора, точка возрождения и что реально можно исправить
Смерть в хардкоре — это один логический флаг в level.dat. Вот что хранит этот файл, как выглядит повреждённое сохранение и каковы честные пределы того, что можно восстановить при осмотре.
level.dat — это небольшой gzip-сжатый NBT-файл в корне папки каждого мира. Он хранит настройки мира, а не его рельеф, что делает его одновременно самым полезным файлом для осмотра и самым безопасным для любопытства.
Что там внутри
| Путь | Содержит |
|---|---|
Data.LevelName | имя, отображаемое в списке миров |
Data.difficulty_settings.hardcore | 1b или 0b — флаг хардкора |
Data.difficulty_settings.difficulty | peaceful → hard, плюс флаг locked рядом |
Data.allowCommands | включены ли читы |
Data.spawn | точка возрождения мира: pos, dimension, yaw, pitch |
Data.Time | общее число тиков (время суток теперь хранится в data/minecraft/world_clocks.dat) |
Data.DataVersion | какая версия Minecraft записала файл последней |
Data.singleplayer_uuid | какой файл игрока принадлежит владельцу одиночного мира |
Правила игры (gamerules) здесь тоже больше не лежат — они переехали в data/minecraft/game_rules.dat в той же папке мира.
DataVersion — то, что люди упускают, и то, что важнее всего для диагностики: он сообщает, открывался ли мир уже в более новой версии, а это обычно необратимо.
Флаг хардкора
Хардкор — это не отдельный тип мира. Это difficulty_settings.hardcore: 1b плюс сложность, установленная на hard, и locked. Когда вы умираете, игра не меняет файл — она просто не даёт вам возродиться.
Так что «можно ли снять хардкор с мёртвого мира» — справедливый вопрос, и ответ таков: флаг редактируем, но это модификация, а не осмотр. Инструменты, читающие файл, могут показать вам флаг; его изменение означает запись NBT обратно, что подвергает файл риску. Сначала всегда делайте резервную копию папки мира.
Как выглядит повреждённое сохранение
level.datнечитаем,level.dat_oldприсутствует — игра хранит резервную копию на одно поколение назад. Переименованиеlevel.dat_oldвlevel.datвосстанавливает мир за вычетом последней сессии. Это срабатывает гораздо чаще, чем люди ожидают.- Мир загружается, чанки отсутствуют или чёрные — это повреждение файлов регионов в
region/*.mca, а неlevel.dat. Другая проблема, другой инструмент. - Мир вообще не появляется в списке — обычно это отсутствующий или нулевого размера
level.dat. Прежде всего проверьте наличиеlevel.dat_old.
Чего осмотр сделать не может
Чтение файла сохранения не может вернуть:
- предметы, потерянные из-за смерти или исчезновения
- чанки, которые так и не были сгенерированы
- удалённую папку мира
Ничто здесь не является службой восстановления. Инструмент показывает то, что говорит файл; он не восстанавливает то, чего в файле больше нет.
Данные игрока
Каждый игрок — включая владельца одиночного мира — это отдельный .dat в players/data/, названный по UUID, хранящий инвентарь, позицию, опыт и здоровье. level.dat лишь записывает, какой из этих файлов принадлежит владельцу (singleplayer_uuid). Если после переноса мира на сервер инвентарь будто бы пропал, ищите файл со своим UUID там, а не в level.dat.
Откройте level.dat, файл игрока .dat или проверьте статус мира в хардкоре — всё разбирается в вашем браузере, ничего не загружается на сервер — с помощью World Save File Inspector.