محرر level.dat لخوادم PocketMine-MP وBedrock

يدعم 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 وغيرها. القائمة الكاملة.

تقرأ برمجيات خوادم Bedrock، ومنها PocketMine-MP وNukkit وPowerNukkitX وCloudburst وDragonfly وBedrock Dedicated Server الرسمي، ملف level.dat نفسه بترتيب صغير النهاية وترويسة من 8 بايت من المسار worlds/<World>/. أسقط ملفك أدناه لتصحيح اسم العالم بعد نسخ مجلد أو نقل نقطة الظهور أو تغيير قواعد اللعب أو معرفة الإصدار الذي كتب العالم آخر مرة.

PocketMine-MPNukkitPowerNukkitXCloudburstBedrock Dedicated ServerDragonflyEndstoneWaterdogPE

أفلت worlds/<World>/level.dat هنا

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · بيانات مقاطع مستخرجة

مشكلة تكرار اسم العالم

يواجه كل مدير خادم Bedrock هذه المشكلة. تنسخ worlds/hub إلى worlds/hub2 لإنشاء ساحة ثانية، لكن وحدة التحكم ومدير العوالم وكل إضافة تعرض اسم العالم تواصل تسمية العالمين hub. لقد تغير اسم المجلد، لكن LevelName داخل level.dat لم يتغير.

العواقب ليست شكلية. قد تصل الإضافات التي تبحث عن العوالم بالاسم الداخلي، مثل منصات الانتقال وإعدادات كل عالم وحماية المناطق، إلى العالم الخطأ، كما تصبح أوامر إدارة العوالم ملتبسة. أصلح ذلك بتعديل الوسم: أسقط الملف أعلاه وسينتقل المحرر مباشرة إلى LevelName ويفتحه للتعديل.

  1. أوقف الخادم. يعيد الخادم العامل كتابة level.dat عند الحفظ وسيلغي تعديلك.
  2. نزّل worlds/<World>/level.dat عبر SFTP أو مدير الملفات في لوحة التحكم.
  3. أسقطه في المحرر، وغيّر LevelName إلى الاسم الجديد، ثم احفظه.
  4. ارفعه مكان الملف الأصلي مع الاحتفاظ بالملف القديم نسخةً احتياطية.
  5. شغّل الخادم وافحص سطر وحدة التحكم الذي يعرض العوالم المحمّلة.

ملاحظات حسب النواة البرمجية

النواة البرمجيةمسار العالمملاحظات
PocketMine-MP ‏(PM5)worlds/<World>/يُحدّد العالم الافتراضي عبر level-name في server.properties؛ تمثل هذه القيمة اسم المجلد، بينما يمثل LevelName الاسم الداخلي للعالم.
Nukkit / PowerNukkitXworlds/<World>/بنية Bedrock نفسها؛ يضيف PNX ملفات إعداداته الخاصة بجانبها.
Bedrock Dedicated Serverworlds/<World>/يختار level-name في server.properties المجلد، ويكون إصدار التخزين في الترويسة عادةً 10.
Cloudburst / Dragonflyworlds/<World>/يقرآن level.dat نفسه؛ وقد يحتفظ Dragonfly بحالة إضافية في قاعدة بياناته الخاصة.
WaterdogPE، Geyser—خوادم وكيلة لا تملك عوالم؛ تمر بيانات NBT عبرها على الشبكة بصيغة NBT الشبكية فقط.

تنفيذ التعديل دون تعطيل بيئة الإنتاج

  • أنشئ نسخة احتياطية من مجلد العالم كاملًا، لا من level.dat وحده. يستغرق ذلك ثواني، وهو الوسيلة الوحيدة للتراجع عن تعديل خاطئ.
  • لا تعدّل ملفًا قيد الاستخدام مباشرة عبر SFTP. نزّل الملف وعدّله ثم ارفعه بينما الخادم متوقف. يؤدي التعديل في مكانه مع إبقاء الخادم للعالم مفتوحًا إلى ملف مبتور.
  • هل تنسخ عالمًا لنمط جديد؟ غيّر LevelName فور النسخ وقبل أن يراه الخادم، حتى لا يخزّن أي مكوّن الاسم الخطأ مؤقتًا.
  • افحص شريط الملف بعد التحميل. يعرض الشريط التنسيق المكتشف وإصدار التخزين؛ إذا ظهر ملف Bedrock بأي صيغة غير level.dat في Bedrockفقد اخترت الملف الخطأ أو أن الملف تالف.

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

هل يستخدم PocketMine-MP ملف level.dat نفسه في Bedrock؟

نعم. يطبّق PocketMine-MP تنسيق عالم Bedrock، لذا يكون level.dat لديه NBT صغير النهاية مع ترويسة 8 بايت، وبالبنية نفسها بايتًا ببايت التي يكتبها خادم Bedrock الرسمي.

لماذا يظهر عالمان بالاسم نفسه في وحدة التحكم؟

لأنهما نُسخا من مجلد واحد ويشتركان في LevelName. اسم المجلد والوسم مستقلان؛ غيّر الوسم.

هل يمكنني إعادة تسمية عالم دون إعادة تشغيل الخادم؟

لا. يكون العالم محمّلًا في الذاكرة ويُعاد كتابته عند الحفظ، لذلك يُهمل أي تعديل أثناء تشغيله. أوقف الخادم ثم عدّل الملف وشغّله.

هل يعمل مع Nukkit وPowerNukkitX؟

نعم؛ التنسيق ومسار الملف والخطوات نفسها.

كيف أحوّل عالم Bedrock إلى Java؟

لا يتم ذلك بمحرر NBT. ترتيب البايتات هو الجزء السهل؛ تختلف بنية الوسوم ولوحات الكتل وتخزين القطع بالكامل. استخدم محولًا مخصصًا، ثم استخدم هذا المحرر للبيانات الوصفية المتبقية.

أدوات مرتبطة