Riparare un level.dat danneggiato

Supporta Minecraft Bedrock Edition e Java Edition e ogni core server per entrambe, diffuso o meno: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina e gli altri. Elenco completo.

Quando un mondo non si carica, in genere la causa è una di queste quattro: level.dat troncato da un arresto anomalo durante il salvataggio, compressione errata dopo una modifica manuale, lunghezza dell'intestazione Bedrock non valida oppure tipo di un tag modificato. Trascina il file qui sotto: l'editor indica il punto esatto in cui l'analisi si è interrotta, restringendo subito la diagnosi.

Diagnosilevel.dat_oldIntestazioneCompressioneTroncamento

Trascina level.dat o level.dat_old qui

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · dump di chunk

Cosa si danneggia realmente

SintomoCausaSoluzione
L'editor segnala «Unexpected end of data»File troncato: il processo si è interrotto durante il salvataggio o il disco si è riempitoRipristina level.dat_old o un backup; i byte mancanti non sono recuperabili
Il gioco segnala un mondo danneggiato, ma l'editor lo caricaUn altro strumento ha scritto una compressione o un ordine dei byte erratoSalva nuovamente qui usando il formato corretto per l'edizione
Il mondo Bedrock non appare nell'elencoLa lunghezza nell'intestazione non corrisponde più al payloadApri e salva qui: la lunghezza viene ricalcolata automaticamente
Durante il caricamento il server registra un errore di cast o di tipoIl tipo di un tag è stato modificato manualmente (Byte al posto dell'Int previsto)Ripristina il tipo richiesto dal gioco
Il mondo si carica, ma il giocatore compare in un mondo nuovolevel.dat è stato sostituito con un file appena generatoRipristina il backup; in genere i chunk in region/ o db/ sono ancora integri
Non viene analizzato nulla, nemmeno _oldGuasto dell'archiviazione: il file system ha restituito zeri o dati inutilizzabili per entrambiRipristina un backup conservato su un'altra macchina e controlla il disco prima di riutilizzare l'host

Recuperare un mondo senza level.dat

Terreno, contenitori e giocatori non si trovano in level.dat, ma in region/ (Java) o db/ (Bedrock). Se il file dei metadati non è riparabile, crea un mondo nuovo con la stessa versione e le stesse impostazioni, spostaci i dati dei chunk e configura nel nuovo file LevelName, coordinate di generazione e regole di gioco. Vengono persi i metadati, non le costruzioni. Verifica prima la versione: un mondo Java contiene DataVersion e il file appena generato non deve essere più vecchio dei chunk importati.

Prevenire un nuovo problema

  • Arresta il server prima di copiare o modificare. Molti danni iniziano copiando un file mentre viene scritto.
  • Crea snapshot periodici su un'altra macchina. Un backup sullo stesso disco non sopravvive al guasto dell'archiviazione che ha causato il problema.
  • Usa save-off / save-all durante gli snapshot a server attivo per copiare un mondo in stato stabile.
  • Controlla lo spazio su disco. Un disco pieno tronca i salvataggi senza avviso e level.dat viene scritto per ultimo.
  • Modifica i valori, non la struttura. Rinominare i tag o cambiarne il tipo è un errore che il gioco non può correggere.

Domande frequenti

Che cos'è level.dat_old?

È il salvataggio precedente. Minecraft rinomina il file corrente in level.dat_old prima di scriverne uno nuovo, quindi è un backup della generazione precedente da provare per primo.

Un editor NBT può riparare un file troncato?

Può indicare il punto esatto in cui terminano i dati, ma i byte mancanti non possono essere ricostruiti. Un'analisi parziale richiede il ripristino di un backup.

Perderò le mie costruzioni?

Non per il solo danneggiamento di level.dat. I chunk si trovano in region/ o db/; un nuovo file del mondo della stessa versione può riutilizzarli.

Il server considera level.dat valido, ma il mondo è vuoto.

Il problema riguarda allora l'archiviazione dei chunk, non i metadati. Verifica che region/ o db/ siano stati inclusi nella copia e che le coordinate di generazione in level.dat puntino alla posizione prevista.

Strumenti correlati