محرر 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 والموضع والبُعد والصحة والجوع والخبرة والسمات. أفلت ملفًا أدناه لإخراج لاعب عالق داخل التضاريس أو حذف عنصر يسبب التعطل أو إعادة ضبط الإحصاءات؛ على أن يكون الخادم متوقفًا، أو أن يكون ذلك اللاعب غير متصل على الأقل.

playerdata في Javaصندوق Enderالمخزونالموضعالسماتمرتبط بالتقدمات

أفلت ملف 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الصحة القصوى وسرعة الحركة والمعدّلات الأخرى.
SpawnX/SpawnY/SpawnZ أو respawnInt / Compoundنقطة إعادة الظهور الشخصية، بحسب الإصدار.
UUIDInt[4]قيمة UUID للاعب ممثلة بأربعة أعداد صحيحة في الإصدارات الحديثة.

تغيرت بنية رزم العناصر في 1.20.5؛ إذ انتقلت البيانات المخصصة من مركب tag واحد إلى عناصر components منفردة. يمكن فتح البنيتين هنا؛ عدّل البنية التي يكتبها إصدارك.

الإصلاحات الشائعة

  • لاعب عالق داخل التضاريس أو يسقط بلا نهاية. اضبط Pos على إحداثيات آمنة — ثلاث قيم Double بالترتيب X ثم Y ثم Z — وامسح Motion إذا كان يحتوي على قيمة ضخمة.
  • يتعطل العميل عند تسجيل الدخول. يكون السبب غالبًا عنصرًا غير صالح البنية. احذف الإدخال المسبب للمشكلة من Inventory بدلًا من مسح القائمة كاملة.
  • بُعد خاطئ بعد خلل في بوابة. أعد Dimension إلى minecraft:overworld واضبط Pos على إحداثيات مناسبة.
  • اللاعب عالق في نمط spectator. اضبط playerGameType على 0 لنمط survival أو 1 لنمط creative.
  • معدّلات سمات تركتها إضافة محذوفة. احذف الإدخالات القديمة من Attributes.

نفّذ التعديل واللاعب غير متصل

يحتفظ الخادم بحالة اللاعب في الذاكرة ويكتبها إلى الملف عند تسجيل الخروج والحفظ التلقائي. يضمن تعديل الملف أثناء اتصال اللاعب أن تُستبدل تغييراتك، وقد يؤدي التعديل أثناء الحفظ إلى اقتطاع الملف. افصل اللاعب — أو أوقف الخادم — ثم انسخ الملف وعدّله وأعده قبل اتصاله مجددًا. احتفظ بالنسخة الأصلية حتى ينجح تسجيل الدخول.

لا تستخدم خوادم Bedrock هذا التخطيط؛ إذ توجد بيانات اللاعب داخل LevelDB للعالم تحت مفاتيح مثل player_<uuid>، وتكون قيمها NBT بترتيب little-endian. استخرج إحدى القيم وستُفتح هنا بصيغة Bedrock الخام.

الأسئلة الشائعة

أي ملف يخص لاعبي؟

تُسمى الملفات وفق UUID. ابحث عن UUID الخاص باللاعب باستخدام عارض Mojang API، أو رتّب مجلد playerdata/ حسب وقت التعديل وطابقه مع آخر تسجيل دخول.

هل يمكنني منح نفسي عناصر بتعديل playerdata؟

نعم، على خادمك؛ أضف إدخالًا إلى قائمة Inventory يتضمن id وCount وSlot. أما على خادم شخص آخر فهذا اختراق، ولن ينجح أصلًا لأن الخادم النشط يعيد كتابة الملف.

لماذا اختفى تعديلي؟

كان الخادم أو اللاعب متصلًا عند إجراء التعديل. تتغلب حالة اللاعب الموجودة في الذاكرة عند عملية الحفظ التالية.

هل تكون playerdata بالشكل نفسه في Bedrock؟

لا. يحتفظ Bedrock باللاعبين داخل LevelDB للعالم بدلًا من ملفات منفصلة لكل UUID. تكون بيانات NBT داخل تلك القيم بترتيب little-endian، ويمكن فتحها هنا بعد استخراجها.

أدوات مرتبطة