تخطي إلى المحتوى الرئيسي

توصيل العملاء باستخدام P2P

ملحوظة

هذه الصفحة قيد الصيانة 👷‍♂️ لقطات الشاشة وفيديوهات ما زالت مفقودة، عد لاحقًا إذا كنت في حاجة إليها!

لتوصيل اللاعبين معًا، يحتاج الأمر إلى محول. لكل منها مميزات غير موجودة لدى الأخرى، ويمكنك معرفة المزيد عن كل واحد منها هنا. سوف نستخدم P2P كما أنها قد تكون فعلًا مألوفة بالنسبة لك إلى حد ما، وهي مدمجة في GDevelop.

إعداد P2P

من أجل استخدام P2P مع THNK، ستحتاج إلى تنزيل وتثبيت محول P2P.

بعد ذلك، سنحتاج إلى إضافة قائمة إلى اللعبة حيث يمكن للاعبين الاتصال معًا.

قبل أن نتمكن من بدء الاتصال، نحتاج إلى أمرين:

  1. معرف P2P الذي يمكن الحصول عليه عن طريق الاتصال بالخادم الوسيط
  2. لمعرفة من سيقوم باستضافة الخادم

ثم للاتصال،

  • مستضيف الخادم يحتاج إلى مشاركة معرف P2P
  • يحتاج العملاء إلى إدخال معرف مستضيف الخادم P2P

أولًا، دعنا ننشئ مشهد قائمة يحتوي على نص "الاتصال بالخادم" في المنتصف. عندما لا نكون متصلين بالوسيط، وليس من المجدي اقتراح أي خيار آخر لأن بدء خادم أو الاتصال به أمر مستحيل دون تقديم الوسيط لمعرف P2P.

يمكننا ببساطة في بداية المشهد أن نستدعي إجراء "الاتصال بالخادم الوسيط الافتراضي".

TURN/STUN خوادم

إذا كنت ستضيف خوادم TURN/STUN كمرشحين ICE (مستحسن كخطة بديلة إذا قام جدار حماية اللاعب بحظر اتصالات P2P)، يجب استدعاءهم فقط قبل الوسيط، وليس بعده!

عندما تُشغَّل الحالة "P2P جاهزة"، يكون الوسيط متصلًا ومستعدًا حتى نتمكن من الذهاب إلى الخطوة التالية.

ماذا تعني بالذهاب إلى الخطوة التالية؟!؟

يتدفق الاتصال عبر P2P بعدة خطوات:

الاتصال بالوسيط » تحديد الدور (عميل/خادم) » تبادل المعرفات

لديك العديد من الخيارات للذهاب إلى "القائمة التالية" لتدفق الاتصال:

  • يمكنك وضعها على مشاهد مختلفة وتبديلها
  • يمكنك حذف كائنات وإنشاء كائنات جديدة لكل خطوة
  • يمكنك وضع قوائم مختلفة في مواقع مختلفة على المشهد وتحريك الكاميرا
  • إلى آخره...

تلك الخطوة التالية هي عرض زرين: واحد للعملاء وواحد للخادم.

قائمة العميل

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

بمجرد أن ينتهي اللاعب من إدخال المعرف، يجب أن يكون قادرًا على الاتصال. يمكنك استخدام زر من متجر عناصر GDevelop لهذا الغرض.

عند الضغط على الزر، ببساطة استخدم محول P2P "الاتصال بالخادم على معرف P2P". استخدم عبارات إدخال النص للحصول على معرف الإدخال.

قائمة الخادم

لكي يتمكن العملاء من الاتصال، يجب أن يبدأ خادم THNK أولًا. يحتاج الخادم إلى مشهد THNK للتشغيل.

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

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

ردهة

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

ما دام تبديل المشهد يتم بواسطة رمز الخادم، فإن جميع العملاء سوف يتبعون التبديل ويبقون متصلين. إذا تم إجراء التبديل إلى جانب العميل، سيؤدي هذا إلى قطع اتصال اللعبة من الخادم (مثل التبديل بعيدًا عن مشهد THNK إلى مشهد محلي).

الخلاصة

هذا كل شيء، الآن، إذا قمت بالنقر على "الخادم" في لعبة واحدة، "العميل" في الألعاب الأخرى، اكتب معرف الخادم في تلك الألعاب الأخرى، سوف تلعبون ✨معًا عبر الإنترنت✨!

مع ذلك، لقد وصلت إلى نهاية هذا البرنامج التعليمي عن الاستعداد للبدء :)

استمتع بالبناء باستخدام THNK!