تعديل قواعد اللعب في level.dat

يدعم 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، لذا يمكنك تغييرها من دون تحميل العالم أو تفعيل الغش. يفيد ذلك عندما لا يبدأ العالم، أو يكون الغش معطلًا، أو تجهز عالمًا منسوخًا قبل انضمام اللاعبين. تحتفظ Java بها كسلاسل داخل مركب GameRules، بينما يحتفظ Bedrock بكل قاعدة في وسم byte مستقل بحروف صغيرة عند الجذر.

keepInventorydoDaylightCyclemobGriefingcommandBlockOutputrandomTickSpeed

أفلت level.dat هنا

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

Java: مركب GameRules من السلاسل

في Java Edition، يحتوي Data ← GameRules على وسم TAG_String واحد لكل قاعدة، ويكون مفتاحه الاسم الدقيق الذي يستخدمه /gamerule، وتُكتب القيمة كنص: "true" أو "false" أو رقم. القواعد التي لم يضبطها العالم من قبل تكون غائبة ببساطة وتعود إلى قيمها الافتراضية؛ وتؤدي إضافة الوسم بالاسم الصحيح وقيمة سلسلة إلى النتيجة نفسها تمامًا التي يحققها تشغيل الأمر.

القاعدةالقيمةالتأثير
keepInventory"true"الاحتفاظ بالعناصر عند الموت
doDaylightCycle"false"تجميد وقت اليوم
doWeatherCycle"false"تجميد الطقس
mobGriefing"false"منع creepers وendermen من تغيير الكتل
doMobSpawning"false"إيقاف الظهور الطبيعي للمخلوقات
doFireTick"false"إيقاف انتشار النار
commandBlockOutput"false"إيقاف رسائل كتل الأوامر المزعجة في الدردشة
randomTickSpeed"3"معدل نمو المحاصيل وانتشار النار
playersSleepingPercentage"50"نسبة اللاعبين المطلوبة لتجاوز الليل
spawnRadius"10"نطاق منطقة الظهور

حالة الأحرف مهمة. الوسم keepinventory في ملف Java ليس الوسم نفسه keepInventory وسيجري تجاهله.

Bedrock: وسوم byte منفردة بحروف صغيرة

لا يجمع Bedrock القواعد. كل قاعدة هي وسم TAG_Byte عند جذر level.dat، واسمها بأحرف صغيرة، وتحمل 1 أو 0: keepinventory وdomobspawning وdomobloot وdodaylightcycle وdoweathercycle وmobgriefing وfiredamage وfalldamage وdrowningdamage وpvp وshowcoordinates وcommandblockoutput وsendcommandfeedback وnaturalregeneration وtntexplodes وrespawnblocksexplode وshowdeathmessages وdoimmediaterespawn. أما القواعد الرقمية مثل randomtickspeed وfunctioncommandlimit فهي من نوع TAG_Int بدلًا من ذلك.

يعني ضبط قاعدة غير موجودة بعد إضافة الوسم بالنوع الصحيح: Byte لخيار تشغيل وإيقاف، وInt لرقم. يُتجاهل الوسم المخزّن بنوع خاطئ، أو يتسبب في رفض التحميل.

متى يكون تعديل الملف أفضل من الأمر

  • الغش معطل ولا تريد تفعيله ثم تعطيله لتشغيل أمر واحد.
  • العالم لا يُحمّل؛ فيمكن ضبط قاعدة مثل doImmediateRespawn قبل أول انضمام.
  • تجهز عالمًا نموذجيًا ليُنسخ إلى عدة خوادم، وتريد تضمين القواعد في النسخة.
  • غيّرت إضافة إحدى القواعد وتريد رؤية القيمة المخزنة فعليًا بدلًا من القيمة التي يبلغ عنها أمر.
  • تعديلات جماعية. يكون ضبط اثنتي عشرة قاعدة في عدة عوالم أسرع داخل الملف منه في الدردشة.

أوقف الخادم أولًا، كما تفعل مع أي تعديل على level.dat؛ فالعالم قيد التشغيل يعيد كتابة الملف عند الحفظ وسيلغي التغيير.

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

لماذا تُخزن قاعدة اللعب كسلسلة في Java؟

تخزين قواعد اللعب في Java قائم على السلاسل لجميع القواعد، بما فيها القيم المنطقية والأرقام. اكتب "true"، لا قيمة byte مقدارها 1.

لماذا تُخزن كـbyte في Bedrock؟

يخزن Bedrock خيارات التشغيل والإيقاف كوسوم byte عند الجذر، والقواعد الرقمية كأعداد int. لا يوجد مركب GameRules.

إحدى القواعد غير موجودة في الملف إطلاقًا.

يعني ذلك أنها تستخدم قيمتها الافتراضية. أضف الوسم بالاسم الدقيق والنوع الصحيح، وسيستخدم العالم قيمتك.

هل تُنسخ قواعد اللعب مع مجلد العالم؟

نعم؛ فهي موجودة في level.dat، ولذلك يرثها العالم المنسوخ إلى جانب اسم العالم القديم.

أدوات مرتبطة