ماذا يوجد فعلًا داخل مجلد db
عند فتح حفظ عالم في إصدار Bedrock، سترى في المجلد الجذر الملفات level.dat وlevelname.txt، إضافةً إلى مجلد db. هذا المجلد db هو جوهر بيانات عالم Bedrock، وداخله قاعدة بيانات LevelDB من نوع مفتاح-قيمة — تتكوّن من عدد من ملفات البيانات .ldb/.ldat، وملف MANIFEST، وملف CURRENT، وملفات السجل (.log).
تخزّن LevelDB كل محتوى العالم الفعلي بأسلوب «مفتاح ← قيمة»:
- القطع والكتل (تُخزَّن كل قطعة بإحداثياتها كمفتاح)
- الكيانات (الكائنات الحية، العناصر، عربات المناجم، إلخ)
- محتويات الحاويات (العناصر داخل الصناديق وصناديق الشَّولكر)
- مقايضات القرويين وحالة اللعبة وغيرها من بيانات وقت التشغيل
بعبارة أخرى، كل ما بنيته داخل العالم يستقرّ تقريبًا كله داخل db/.
كيف تتوزّع الوظيفة بينه وبين level.dat
من السهل الخلط بين db/ وlevel.dat، لكن وظيفتهما واضحة التمييز: فملف level.dat هو بيانات وصفية (ما اسم العالم، أي نمط، أي بذرة)؛ أما db/ فهو المحتوى (كيف يبدو العالم). وهذا يختلف أيضًا عن إصدار Java — إذ يضع Java القطع في ملفات .mca داخل region/، بينما يجمعها Bedrock كلها في قاعدة بيانات LevelDB واحدة. ولمعرفة أين توجد الحفظات جميعها، يمكنك الرجوع إلى أين توجد حفظات العالم.
لا تعدّلها يدويًا، وشخّص التلف أولًا
لأنها بصيغة قاعدة بيانات، فإن الملفات داخل db/ يشير بعضها إلى بعض، وتحمل فهارس وسجلات، ولذلك فإن الحذف أو التعديل اليدوي يفسد الاتساق بسهولة بالغة: في أحسن الأحوال تصبح بعض القطع فارغة وتظهر فجوات في التضاريس، وفي أسوأها لا يُفتح العالم مطلقًا. وإذا ظهر في العالم ضياعٌ للقطع أو خللٌ في التحميل، فالأكثر أمانًا أن تستخدم التشخيص المجاني محليًا عبر mcworld.app لقراءة تقرير الصحة، ثم تقرّر السير نحو الإصلاح البسيط المجاني أم الإصلاح المتقدّم بنظام الدفع حسب النتيجة. والعملية بأكملها لا تكتب فوق ملفاتك الأصلية إطلاقًا، إذ تنتج في كل مرة نسخة جديدة وتحتفظ بالملف الأصلي مع تجزئة (hash) قابلة للتتبّع، وتُسترد قيمة المهمة المدفوعة تلقائيًا عند فشلها، كما لا يُوعَد باستعادة 100%. قراءة إضافية: ماذا تفعل عند تلف ملف .mcworld.