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

ماذا يفعل LuckPerms؟

خلف كل أمر في ماينكرافت وفي الإضافات توجد عقدة صلاحية. فمثلًا يتحقق أمر الانتقال إلى المنزل في EssentialsX من العقدة essentials.home؛ فإن لم تكن هذه العقدة لدى اللاعب فلن يعمل الأمر. ويربط LuckPerms هذه العقد بالمجموعات، ويضع كل لاعب في مجموعة واحدة أو أكثر. فيحصل اللاعب على صلاحيات المجموعات التي ينتمي إليها.

إذا كنت تستخدم برنامجًا من عائلة الإضافات (Paper أو Purpur أو Spigot) فيمكنك تثبيت LuckPerms بنقرة واحدة من المتجر داخل لوحة التحكم. وبعد التثبيت أعد تشغيل السيرفر؛ فالإضافة تنشئ عند أول تشغيل ملفات إعداداتها ومجموعة default التي ينضم إليها الجميع تلقائيًا.

خطّط للمجموعات على الورق أولًا

قبل كتابة أي أمر، دوّن عدد الرتب التي تريدها وما يمكن لكل رتبة فعله. وتكفي أربع مجموعات لمعظم السيرفرات:

  • default: المجموعة الأساسية التي ينتمي إليها الجميع. أوامر أساسية مثل تحديد منزل أو إرسال طلب انتقال.
  • vip: بعض المزايا الإضافية، مثل عدد أكبر من نقاط المنازل أو اسم ملوّن.
  • helper (المساعد): كتم اللاعبين وطردهم ومراجعة البلاغات.
  • admin (المدير): الحظر وحماية المناطق وإعدادات العالم.

يمكن للمجموعات أن ترث بعضها من بعض. فإذا ورثت مجموعة helper كل صلاحيات vip، وورثت vip كل صلاحيات default، فلن تكتب الصلاحية نفسها في أربع مجموعات كلٌّ على حدة؛ بل تضيف لكل مجموعة ما يخصها وحدها.

إنشاء المجموعات

يمكنك تنفيذ الأوامر داخل اللعبة بصفتك مشرفًا، أو من وحدة التحكم المباشرة في اللوحة. في وحدة التحكم اكتب الأوامر دون الشرطة المائلة في بدايتها، لأن وحدة التحكم في بعض الإصدارات لا تتعرف عليها. أما داخل اللعبة فتضع / في بدايتها.

  1. أنشئ المجموعات: lp creategroup vip وlp creategroup helper وlp creategroup admin
  2. أعدّ الوراثة: lp group vip parent add default وlp group helper parent add vip وlp group admin parent add helper
  3. امنح المجموعات أوزانًا: lp group vip setweight 10 وlp group helper setweight 20 وlp group admin setweight 30. ويحدد الوزن أي مجموعة تتقدم حين يكون اللاعب في أكثر من مجموعة.
  4. امنح صلاحية: lp group helper permission set essentials.mute true
  5. ضع لاعبًا في مجموعة: lp user PlayerName parent set helper

يُخرج parent set اللاعب من مجموعاته الأخرى ويضعه في تلك المجموعة وحدها؛ ولأن سلسلة الوراثة قائمة فإنه يحتفظ بصلاحيات default. وإن أردت إضافة اللاعب إلى مجموعة أخرى مع إبقائه في مجموعاته الحالية فاستخدم parent add.

محرر الويب: التعديل دون حفظ الأوامر

يُنشئ الأمر lp editor رابط تحرير يُفتح في المتصفح. وهناك تعدّل المجموعات والصلاحيات واللاعبين بالنقر، ثم تحفظ عند الانتهاء. وتُطبَّق التغييرات على السيرفر؛ وإن تعذّر الاتصال يعطيك المحرر أمر تطبيق من سطر واحد تنفّذه على السيرفر. وهذه أريح طريقة لضبط عدد كبير من الصلاحيات دفعة واحدة.

بادئة الرتبة في الدردشة

لكي تظهر رتبة اللاعب قبل اسمه في الدردشة، امنح المجموعة بادئة: lp group vip meta setprefix 10 "&6[VIP] ". والرقم هو الأولوية؛ فإذا كان اللاعب في أكثر من مجموعة تظهر البادئة ذات الأولوية الأعلى. و&6 هو رمز اللون الذهبي.

يكتفي LuckPerms بتخزين البادئة، ولا يكتبها في الدردشة بنفسه. ولكي تظهر البادئة في الدردشة تحتاج إلى إضافة تتولى تنسيق الدردشة؛ والثنائي الأكثر شيوعًا هو EssentialsX Chat مع Vault.

كيف تعرف الصلاحية التي يتطلبها أمر ما

تُدرج صفحات الإضافات ووثائقها عقد الصلاحيات الخاصة بأوامرها. وفيما لا تجده هناك استخدم الأمر lp verbose on: فما دام مفعّلًا، كلما جرّب لاعب أمرًا ما يكتب LuckPerms العقدة التي جرى التحقق منها والنتيجة، في المكان الذي كتبت فيه الأمر (دردشة اللعبة أو وحدة التحكم). وعند الانتهاء عطّله بالأمر lp verbose off.

أخطاء شائعة

  • إعداد نظام الصلاحيات مع إبقاء الجميع مشرفين. فمن يملك صلاحيات المشرف يستطيع استخدام معظم الأوامر بغض النظر عن قائمة الصلاحيات. وبعد إعداد النظام اسحب صلاحية المشرف من الجميع عداك باستخدام deop PlayerName.
  • منح صلاحية شاملة. فالعقدة * تفتح كل شيء. وبدل منحها حتى لمجموعة admin، امنح صلاحيات الإضافات التي تستخدمها واحدة تلو الأخرى؛ فإن أضافت إضافة ما لاحقًا أمرًا خطيرًا فلن يُفتح تلقائيًا.
  • الثقة بالأسماء مع تسجيل دخول غير موثّق. إذا كان تسجيل الدخول غير الموثّق (وضع عدم الاتصال) مفعّلًا في سيرفرك، فيمكن لأي شخص الدخول باسم شخص آخر. ولكي لا تُنتحل أسماء اللاعبين أصحاب الصلاحيات، فعّل القائمة البيضاء ولا تمنح الصلاحيات إلا للاعبين الذين تعرفهم.
  • الظن بأن الصلاحية لم تُطبَّق. يطبّق LuckPerms التغييرات فورًا؛ ولا يحتاج اللاعب إلى إعادة الدخول. وإن لم يعمل شيء كما توقعت فتحقق أولًا بالأمر lp user PlayerName info من المجموعة التي ينتمي إليها اللاعب فعلًا.

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