Sửa level.dat bị hỏng

Hỗ trợ Minecraft Bedrock Edition và Java Edition — cùng mọi phần mềm máy chủ phổ biến hoặc ít gặp của cả hai: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina và các phần mềm còn lại. Danh sách đầy đủ.

Thế giới không tải thường do một trong bốn lỗi: level.dat bị cắt ngắn khi crash trong lúc lưu, dùng sai kiểu nén sau khi sửa thủ công, độ dài header Bedrock sai hoặc kiểu của một thẻ bị đổi. Thả tệp bên dưới — trình sửa báo chính xác vị trí phân tích dừng, giúp xác định một trong bốn nguyên nhân trong vài giây.

Chẩn đoánlevel.dat_oldPhần đầuKiểu nénCắt ngắn

Thả level.dat hoặc level.dat_old vào đây

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · dữ liệu chunk trích xuất

Những phần thực sự có thể hỏng

Triệu chứngNguyên nhânCách sửa
Trình sửa báo "Unexpected end of data"Tệp bị cắt ngắn — tiến trình dừng giữa lúc lưu hoặc ổ đĩa đầyKhôi phục level.dat_old hoặc bản sao lưu; các byte bị thiếu đã mất
Trò chơi báo thế giới hỏng nhưng trình sửa tải bình thườngCông cụ khác đã ghi sai kiểu nén hoặc thứ tự byteLưu lại tại đây với đúng định dạng của phiên bản
Thế giới Bedrock biến mất khỏi danh sáchĐộ dài header không còn khớp payloadMở và lưu tại đây — độ dài được tự động tính lại
Log máy chủ báo lỗi ép kiểu hoặc kiểu dữ liệu khi tảiKiểu của thẻ bị đổi thủ công (Byte trong khi cần Int)Đặt lại thẻ về kiểu trò chơi yêu cầu
Thế giới tải nhưng đưa bạn vào thế giới mớilevel.dat đã bị thay bằng tệp mới tạoKhôi phục bản sao lưu; các chunk trong region/ hoặc db/ thường vẫn nguyên vẹn
Không tệp nào phân tích được, kể cả _oldLỗi thiết bị lưu trữ — hệ thống tệp trả về số không hoặc dữ liệu rác cho cả haiKhôi phục từ bản sao lưu ngoài máy; kiểm tra ổ đĩa trước khi tiếp tục tin dùng host

Cứu thế giới khi không còn level.dat

Địa hình, rương và người chơi không nằm trong level.dat — chúng ở region/ (Java) hoặc db/ (Bedrock). Nếu không thể sửa tệp siêu dữ liệu, hãy tạo thế giới mới với cùng phiên bản và cài đặt, chuyển dữ liệu chunk vào rồi đặt LevelName, tọa độ sinh và luật chơi trong tệp mới. Bạn mất siêu dữ liệu, không mất công trình. Hãy xác nhận phiên bản trước: thế giới Java có DataVersion và tệp mới tạo không được cũ hơn các chunk sẽ nhập.

Ngăn lỗi tái diễn

  • Dừng máy chủ trước khi sao chép hoặc sửa. Phần lớn hỏng dữ liệu bắt đầu từ việc sao chép tệp trong lúc nó đang được ghi.
  • Tạo snapshot định kỳ và lưu ngoài máy. Bản sao lưu trên cùng ổ đĩa không sống sót qua lỗi thiết bị lưu trữ gây ra sự cố.
  • Dùng save-off / save-all quanh quá trình snapshot đang chạy để sao chép khi thế giới ở trạng thái tĩnh.
  • Theo dõi dung lượng ổ đĩa. Ổ đĩa đầy có thể âm thầm cắt ngắn bản lưu, và level.dat được ghi sau cùng.
  • Sửa giá trị, không sửa cấu trúc. Đổi tên thẻ hoặc kiểu của thẻ là thay đổi trò chơi không thể bỏ qua.

Câu hỏi thường gặp

level.dat_old là gì?

Đó là bản lưu trước. Minecraft đổi tên tệp hiện tại thành level.dat_old trước khi ghi tệp mới, vì vậy đây là bản sao lưu một thế hệ nên thử đầu tiên.

Trình sửa NBT có thể khôi phục tệp bị cắt ngắn không?

Công cụ có thể cho biết chính xác dữ liệu dừng ở đâu, nhưng không thể tái tạo các byte bị thiếu. Nếu chỉ phân tích được một phần, bạn cần bản sao lưu.

Tôi có mất các công trình không?

Không nếu chỉ level.dat bị hỏng. Các chunk nằm trong region/ hoặc db/; một tệp thế giới mới có cùng phiên bản có thể dùng lại chúng.

Máy chủ báo level.dat bình thường nhưng thế giới trống.

Khi đó lỗi nằm ở dữ liệu chunk, không phải siêu dữ liệu. Kiểm tra region/ hoặc db/ đã được sao chép cùng chưa và tọa độ sinh trong level.dat có trỏ đúng nơi dự kiến không.

Công cụ liên quan