破損した level.dat を修復する

Minecraft Bedrock EditionとJava Editionに対応し、一般的なものから小規模なものまで両方の全サーバーコアを扱えます: Vanilla、Paper、Spigot、Purpur、Folia、Fabric、Forge、NeoForge、Mohist、Sponge、Bedrock Dedicated Server、PocketMine-MP、Nukkit、PowerNukkitX、Cloudburst、Dragonfly、Endstone、LeviLaminaなど。全一覧。

ワールドを読み込めない主な原因は、保存中のクラッシュで切断された level.dat、手動編集後の誤った圧縮方式、壊れたBedrockヘッダー長、変更されたタグ型です。ファイルを下へドロップすると解析停止位置が表示され、4種類のどれかを短時間で絞り込めます。

診断level.dat_oldヘッダー圧縮切断

ここにlevel.datまたはlevel.dat_oldをドロップ

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · チャンクのダンプ

実際に壊れる箇所

症状原因対処
エディターが「Unexpected end of data」と表示ファイル切断 — 保存中にプロセスが終了したかディスクが満杯level.dat_old またはバックアップを復元。失われたバイトは戻せない
ゲームは破損と表示するがエディターでは開ける別ツールが誤った圧縮方式またはバイト順で保存エディションに合う形式でここから再保存
Bedrockワールドが一覧にないヘッダー長とペイロード長が不一致ここで開いて保存。長さは自動再計算
サーバーログにclass-castまたは型エラー手動編集でタグ型を変更(Intが必要な箇所にByteなど)ゲームが期待する型へ戻す
読み込めるが新しい空のワールドにスポーンlevel.dat が新規生成ファイルへ置換されたバックアップを復元。region/ または db/ のチャンクは残っている場合が多い
_old を含め何も解析できないストレージ障害で両方がゼロまたは不正データ別マシンのバックアップを復元し、ホストのディスクを確認

level.dat なしでワールドを救出する

地形、チェスト、プレイヤーは level.dat ではなく、Javaでは region/、Bedrockでは db/ にあります。メタデータを修復できない場合は同じバージョンと設定で新規ワールドを作り、チャンクデータを移して、新しいファイルの LevelName、スポーン座標、ゲームルールを設定します。失うのは建築物ではなくメタデータです。Javaでは先に DataVersion を確認し、新規ファイルが移行するチャンクより古くならないようにしてください。

再発防止

  • コピーや編集の前にサーバーを停止します。書き込み中のファイルをコピーすると破損しやすくなります。
  • 定期スナップショットを別マシンへ保存します。同じディスクのバックアップはストレージ障害で同時に失われます。
  • 稼働中のスナップショットでは save-off / save-all を使います。書き込みを止めた状態でコピーします。
  • 空き容量を監視します。ディスク満杯は保存を切断し、level.dat は最後に書かれます。
  • 構造ではなく値を編集します。タグ名や型の変更はゲームが復旧できない編集です。

よくある質問

level.dat_oldとは何ですか?

1つ前の保存です。Minecraftは新しいファイルを書く前に現在のファイルを level.dat_old へ変更するため、最初に試せる1世代分のバックアップです。

NBTエディターで切断ファイルを修復できますか?

データが止まった位置は確認できますが、失われたバイトは復元できません。途中までしか解析できない場合はバックアップが必要です。

建築物は失われますか?

level.dat だけが壊れた場合は失われません。チャンクは region/ または db/ にあり、同じバージョンの新しいワールドファイルから利用できます。

level.datは正常なのにワールドが空です。

メタデータではなくチャンク保存領域に問題があります。region/ または db/ がコピーされているか、level.dat のスポーン座標が想定位置か確認してください。

関連ツール