Đọc level.dat: trạng thái hardcore, điểm spawn và những gì bạn thực sự có thể sửa
Một cái chết hardcore chỉ là một giá trị boolean trong level.dat. Đây là những gì tệp chứa, một bản lưu bị hỏng trông ra sao, và giới hạn thực tế của việc kiểm tra dữ liệu có thể khôi phục được gì.
level.dat là một tệp NBT nén gzip nhỏ nằm ở thư mục gốc của mọi thư mục world. Nó lưu cài đặt của world chứ không phải địa hình, khiến nó vừa là tệp hữu ích nhất để kiểm tra, vừa là tệp ít nguy hiểm nhất để tò mò.
Bên trong có gì
| Đường dẫn | Chứa |
|---|---|
Data.LevelName | tên hiển thị trong danh sách world |
Data.difficulty_settings.hardcore | 1b hoặc 0b — cờ hardcore |
Data.difficulty_settings.difficulty | peaceful → hard, kèm một cờ locked bên cạnh |
Data.allowCommands | cheat có đang bật hay không |
Data.spawn | điểm spawn của world: pos, dimension, yaw, pitch |
Data.Time | tổng số tick (thời gian trong ngày giờ nằm ở data/minecraft/world_clocks.dat) |
Data.DataVersion | phiên bản Minecraft ghi vào tệp lần cuối |
Data.singleplayer_uuid | tệp người chơi nào thuộc về chủ sở hữu chế độ một người chơi |
Gamerule cũng không còn ở đây nữa — chúng đã chuyển sang data/minecraft/game_rules.dat trong cùng thư mục world.
DataVersion là thứ mọi người hay bỏ qua và cũng là thứ quan trọng nhất khi xử lý sự cố: nó cho bạn biết một world đã từng được mở bằng phiên bản mới hơn hay chưa, điều thường không thể đảo ngược.
Cờ hardcore
Hardcore không phải là một loại world riêng. Nó là difficulty_settings.hardcore: 1b cộng với độ khó đặt ở mức hard và locked. Khi bạn chết, game không thay đổi tệp — nó chỉ từ chối cho bạn hồi sinh.
Vậy nên "tôi có thể bỏ hardcore khỏi một world đã chết không" là một câu hỏi hợp lý, và câu trả lời là cờ đó có thể sửa được, nhưng đó là thao tác chỉnh sửa, không phải kiểm tra. Các công cụ đọc tệp có thể cho bạn xem cờ; thay đổi nó nghĩa là ghi NBT trở lại, gây rủi ro cho tệp. Luôn sao lưu thư mục world trước.
Một bản lưu bị hỏng trông ra sao
level.datkhông đọc được, cólevel.dat_old— game giữ một bản sao lưu một thế hệ. Đổi tênlevel.dat_oldthànhlevel.datsẽ khôi phục world trừ phiên chơi gần nhất. Cách này thành công thường xuyên hơn nhiều so với mọi người tưởng.- World tải được, nhưng chunk bị thiếu hoặc đen — đó là hỏng tệp region trong
region/*.mca, không phảilevel.dat. Vấn đề khác, công cụ khác. - World hoàn toàn không xuất hiện trong danh sách — thường là do thiếu
level.dathoặc tệp có 0 byte. Hãy kiểm tralevel.dat_oldtrước tiên.
Những gì việc kiểm tra không thể làm
Đọc tệp lưu không thể mang trở lại:
- vật phẩm đã mất do chết hoặc do biến mất
- những chunk chưa từng được tạo
- một thư mục world đã bị xóa
Không có gì ở đây là dịch vụ khôi phục. Công cụ chỉ hiển thị những gì tệp ghi; nó không tái tạo những gì tệp không còn chứa nữa.
Dữ liệu người chơi
Mỗi người chơi — kể cả chủ sở hữu chế độ một người chơi — là một .dat riêng trong players/data/, được đặt tên theo UUID, lưu túi đồ, vị trí, XP và máu. level.dat chỉ ghi lại tệp nào trong số đó là của chủ sở hữu (singleplayer_uuid). Nếu túi đồ có vẻ bị mất sau khi chuyển một world lên server, hãy tìm tệp theo UUID của bạn ở đó, chứ không phải trong level.dat.
Mở một level.dat, một .dat của người chơi, hoặc kiểm tra trạng thái của một world hardcore — tất cả đều được phân tích ngay trong trình duyệt của bạn, không tải lên gì cả — với World Save File Inspector.