level.dat を読み解く:ハードコアモードの状態、スポーン地点、そして実際に修正できること
ハードコアモードでの死亡は、level.dat 内のブーリアン値1つで決まります。このファイルが保持する情報、破損したセーブデータがどのように見えるか、そして検証で回復できることの正直な限界について説明します。
level.dat は、すべてのワールドフォルダのルートにある小さな gzip 圧縮された NBT ファイルです。地形ではなくワールドの設定を保持しているため、検証するのに最も役立つファイルであり、好奇心を持っても最も危険の少ないファイルでもあります。
内容
| パス | 保持する情報 |
|---|---|
Data.LevelName | ワールドリストに表示される名前 |
Data.hardcore | 1b または 0b — ハードコアフラグ |
Data.Difficulty | 0 (ピースフル) → 3 (ハード) |
Data.allowCommands | チートがオンになっているか |
Data.SpawnX/Y/Z | ワールドのスポーン地点 |
Data.Time / Data.DayTime | 総ティック数とゲーム内時間 |
Data.GameRules | すべてのゲームルールを文字列として |
Data.DataVersion | 最後に書き込んだ Minecraft のバージョン |
Data.Player | シングルプレイヤーワールドにおけるプレイヤーのデータ |
DataVersion は見落とされがちですが、トラブルシューティングにおいて最も重要な情報です。これにより、ワールドがすでに新しいバージョンで開かれたことがあるかどうかがわかります。これは通常、元に戻すことができません。
ハードコアフラグ
ハードコアモードは、独立したワールドタイプではありません。Data.hardcore: 1b に加えて、難易度がハードに固定されている状態です。プレイヤーが死亡しても、ゲームはこのファイルを変更しません。単にリスポーンを拒否するだけです。
したがって、「死亡したワールドをハードコアモードから解除できるか」という疑問は当然ですが、答えは、フラグは編集可能であるものの、それは検証ではなく変更であるということです。ファイルを読み取るツールはフラグを表示できますが、変更するには NBT を書き戻す必要があり、ファイルが破損するリスクがあります。常にワールドフォルダのバックアップを最初に取ってください。
破損したセーブデータの状態
level.datが読み取り不能、level.dat_oldが存在する — ゲームは1世代前のバックアップを保持しています。level.dat_oldをlevel.datに名前変更すると、最新のセッションを除くワールドが回復します。これは、人々が予想するよりもはるかに頻繁に機能します。- ワールドがロードされるが、チャンクが欠落しているか真っ黒である — これは
level.datではなく、region/*.mca内のリージョンファイルの損傷です。別の問題であり、別のツールが必要です。 - ワールドがリストにまったく表示されない — 通常は
level.datが欠落しているか、サイズがゼロバイトです。他の何よりもまずlevel.dat_oldを確認してください。
検証ではできないこと
セーブファイルを読み取っても、以下のものは回復できません。
- 死亡やデスポーンによって失われたアイテム
- 生成されなかったチャンク
- 削除されたワールドフォルダ
ここにあるものは、回復サービスではありません。ツールはファイルが示すものを表示するだけであり、ファイルがもはや含まないものを再構築することはありません。
プレイヤーデータ
シングルプレイヤーでは、Data.Player がインベントリ、位置、XP、体力を保持しています。マルチプレイヤーでは、各プレイヤーは UUID で名付けられた playerdata/ 内の個別の .dat です。これが、シングルプレイヤーワールドをサーバーに変換するとインベントリが「失われる」理由です。それはまだ level.dat にありますが、サーバーが探す場所にはありません。
World Save File Inspector を使って、level.dat やプレイヤーの .dat を開いたり、ハードコアワールドの状態を確認したりできます。すべてブラウザで解析され、何もアップロードされません。