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

ماذا تفعل إضافة منع الغش؟

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

من الخيارات مفتوحة المصدر إضافة Grim التي تعيد حساب حركة اللاعب على السيرفر نفسه، وهي خيار شائع على إصدارات Paper الحديثة. وهناك NoCheatPlus الأقدم والمعروفة حتى اليوم، غير أن دعمها للإصدارات الحديثة أصبح معتمدًا على نسخ مشتقة يطورها المجتمع. أيًّا كان اختيارك، تأكد من صفحة الإضافة أنها تدعم إصدار سيرفرك، وثبّت إضافة واحدة فقط لمنع الغش؛ فعندما تحاول إضافتان تصحيح الحركة نفسها بطريقتين مختلفتين، يعاني اللاعبون من الارتداد المفاجئ والتقطّع.

ثبّت الإضافة من لوحة التحكم ثم أعد تشغيل السيرفر. في Grim يحتاج المشرفون إلى الصلاحية grim.alerts لتصلهم التنبيهات، ويمكنهم تشغيلها وإيقافها بالأمر /grim alerts. وأنظم طريقة لتوزيع ذلك هي المجموعات كما شرحنا في دليل نظام الرتب والصلاحيات مع LuckPerms: تمنح الصلاحية مرة واحدة لمجموعة المشرفين فتصل التنبيهات إلى كل أعضائها.

ما لا تستطيع الإضافة رؤيته

لا تحكم إضافة منع الغش إلا على ما يصل إلى السيرفر، ولا تعرف شيئًا عمّا يُرسم على شاشة اللاعب. لذلك لا تكشف فحوص الحركة الأشعة السينية ولا تمييز اللاعبين ولا غيرها من الغش البصري، لأنها لا تغيّر الحركة أصلًا. لمواجهتها يجب تقليل ما يرسله السيرفر من معلومات ومراجعة السلوك من خلال السجلات.

الإنذارات الخاطئة: لماذا يُنبَّه على لاعب صادق؟

كل إضافة لمنع الغش تُنبّه أحيانًا على لاعب بريء. وأكثر الأسباب شيوعًا:

  • التأخير وفقدان الحزم: عندما يتذبذب الاتصال تصل الحركة على دفعات غير منتظمة قد تبدو كأنها غش في السرعة.
  • بطء السيرفر: عندما ينخفض TPS يعالج السيرفر الحركة متأخرًا. فإذا وصلت تنبيهات لعدد كبير من اللاعبين في اللحظة نفسها بعد ضغط مفاجئ، فالمشكلة في الأداء وليست موجة غش.
  • إضافات تغيّر الحركة: منصات القذف وأدوات السرعة وكتل القفز الخاصة ودفع الألعاب المصغّرة كلها تنتج حركة لا تتوقعها الإضافة.
  • اختلاف أنواع العملاء: لاعبو Bedrock الذين يدخلون عبر جسر تصل حركتهم بشكل يختلف قليلًا عن عميل Java، وبعض الإضافات توفر إعدادات منفصلة لهم.

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

إخفاء الخامات في مواجهة الأشعة السينية (anti-xray في Paper)

تتيح الأشعة السينية للعميل أن يرى عبر الكتل. وأنجع دفاع من جهة السيرفر هو ألّا يُرسل الموقع الحقيقي للخامات التي لا يمكن للاعب رؤيتها أصلًا. يفعل Paper ذلك بشكل مدمج دون حاجة إلى إضافة. توجد الإعدادات في قسم anticheat.anti-xray داخل الملف config/paper-world-defaults.yml الذي يمكنك تعديله من مدير الملفات:

anticheat:
  anti-xray:
    enabled: true
    engine-mode: 2
    max-block-height: 64
    update-radius: 2
    lava-obscures: false
    use-permission: false
    hidden-blocks:
      - diamond_ore
      - deepslate_diamond_ore
      - emerald_ore
      - deepslate_emerald_ore
      - gold_ore
      - deepslate_gold_ore
      - ancient_debris
    replacement-blocks:
      - stone
      - deepslate

يأخذ engine-mode ثلاث قيم. الوضع ١ يُخفي الخامات بحيث تبدو كالحجر المحيط بها؛ وهو خفيف، لكن مستخدم الأشعة السينية يظل يرى الخامات المكشوفة على جدران الكهوف. الوضع ٢ ينثر خامات وهمية بين الكتل غير المرئية، فتظهر الخامات في كل مكان على شاشة الغشاش وتفقد الأداة قيمتها. الوضع ٣ يضع الخامات الوهمية وفق نمط معيّن فيخفّف حركة الشبكة قليلًا. الوضع ٢ خيار متوازن لمعظم سيرفرات البقاء، أما في السيرفرات المزدحمة جدًا فراقب استهلاك الشبكة والمعالج.

يحدد max-block-height أعلى مستوى يُطبَّق عنده الإخفاء؛ ومعظم الخامات تقع تحته، فلا فائدة من فحص ما فوقه سوى زيادة الحمل. أما عالم Nether فاكتب له قسمًا مستقلًا في الملف paper-world.yml داخل مجلد ذلك العالم: تضع في قائمة replacement-blocks الكتلة netherrack، وفي قائمة hidden-blocks كلًّا من ancient_debris وnether_gold_ore. وبعد التعديل أعد تشغيل السيرفر.

تُرسل بيانات القطع من جديد في كل مرة يحمّلها اللاعب، لذا تبدأ الحماية في عالمك الحالي فور تفعيلها دون الحاجة إلى إعادة توليد أي شيء.

حفظ السجلات: لا عقوبة بلا دليل

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

co lookup u:PlayerName b:diamond_ore a:-block t:3d

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

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

سياسة عقوبات عادلة

أكبر خطأ في مكافحة الغش هو العقاب في لحظة غضب ودون دليل. اللاعب الصادق الذي يُحظر ظلمًا نادرًا ما يعود، وغالبًا ما يحكي ما جرى لأصدقائه. وللحفاظ على العدل:

  1. اكتب القاعدة مسبقًا. وضّح في صفحة القواعد أي تعديلات العميل مسموحة (مثل تحسينات الأداء والعرض) وأيها ممنوع. ويتناول دليل قواعد السيرفر وإدارة المجتمع هذا الموضوع بالتفصيل.
  2. تدرّج في العقوبة. راقب اللاعب ما دام الأمر مجرد شك، وتصرّف حين يتضح الدليل. التحذير للمخالفة البسيطة، والحظر المؤقت عند التكرار، والحظر الدائم للغش الواضح المتعمّد سُلَّم معقول.
  3. قاعدة العينين. في القرارات الثقيلة كالحظر الدائم، ليجمع مشرف الدليل وليقيّمه مشرف آخر.
  4. دوّن السبب. الأمر الأصلي /ban PlayerName reason يحفظ السبب في قائمة الحظر؛ اجعله قصيرًا وواضحًا.
  5. افتح باب الاعتراض. خصّص قناة للاعتراض على Discord أو عبر نموذج، واجعل من يراجعها شخصًا غير الذي أصدر العقوبة.
  6. أصلح الضرر. استرجع بـ CoreProtect الأغراض المكتسبة بالغش والمباني المخرّبة، حتى لا يدفع اللاعبون الصادقون ثمن غش غيرهم.

قائمة تحقق سريعة

  • ثبّت إضافة واحدة لمنع الغش متوافقة مع إصدار سيرفرك، وراقب التنبيهات فقط في الأسبوع الأول.
  • أبقِ حماية anti-xray في Paper مفعّلة، واضبط عالم Nether على حدة.
  • ثبّت CoreProtect فور افتتاح السيرفر؛ فهو لا يسجّل الماضي.
  • اعتبر التنبيه إشارة لا دليلًا، وأكّده من السجلات.
  • طبّق سياسة عقوبات مكتوبة ومتدرّجة مع باب اعتراض حقيقي.

حين تعمل هذه الطبقات معًا يصبح الغش أصعب وأسرع انكشافًا، ويشعر لاعبوك الصادقون بالأمان في سيرفرك.