อ่าน level.dat: สถานะฮาร์ดคอร์, จุดเกิด และสิ่งที่คุณแก้ไขได้จริง
การตายในโหมดฮาร์ดคอร์เป็นเพียงค่าบูลีนเดียวใน level.dat นี่คือสิ่งที่ไฟล์นี้เก็บไว้ ลักษณะของเซฟที่เสียหาย และข้อจำกัดที่แท้จริงของการตรวจสอบที่สามารถกู้คืนได้
level.dat เป็นไฟล์ NBT ขนาดเล็กที่ถูกบีบอัดด้วย gzip อยู่ที่รากของโฟลเดอร์โลกทุกโฟลเดอร์ มันเก็บการตั้งค่าของโลกมากกว่าภูมิประเทศ ซึ่งทำให้เป็นไฟล์ที่มีประโยชน์ที่สุดในการตรวจสอบและเป็นไฟล์ที่อันตรายน้อยที่สุดที่จะอยากรู้อยากเห็น
มีอะไรอยู่ในนั้นบ้าง
| Path | เก็บ |
|---|---|
Data.LevelName | ชื่อที่แสดงในรายการโลก |
Data.hardcore | 1b หรือ 0b — แฟล็กฮาร์ดคอร์ |
Data.Difficulty | 0 สงบ → 3 ยาก |
Data.allowCommands | เปิดใช้สูตรโกงหรือไม่ |
Data.SpawnX/Y/Z | จุดเกิดของโลก |
Data.Time / Data.DayTime | จำนวนติ๊กทั้งหมดและเวลาของวัน |
Data.GameRules | กฎของเกมทุกข้อในรูปแบบเส้นใย (String) |
Data.DataVersion | Minecraft เวอร์ชันล่าสุดที่เขียนไฟล์นี้ |
Data.Player | ผู้เล่นคนเดียวในโลกผู้เล่นคนเดียว |
DataVersion เป็นสิ่งที่คนมักมองข้ามและเป็นสิ่งสำคัญที่สุดสำหรับการแก้ไขปัญหา: มันบอกคุณว่าโลกถูกเปิดในเวอร์ชันที่ใหม่กว่าแล้วหรือไม่ ซึ่งโดยปกติแล้วจะไม่สามารถย้อนกลับได้
แฟล็กฮาร์ดคอร์
ฮาร์ดคอร์ไม่ใช่ประเภทโลกที่แยกต่างหาก มันคือ Data.hardcore: 1b บวกกับความยากที่ถูกล็อกไว้ที่ระดับยาก เมื่อคุณตาย เกมจะไม่เปลี่ยนไฟล์ — มันแค่ปฏิเสธไม่ให้คุณเกิดใหม่
ดังนั้น "ฉันสามารถยกเลิกฮาร์ดคอร์โลกที่ตายแล้วได้หรือไม่" เป็นคำถามที่สมเหตุสมผล และคำตอบคือแฟล็กสามารถแก้ไขได้ แต่ นั่นคือการแก้ไข ไม่ใช่การตรวจสอบ เครื่องมือที่อ่านไฟล์สามารถแสดงแฟล็กให้คุณเห็นได้ การเปลี่ยนแฟล็กหมายถึงการเขียน NBT กลับเข้าไป ซึ่งเสี่ยงต่อไฟล์ สำรองโฟลเดอร์โลกไว้ก่อนเสมอ
ลักษณะของเซฟที่เสียหาย
level.datอ่านไม่ได้,level.dat_oldมีอยู่ — เกมจะเก็บข้อมูลสำรองไว้หนึ่งรุ่น การเปลี่ยนชื่อlevel.dat_oldเป็นlevel.datจะกู้คืนโลกได้โดยไม่มีเซสชันล่าสุด สิ่งนี้ใช้งานได้บ่อยกว่าที่คนคาดไว้มาก- โลกโหลดได้ แต่ชิ้นส่วนหายไปหรือเป็นสีดำ — นั่นคือความเสียหายของไฟล์ภูมิภาค (region-file) ใน
region/*.mcaไม่ใช่level.datเป็นปัญหาที่แตกต่างกัน ต้องใช้เครื่องมือที่แตกต่างกัน - โลกไม่ปรากฏในรายการเลย — โดยปกติแล้วเกิดจาก
level.datหายไปหรือมีขนาดศูนย์ไบต์ ตรวจสอบlevel.dat_oldก่อนสิ่งอื่นใด
สิ่งที่การตรวจสอบทำไม่ได้
การอ่านไฟล์เซฟไม่สามารถนำกลับมาได้:
- ไอเท็มที่สูญหายจากการตายหรือการหายไป
- ชิ้นส่วนที่ไม่เคยถูกสร้างขึ้น
- โฟลเดอร์โลกที่ถูกลบไปแล้ว
ไม่มีสิ่งใดในที่นี้เป็นบริการกู้คืน เครื่องมือจะแสดงสิ่งที่ไฟล์บอก; มันไม่ได้สร้างสิ่งที่ไฟล์ไม่มีอยู่อีกต่อไป
ข้อมูลผู้เล่น
ในโหมดผู้เล่นคนเดียว Data.Player จะเก็บข้อมูลช่องเก็บของ, ตำแหน่ง, XP และพลังชีวิต ในโหมดผู้เล่นหลายคน ผู้เล่นแต่ละคนเป็น .dat แยกต่างหากใน playerdata/ ที่ตั้งชื่อตาม UUID — ซึ่งเป็นเหตุผลว่าทำไมโลกผู้เล่นคนเดียวที่ถูกแปลงเป็นเซิร์ฟเวอร์จึง "สูญเสีย" ช่องเก็บของของคุณไป มันยังคงอยู่ใน level.dat เพียงแต่ไม่ใช่ที่ที่เซิร์ฟเวอร์มองหา
เปิด level.dat, ผู้เล่น .dat, หรือตรวจสอบสถานะโลกฮาร์ดคอร์ — ทั้งหมดถูกวิเคราะห์ในเบราว์เซอร์ของคุณ ไม่มีการอัปโหลด — ด้วย World Save File Inspector