โปรแกรมแก้ไข level.dat และการตั้งค่าโลก Minecraft ออนไลน์

รองรับ Minecraft Bedrock Edition และ Java Edition — รวมถึงซอฟต์แวร์เซิร์ฟเวอร์ทุกแบบของทั้งสองรุ่น ไม่ว่าจะเป็นที่นิยมหรือเฉพาะทาง: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina และอื่น ๆ ดูรายการทั้งหมด.

level.dat คือไฟล์ที่เก็บข้อมูลของโลก Minecraft ได้แก่ ชื่อ โหมดเกม ความยาก จุดเกิด กฎเกม สภาพอากาศ และเวอร์ชันที่เปิดล่าสุด วางไฟล์ด้านล่างเพื่อแก้ค่าเหล่านี้โดยตรง รองรับทั้งไฟล์ Java (gzip, big-endian) และ Bedrock (little-endian พร้อมส่วนหัว 8 ไบต์) และเขียนกลับในรูปแบบเดิม

level.dat ของ Javalevel.dat ของ Bedrocklevel.dat_oldgzipส่วนหัว 8 ไบต์

วาง level.dat ที่นี่

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · ข้อมูลชังก์ที่แยกออกมา

แท็กที่มักต้องแก้ไข

ไฟล์ Java level.dat เก็บข้อมูลเกือบทั้งหมดไว้ใน Data compound เดียว ส่วนไฟล์ Bedrock level.dat เก็บแท็กไว้ที่รากโดยตรง รายชื่อต่อไปนี้เป็นแท็กสำคัญ ค้นหาชื่อในโครงสร้างแล้วโปรแกรมจะไปยังแท็กนั้น

แท็กชนิดรุ่นค่าที่ควบคุม
LevelNameStringทั้งสองรุ่นชื่อที่แสดงของโลก หลังคัดลอกโฟลเดอร์โลก ค่านี้จะยังเป็นชื่อเดิม — ดู คู่มือเปลี่ยนชื่อ สำหรับขั้นตอน
GameType / gameTypeIntทั้งสองรุ่น0 เอาชีวิตรอด, 1 สร้างสรรค์, 2 ผจญภัย, 3 spectator
DifficultyByte / Intทั้งสองรุ่น0 peaceful, 1 easy, 2 normal, 3 hard
hardcoreByteทั้งสองรุ่นค่า 1 ล็อกโลกให้ใช้กฎแบบ hardcore
allowCommands / commandsEnabledByteJava / Bedrockเปิดหรือปิดการใช้คำสั่งโกง
SpawnX, SpawnY, SpawnZIntทั้งสองรุ่นพิกัดจุดเกิดของโลก
Time, DayTimeLongJavaจำนวน tick ทั้งหมดและเวลาในวัน
currentTickIntBedrockนาฬิกาโลกที่ใช้ใน Bedrock
RandomSeed / WorldGenSettings.seedLongJavaseed ของโลก ซึ่งเก็บเป็นค่า 64 บิตจริง ไม่ใช่ double ที่ถูกปัดเศษ
GameRules / แท็ก gamerule แต่ละรายการCompound / ByteJava / Bedrockทุกค่าที่คำสั่ง /gamerule ตั้งได้ — ดู คู่มือกฎเกม.
DataVersionIntJavaเวอร์ชันรูปแบบโลก ควรตรวจก่อนย้ายโลกระหว่างเวอร์ชัน Minecraft
lastOpenedWithVersionรายการของ IntBedrockรุ่นไคลเอนต์หรือเซิร์ฟเวอร์ Bedrock ที่เขียนโลกครั้งล่าสุด
PlayerCompoundทั้งสองรุ่นช่องเก็บของ ตำแหน่ง และสถิติของผู้เล่นคนเดียวที่ฝังในไฟล์โลก

ตำแหน่งของ level.dat บนระบบต่าง ๆ

แพลตฟอร์มพาธ
เซิร์ฟเวอร์ Java (Vanilla, Paper, Spigot, Fabric, Forge)world/level.dat, อยู่ข้าง region/ และ playerdata/
ไคลเอนต์ Java บน Windows%APPDATA%\.minecraft\saves\<World>\level.dat
ไคลเอนต์ Java บน macOS~/Library/Application Support/minecraft/saves/<World>/level.dat
ไคลเอนต์ Java บน Linux~/.minecraft/saves/<World>/level.dat
Bedrock Dedicated Server, PocketMine-MP, Nukkitworlds/<World>/level.dat
Bedrock บน AndroidAndroid/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftWorlds/<id>/level.dat
Bedrock บน Windows%LOCALAPPDATA%\Packages\Microsoft.MinecraftUWP_*\LocalState\games\com.mojang\minecraftWorlds\<id>\level.dat

Minecraft ยังเขียนไฟล์ level.dat_old ไว้ข้างกัน ซึ่งเป็นข้อมูลบันทึกก่อนหน้า โปรแกรมนี้เปิดได้เช่นกัน และควรลองไฟล์นี้ก่อนหากไฟล์ปัจจุบันโหลดไม่ได้

การแก้ไขอย่างปลอดภัย

  • หยุดเซิร์ฟเวอร์หรือปิดเกมก่อน Minecraft จะเขียน level.dat ใหม่เมื่อบันทึกอัตโนมัติและตอนปิดระบบ เซิร์ฟเวอร์ที่ทำงานอยู่จะเขียนทับการแก้ไข หรืออาจเขียนทับไฟล์ที่คัดลอกไม่เสร็จ
  • เก็บไฟล์ต้นฉบับไว้ โปรแกรมไม่แก้ไฟล์ที่นำเข้า แต่สร้างไฟล์ดาวน์โหลดใหม่ เก็บสำเนาเดิมไว้จนกว่าโลกจะโหลดสำเร็จ
  • อย่าเปลี่ยนชนิดแท็ก การเปลี่ยน Difficulty จาก Byte เป็น Int หรือเปลี่ยนชื่อแท็กที่ Minecraft ต้องใช้ อาจทำให้โลกโหลดไม่ได้ แก้เฉพาะค่า ไม่ใช่โครงสร้าง เว้นแต่เข้าใจผลที่ตามมา
  • รักษาส่วนหัว Bedrock ให้ครบ ส่วนหัว 8 ไบต์เก็บเวอร์ชันพื้นที่จัดเก็บและความยาวเพย์โหลด โปรแกรมเขียนความยาวใหม่อัตโนมัติและคงเวอร์ชันเดิม หากแก้ด้วยมือจนส่วนหัวหาย ไฟล์จะโหลดไม่ได้

คำถามที่พบบ่อย

แก้ level.dat โดยไม่ดาวน์โหลดซอฟต์แวร์ได้หรือไม่?

ได้ หน้านี้ทำงานทั้งหมดในเบราว์เซอร์ ไม่ต้องติดตั้งซอฟต์แวร์ และใช้ได้กับทุกระบบปฏิบัติการที่มีเบราว์เซอร์รุ่นปัจจุบัน

เหตุใดโลกยังแสดงชื่อเดิม?

เพราะชื่อในรายการโลกมาจาก LevelName ภายใน level.dat, ไม่ใช่ชื่อโฟลเดอร์ การคัดลอกหรือเปลี่ยนชื่อโฟลเดอร์ไม่แก้แท็กนี้ เมื่อแก้แท็กแล้วรายการจึงจะอัปเดต

ใช้กับ level.dat_old ได้หรือไม่?

ได้ level.dat_old คือข้อมูลบันทึกก่อนหน้าในรูปแบบเดียวกัน หากไฟล์ปัจจุบันเสีย ให้เปิดสำเนา _old ตรวจว่าข้อมูลถูกต้อง แล้วนำกลับไปใช้ด้วยชื่อไฟล์เดิม

เปลี่ยน seed ของโลกที่นี่ได้หรือไม่?

แก้แท็ก seed ได้ แต่มีผลเฉพาะภูมิประเทศที่สร้างหลังการแก้ไข ชังก์ที่มีอยู่จะคงรูปเดิม ทำให้เห็นรอยต่อระหว่างภูมิประเทศเก่ากับใหม่

การแก้ level.dat จะทำให้ถูกแบนหรือโลกเสียหรือไม่?

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

เครื่องมือที่เกี่ยวข้อง