MC Toolkit

คู่มือ / การแก้ไขปัญหา

อ่านไฟล์ level.dat: สถานะฮาร์ดคอร์ จุดเกิด และสิ่งที่คุณแก้ไขได้จริง

การตายในโหมดฮาร์ดคอร์คือค่าบูลีนหนึ่งค่าใน level.dat นี่คือสิ่งที่ไฟล์นี้เก็บไว้ ไฟล์เซฟที่เสียหายมีหน้าตาอย่างไร และข้อจำกัดที่แท้จริงของการตรวจสอบว่ากู้คืนอะไรได้บ้าง

level.dat เป็นไฟล์ NBT ขนาดเล็กที่บีบอัดด้วย gzip อยู่ที่รากของโฟลเดอร์โลกทุกโฟลเดอร์ มันเก็บการตั้งค่าของโลกมากกว่าภูมิประเทศ ทำให้เป็นทั้งไฟล์ที่มีประโยชน์ที่สุดในการตรวจสอบ และเป็นไฟล์ที่อันตรายน้อยที่สุดที่จะสงสัยใคร่รู้

ข้างในมีอะไรบ้าง

พาธเก็บอะไร
Data.LevelNameชื่อที่แสดงในรายการโลก
Data.difficulty_settings.hardcore1b หรือ 0b — แฟล็กฮาร์ดคอร์
Data.difficulty_settings.difficultypeaceful → hard พร้อมแฟล็ก locked อยู่ข้าง ๆ
Data.allowCommandsเปิดใช้ cheats หรือไม่
Data.spawnจุดเกิดของโลก: pos, dimension, yaw, pitch
Data.Timeจำนวนติ๊กรวม (เวลาของวันตอนนี้อยู่ใน data/minecraft/world_clocks.dat)
Data.DataVersionเวอร์ชัน Minecraft ที่เขียนไฟล์นี้ล่าสุด
Data.singleplayer_uuidไฟล์ผู้เล่นคนไหนที่เป็นของเจ้าของโลกโหมดผู้เล่นคนเดียว

Gamerules ก็ไม่อยู่ในนี้แล้วเช่นกัน — ย้ายไปอยู่ที่ data/minecraft/game_rules.dat ในโฟลเดอร์โลกเดียวกัน

DataVersion คือสิ่งที่คนมักมองข้าม และเป็นสิ่งที่สำคัญที่สุดสำหรับการแก้ปัญหา: มันบอกคุณว่าโลกนี้ถูกเปิดในเวอร์ชันใหม่กว่านี้แล้วหรือยัง ซึ่งโดยปกติแล้วย้อนกลับไม่ได้

แฟล็กฮาร์ดคอร์

ฮาร์ดคอร์ไม่ใช่ประเภทโลกแยกต่างหาก มันคือ difficulty_settings.hardcore: 1b บวกกับความยากที่ตั้งเป็น hard และ locked เมื่อคุณตาย เกมจะไม่แก้ไขไฟล์ — มันแค่ไม่ยอมให้คุณเกิดใหม่

ดังนั้นคำถามที่ว่า "ฉันทำให้โลกที่ตายแล้วเลิกเป็นฮาร์ดคอร์ได้ไหม" จึงเป็นคำถามที่สมเหตุสมผล และคำตอบคือแฟล็กนี้แก้ไขได้ แต่ นั่นคือการดัดแปลง ไม่ใช่การตรวจสอบ เครื่องมือที่อ่านไฟล์สามารถแสดงแฟล็กให้คุณดูได้ การเปลี่ยนแปลงมันหมายถึงการเขียน NBT กลับลงไป ซึ่งเสี่ยงต่อไฟล์ สำรองโฟลเดอร์โลกไว้ก่อนเสมอ

ไฟล์เซฟที่เสียหายมีหน้าตาอย่างไร

  • level.dat อ่านไม่ได้ แต่มี level.dat_old อยู่ — เกมเก็บสำรองไว้หนึ่งรุ่น การเปลี่ยนชื่อ level.dat_old เป็น level.dat จะกู้โลกกลับมาได้โดยขาดเซสชันล่าสุดไป วิธีนี้ได้ผลบ่อยกว่าที่คนคาดคิดมาก
  • โลกโหลดได้ แต่ชังก์หายไปหรือเป็นสีดำ — นั่นคือความเสียหายของไฟล์ region ใน region/*.mca ไม่ใช่ level.dat คนละปัญหา คนละเครื่องมือ
  • โลกไม่ปรากฏในรายการเลย — ปกติคือ level.dat หายไปหรือมีขนาดศูนย์ไบต์ ตรวจหา level.dat_old ก่อนสิ่งอื่นใด

สิ่งที่การตรวจสอบทำไม่ได้

การอ่านไฟล์เซฟไม่สามารถนำกลับคืนมาได้:

  • ไอเทมที่สูญเสียไปจากการตายหรือการหายไป
  • ชังก์ที่ไม่เคยถูกสร้างขึ้น
  • โฟลเดอร์โลกที่ถูกลบไปแล้ว

ไม่มีอะไรในนี้ที่เป็นบริการกู้คืนข้อมูล เครื่องมือแสดงสิ่งที่ไฟล์บอกไว้ มันไม่ได้สร้างสิ่งที่ไฟล์ไม่มีอยู่อีกต่อไปขึ้นมาใหม่

ข้อมูลผู้เล่น

ผู้เล่นทุกคน — รวมถึงเจ้าของโลกโหมดผู้เล่นคนเดียว — เป็นไฟล์ .dat แยกกันใน players/data/ ตั้งชื่อตาม UUID เก็บทั้งอินเวนทอรี ตำแหน่ง XP และพลังชีวิต level.dat บันทึกเพียงว่าไฟล์ใดเป็นของเจ้าของ (singleplayer_uuid) หากอินเวนทอรีดูเหมือนหายไปหลังย้ายโลกไปเซิร์ฟเวอร์ ให้มองหาไฟล์ UUID ของคุณที่นั่น ไม่ใช่ใน level.dat

เปิด level.dat, ไฟล์ผู้เล่น .dat หรือตรวจสอบสถานะโลกฮาร์ดคอร์ — ทั้งหมดประมวลผลในเบราว์เซอร์ของคุณ ไม่มีการอัปโหลดใด ๆ — ด้วย World Save File Inspector

ตัวตรวจไฟล์เซฟโลก →

คู่มือเพิ่มเติม

ดูทั้งหมด →