โปรแกรมแก้ไข playerdata และไฟล์ผู้เล่น .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 และอื่น ๆ ดูรายการทั้งหมด.

Java Edition เขียนไฟล์ NBT แบบ big-endian ที่บีบอัด gzip หนึ่งไฟล์ต่อผู้เล่นไว้ใน world/playerdata/<uuid>.dat, ซึ่งเก็บช่องเก็บของ หีบ Ender ตำแหน่ง มิติ พลังชีวิต ความหิว XP และ attributes วางไฟล์ด้านล่างเพื่อย้ายผู้เล่นที่ติดในฉาก ลบไอเท็มที่ทำให้เกมล่ม หรือรีเซ็ตสถิติ โดยต้องหยุดเซิร์ฟเวอร์หรืออย่างน้อยให้ผู้เล่นนั้นออฟไลน์

playerdata ของ Javaหีบ Enderช่องเก็บของตำแหน่งคุณสมบัติข้อมูลที่เกี่ยวข้องกับ Advancement

วาง ไฟล์ playerdata .dat ที่นี่

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

แท็กภายในไฟล์ผู้เล่น

แท็กชนิดข้อมูลที่เก็บ
Posรายการ Doubleพิกัด X, Y, Z ใช้แก้ผู้เล่นที่ติดในกำแพงหรือใต้ชั้น bedrock
Rotationรายการ Floatมุม yaw และ pitch
DimensionString / Intมิติที่ผู้เล่นจะเข้าสู่ระบบ
Inventoryรายการ Compoundหนึ่งรายการต่อหนึ่งกอง: id, Count, Slot, components หรือ tag.
EnderItemsรายการ Compoundของในหีบ Ender ใช้โครงสร้างเดียวกัน
Health, foodLevel, XpLevel, XpTotalFloat / Intค่าสถานะพื้นฐานและค่าประสบการณ์
playerGameTypeIntโหมดเกมเฉพาะผู้เล่น
abilitiesCompoundการบิน ความเป็นอมตะ ความเร็วเดิน และความเร็วบิน
Attributesรายการ Compoundพลังชีวิตสูงสุด ความเร็วเคลื่อนที่ และ modifier อื่น ๆ
SpawnX/SpawnY/SpawnZ หรือ respawnInt / Compoundจุดเกิดใหม่เฉพาะผู้เล่นตามแต่ละเวอร์ชัน
UUIDInt[4]UUID ของผู้เล่นในรูปจำนวนเต็มสี่ค่าในเวอร์ชันใหม่

โครงสร้างกองไอเท็มเปลี่ยนใน 1.20.5 โดยข้อมูลกำหนดเองย้ายจาก tag compound เดียวไปเป็น components โปรแกรมเปิดได้ทั้งสองโครงสร้าง ให้แก้แบบที่เวอร์ชันของคุณเขียน

การแก้ปัญหาที่พบบ่อย

  • ผู้เล่นติดในฉากหรือตกไม่สิ้นสุด ตั้งค่า Pos เป็นพิกัดปลอดภัย โดยใช้ double สามค่าตามลำดับ X, Y, Z และล้าง Motion หากมีค่าสูงผิดปกติ
  • ไคลเอนต์ล่มเมื่อเข้าสู่ระบบ สาเหตุมักเป็นไอเท็มที่ข้อมูลผิด ให้ลบรายการที่มีปัญหาออกจาก Inventory แทนการล้างทั้งรายการ
  • อยู่ผิดมิติหลังพอร์ทัลทำงานผิดพลาด ตั้งค่า Dimension กลับเป็น minecraft:overworld และตั้ง Pos ให้เป็นพิกัดที่สอดคล้องกัน
  • ติดอยู่ในโหมด spectator ตั้งค่า playerGameType เป็น 0 สำหรับ survival หรือ 1 สำหรับ creative
  • มี attribute modifier ค้างจากปลั๊กอินที่ลบแล้ว ลบรายการเก่าที่ค้างใน Attributes.

แก้ไขขณะผู้เล่นออฟไลน์

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

เซิร์ฟเวอร์ Bedrock ไม่ใช้โครงสร้างนี้ ข้อมูลผู้เล่นอยู่ใน LevelDB ของโลกภายใต้ key เช่น player_<uuid>, ซึ่งมีค่าเป็น NBT แบบ little-endian เมื่อแยกค่าออกมา โปรแกรมจะเปิดเป็น Bedrock แบบดิบ.

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

ไฟล์ใดเป็นข้อมูลของผู้เล่นที่ต้องการ?

ไฟล์ตั้งชื่อตาม UUID ค้นหา UUID ของผู้เล่นผ่านเครื่องมือ Mojang API หรือเรียง playerdata/ ตามเวลาแก้ไขแล้วเทียบกับเวลาที่เข้าสู่ระบบล่าสุด

เพิ่มไอเท็มให้ตนเองด้วยการแก้ playerdata ได้หรือไม่?

บนเซิร์ฟเวอร์ของคุณเองทำได้ โดยเพิ่มรายการใน Inventory list พร้อม id, Count และ Slot. การทำกับเซิร์ฟเวอร์ของผู้อื่นถือเป็นการบุกรุกและจะไม่สำเร็จ เพราะเซิร์ฟเวอร์ที่ทำงานอยู่จะเขียนไฟล์ใหม่

ทำไมการแก้ไขจึงหายไป?

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

playerdata ของ Bedrock ใช้รูปแบบเดียวกันหรือไม่?

ไม่ Bedrock เก็บผู้เล่นไว้ใน LevelDB ของโลก ไม่ได้แยกเป็นไฟล์ตาม UUID ข้อมูล NBT ภายในค่าเหล่านั้นเป็น little-endian และเปิดที่นี่ได้เมื่อแยกออกมา

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