دليل

كيف تصنع plugin لـ BungeeCord

حُدّث في 18 أكتوبر 2026

يعمل plugin الـ BungeeCord على البروكسي الذي يقف أمام خوادمك، لا على خادم لعب. يرى اللاعبين وهم يتصلون ويبدّلون الخوادم ويغادرون، لذا فهو المكان المناسب للدردشة على مستوى الشبكة، وأدوات الطاقم، ووضع الصيانة، ورسالة MOTD، ونقل اللاعبين بين الخوادم. لا عوالم فيه ولا كتل: أسلوب اللعب مكانه plugin على الخوادم الخلفية.

غيّر الأوامر لتناسب شبكتك.

ولّد هذا بـ Codexe

خطوة بخطوة

  1. 1.تأكد من البروكسي الذي تشغّله

    BungeeCord (أو فرع منه مثل Waterfall) وVelocity واجهتا API مختلفتان. plugin الـ BungeeCord لا يعمل على Velocity، والعكس صحيح.

  2. 2.جهّز المشروع

    مشروع Maven أو Gradle مع الاعتمادية bungeecord-api بنطاق provided. يوفّرها البروكسي أثناء التشغيل.

  3. 3.اكتب الفئة الرئيسية

    فئة ترث من net.md_5.bungee.api.plugin.Plugin، مع onEnable() لتسجيل الأوامر والمستمعين عبر getProxy().getPluginManager().

  4. 4.صِفه في bungee.yml

    name وversion وmain وauthor. يقرأ BungeeCord أيضاً plugin.yml، لكن bungee.yml يتجنب الخلط مع plugins الـ Spigot. تُسجَّل الأوامر في الكود، لا في الملف.

  5. 5.اكتب الأوامر والمستمعين

    ترث الأوامر من Command؛ وتطبّق المستمعات Listener بدوالّ @EventHandler لأحداث مثل PostLoginEvent أو ServerSwitchEvent.

  6. 6.تواصل مع الخوادم الخلفية عند الحاجة

    لا يستطيع البروكسي رؤية المخازن أو العوالم. لذلك، يتبادل plugin مرافق صغير على كل خادم خلفي رسائل الـ plugin مع plugin البروكسي.

  7. 7.ثبّته على البروكسي

    ضع ملف .jar في مجلد plugins/ الخاص بالبروكسي وأعد تشغيل البروكسي، لا الخوادم الخلفية.

أحداث مفيدة في البروكسي

الحدثمتى يُطلقالاستخدام المعتاد
ProxyPingEventيحدّث عميلٌ قائمة الخوادمرسالة MOTD، وعدد اللاعبين، ورسالة الصيانة
PostLoginEventانضم لاعب إلى البروكسيرسائل الانضمام، وتحميل بيانات اللاعب
ServerConnectEventلاعب على وشك الاتصال بخادمإرسال اللاعبين إلى ردهة، وحظر خوادم
ServerSwitchEventانتقل لاعب إلى خادم آخررسائل "انضم إلى الخادم" على مستوى الشبكة
PlayerDisconnectEventغادر لاعب الشبكةحفظ البيانات، وإشعارات الطاقم
ChatEventيرسل لاعب رسالة دردشة أو أمراًدردشة الشبكة، والفلاتر، ودردشة الطاقم

إعداد الشبكة بشكل صحيح

  • فعّل ip_forward في config.yml الخاص بالبروكسي وbungeecord: true في spigot.yml على كل خادم Spigot أو Paper، لتُمرَّر أسماء اللاعبين ومعرّفات UUID.
  • اضبط الخوادم الخلفية على online-mode=false وتأكد أنه لا يمكن الوصول إليها مباشرة من الإنترنت، بل عبر البروكسي فقط.
  • لا تنتقل رسائل الـ plugin إلا أثناء اتصال لاعب بذلك الخادم الخلفي، لذا لا تصل رسالة موجهة إلى خادم فارغ.

مثال على وصف

"plugin بروكسي لـ BungeeCord 1.21 باسم NetUtils. الأمر /lobby يرسل اللاعب إلى خادم الردهة. الأمر /staffchat <message> (الاسم البديل /sc) يرسل رسالة إلى كل من لديه netutils.staff على أي خادم. الأمر /maintenance on|off يعرض رسالة MOTD للصيانة ويطرد اللاعبين الذين ليس لديهم netutils.bypass. رسالة انضمام في دردشة الطاقم عندما يبدّل أحد أعضاء الطاقم الخادم. أسماء الخوادم وMOTD والرسائل في config.yml."

مع Codexe

اختر النوع BungeeCord/Velocity واذكر البروكسي الذي تشغّله، فهما واجهتا API مختلفتان. يجمّع Codexe الـ plugin بـ Maven ويتحقق من أن ملف .jar يحتوي على الواصف الصحيح قبل أن يصبح Ready؛ وإذا لم يكن في الطلب إصدار، تُستخدم BungeeCord API 1.21. وإذا احتجت إلى plugin مرافق على الخادم الخلفي، فاطلبه كمشروع Spigot/Paper منفصل.

لا تشغّل «جرّبه الآن» خوادم البروكسي بعد، لذا اختبر plugin البروكسي على شبكتك الخاصة أو على بروكسي محلي مع خادم خلفي واحد. راجع أيضاً مولّد plugins لـ BungeeCord.

أسئلة

هل يمكن لـ plugin الـ BungeeCord تغيير الكتل أو المخازن؟

لا، فالبروكسي يتعامل مع الاتصالات والرسائل فقط. استخدم plugin على الخادم الخلفي لأسلوب اللعب، ورسائل الـ plugin إذا كان على الاثنين العمل معاً.

هل يعمل على Velocity؟

لا. لدى Velocity واجهة API خاصة به وملف velocity-plugin.json. إذا كنت تشغّل الاثنين، فاصنع مشروعين.

plugin بروكسي أم plugin على الخادم الخلفي للدردشة؟

plugin بروكسي إذا كان يجب أن تصل الدردشة إلى اللاعبين على كل الخوادم. وplugin على الخادم الخلفي إذا بقيت الدردشة على خادم واحد.

اصنع plugin لشبكتك

يُفتح هذا الوصف جاهزاً للإرسال:

“plugin بروكسي لـ BungeeCord 1.21 باسم NetUtils: الأمر /lobby يرسل اللاعب إلى خادم الردهة، و/staffchat (الاسم البديل /sc) يرسل رسالة إلى كل من لديه netutils.staff على أي خادم، و/maintenance on|off يعرض رسالة MOTD للصيانة ويطرد اللاعبين الذين ليس لديهم netutils.bypass، وانتقالات الطاقم تُعلن في دردشة الطاقم، وأسماء الخوادم وMOTD والرسائل في config.yml.”

ولّد هذا بـ Codexe
كيف تصنع plugin لـ BungeeCord لشبكتك | Codexe