Чтение level.dat: хардкорный статус, точка спауна и что на самом деле можно исправить
Хардкорная смерть — это один булев параметр в level.dat. Здесь вы узнаете, что содержит этот файл, как выглядит поврежденное сохранение и каковы реальные пределы того, что можно восстановить при проверке.
level.dat — это небольшой сжатый NBT-файл в корневой папке каждого мира. Он содержит настройки мира, а не его ландшафт, что делает его самым полезным файлом для изучения и наименее опасным для любопытства.
Что там внутри
| Путь | Содержит |
|---|---|
Data.LevelName | имя, отображаемое в списке миров |
Data.hardcore | 1b или 0b — хардкорный флаг |
Data.Difficulty | 0 мирный → 3 сложный |
Data.allowCommands | включены ли читы |
Data.SpawnX/Y/Z | точка спауна мира |
Data.Time / Data.DayTime | общее количество тиков и время суток |
Data.GameRules | каждое игровое правило в виде Нити (String) |
Data.DataVersion | какая версия Minecraft последней записала его |
Data.Player | Игрок (Player) в одиночных мирах |
DataVersion — это то, что люди упускают из виду, и то, что наиболее важно для устранения неполадок: он сообщает вам, был ли мир уже открыт в более новой версии, что обычно необратимо.
Хардкорный флаг
Хардкор — это не отдельный тип мира. Это Data.hardcore: 1b плюс сложность, заблокированная на «сложной». Когда вы умираете, игра не меняет файл — она просто отказывает вам в возрождении.
Поэтому вопрос «могу ли я убрать хардкор из мертвого мира» вполне справедлив, и ответ заключается в том, что флаг можно редактировать, но это модификация, а не проверка. Инструменты, которые читают файл, могут показать вам флаг; его Смена (Changing) означает обратную запись NBT, что рискует повредить файл. Всегда сначала делайте резервную копию папки мира.
Как выглядит поврежденное сохранение
level.datнечитаем,level.dat_oldприсутствует — игра хранит резервную копию предыдущего поколения. Переименованиеlevel.dat_oldвlevel.datвосстанавливает мир за вычетом самой последней сессии. Это работает гораздо чаще, чем люди ожидают.- Мир загружается, чанки отсутствуют или черные — это повреждение файла региона в
region/*.mca, а неlevel.dat. Другая проблема, другой инструмент. - Мир вообще не появляется в списке — обычно отсутствует или имеет нулевой размер
level.dat. Прежде всего проверьте наличиеlevel.dat_old.
Что проверка не может сделать
Чтение файла сохранения не может вернуть:
- предметы, потерянные из-за смерти или исчезновения
- чанки, которые никогда не были сгенерированы
- папку мира, которая была удалена
Здесь нет службы восстановления. Инструмент показывает то, что говорит файл; он не восстанавливает то, чего файл больше не содержит.
Данные Игрока (Player)
В одиночной игре Data.Player содержит инвентарь, позицию, опыт и здоровье. В многопользовательской игре каждый Игрок (Player) — это отдельный .dat в playerdata/, названный по UUID — вот почему мир для одного Игрока (Player), преобразованный в сервер, «теряет» ваш инвентарь. Он все еще находится в level.dat, просто не там, где его ищет сервер.
Откройте level.dat, .dat Игрока (Player) или проверьте статус хардкорного мира — все анализируется в вашем браузере, ничего не загружается — с помощью World Save File Inspector.