الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.
يجمع اللعب الجماعي في Flock اللاعبين ويصل بينهم. يكوّن الأصدقاء فريقًا،
ثم يجد الفريق أو اللاعب المنفرد مطابقة أو ينضم إلى لعبة صديق برمز، وكل
لعبة هي جلسة: يستضيفها لاعب واحد، ويشغل الآخرون مقاعد فيها. ثم
تصل حزمة التطوير بين اللاعبين عبر شبكة لعبتك: Netcode for GameObjects
في Unity، وشبكة المحرّك نفسه في Unreal. يتصل اللاعبون الموجودون على شبكة المضيف به مباشرة، ويمرّ
الآخرون عبر وسيط Flock، فلا يحتاج أحد إلى فتح منفذ في الموجّه، ثم ينتقلون في Unity إلى مسار مباشر إلى
المضيف حين يتمكّن الطرفان من الوصول أحدهما إلى الآخر. وحين يغادر المضيف، يتولّى لاعب آخر الاستضافة.
النطاق: تُعرَّف طوابير المطابقة وإعدادات اللعب الجماعي لكل لعبة؛ أما الفرق والمقاعد فتخصّ اللاعب.
الفرق
أصدقاء يبقون معًا من لعبة إلى أخرى.
المطابقة
املأ لعبة من طابور، منفردًا أو مع فريق.
الجلسات
لعبة واحدة: مضيف ولاعبوه ورمز انضمام.
اتصال اللاعبين
Netcode for GameObjects أو شبكة Unreal نفسها، والوسيط وتغيّر المضيف.
افتح اللعب الجماعي ← الجلسات واضغط إعدادات اللعب الجماعي. القيم الافتراضية تناسب معظم
الألعاب:
الإعداد
الافتراضي
ما يفعله
الحد الأقصى للاعبين في الجلسة
8
عدد المقاعد في جلسة يستضيفها لاعب أو تصنعها مطابقة، من 2 إلى 16.
مهلة المشارك (ثوانٍ)
90
اللاعب الصامت مدة أطول من هذه يفقد مقعده.
مهلة المضيف (ثوانٍ)
60
المضيف الصامت مدة أطول من هذه يحلّ محلّه اللاعب الأقدم جلوسًا.
الحد الأقصى لعمر الجلسة (ثوانٍ)
14400
تنتهي كل جلسة بعد هذه المدة (4 ساعات) مهما كان نشاطها.
إنشاء جلسة عند تكوّن مطابقة
مفعّل
يحصل اللاعبون المتطابقون على جلسة يلعبون فيها.
توزيع بيانات اعتماد الوسيط
مفعّل
يتصل اللاعبون على شبكات مختلفة عبر وسيط Flock. وعند إيقافه لا يتصل إلا اللاعبون على شبكة المضيف، أو عبر منفذ مُوجَّه إليه.
ثم أنشئ طابورًا لكل نمط من اللعب الجماعي ← نظام المطابقة؛ راجع
المطابقة.
ثبّت Netcode for GameObjects بالإصدار 1.x أو 2.x من Package Manager. لا يُبنى دعم Flock
للشبكة إلا عند تثبيته. ويجب أن يستخدم كل لاعبي اللعبة الإصدار الرئيسي نفسه. وقد جرى التحقق من
اللعب الجماعي على Unity 2021.3 مع Netcode 1.14، وعلى Unity 6000.3 مع Netcode 2.13.
في Flock → Settings، اضبط Party Refresh Seconds: كل كم ثانية تقرأ حزمة التطوير فريق اللاعب
في الخلفية (10 افتراضيًا؛ والقيمة 0 توقف ذلك).
استخدم NetworkManager واحدًا مع Unity Transport، واترك حجم الرسالة على قيمته الافتراضية.
سجّل دخول اللاعب قبل أي استدعاء للعب الجماعي، ونفّذ كل استدعاء من الخيط الرئيسي. وتُطلق كل
أحداث اللعب الجماعي على الخيط الرئيسي.
تبدأ السكربتات التي تستخدم اللعب الجماعي بـ using Flock; وusing Flock.Providers; (وأضف
using Flock.Exceptions; لـ FlockErrorCode، وusing Unity.Netcode; لـ NetworkManager).
والسكربت الموجود في تعريف تجميع خاص به يشير إلى Flock.Runtime، وإلى
Flock.Multiplayer.Netcode من أجل StartNetcodeAsync.
كل الاستدعاءات على FlockClient.Instance.Multiplayer، أو على كائن يعيده.يحتوي مجلد Samples/Multiplayer في الحزمة على عيّنتين من شاشة واحدة:
FlockPlayWithFriendsSample (استضِف واقرأ الرمز بصوت عالٍ، فينضم صديق)،
وFlockQuickMatchSample (يجد اللاعبون بعضهم في طابور). أضف أيًّا منهما إلى GameObject فارغ
واضغط Play في نسختين من اللعبة.
استخدم Unreal Engine من 5.4 إلى 5.8، وFlock Unreal SDK بالإصدار 1.35.0 أو أحدث. يعمل اللعب الجماعي
على شبكة المحرّك نفسه، فلا شيء آخر تحتاج إلى تثبيته.
في Project Settings → Plugins → Flock SDK Settings، تحت Multiplayer، اضبط Party Refresh
Seconds: كل كم ثانية تقرأ حزمة التطوير فريق اللاعب في الخلفية (10 افتراضيًا، أي نحو 6 طلبات في
الدقيقة لكل لاعب؛ والقيمة 0 توقف ذلك).
أعطِ المضيف وضع لعب (game mode) لا يُدخل إلا لاعبي الجلسة: Blueprint مبنيًّا على Flock Game Mode
Base (أو Flock Game Mode، لحالات المباراة) ومضبوطًا في Project Settings → Maps & Modes، أو
وضع لعب خاصًّا بك يستدعي تحقّق Flock في PreLoginAsync؛ راجع
من ينضم. والمضيف الذي يفتقده لا يُدخل أحدًا
(join_check_missing).
أبقِ على شبكة IP الخاصة بالمحرّك. مع نظام Steam الفرعي على الإنترنت، اضبط
bUseSteamNetworking=False تحت [OnlineSubsystemSteam] في Config/DefaultEngine.ini: فمقابس
Steam لا تستطيع الاستماع على عنوان IP، فينتهي Travel To Session بـ could_not_start. ولا يتأثّر
تسجيل الدخول عبر Steam.
سجّل دخول اللاعب قبل أي استدعاء للعب الجماعي، ونفّذ كل استدعاء من خيط اللعبة. وتُطلق كل أحداث
اللعب الجماعي على خيط اللعبة.
تُضمّن شيفرة C++ التي تستخدم اللعب الجماعي FlockSubsystem.h وMultiplayer/FlockParty.h أو
Multiplayer/FlockMultiplayerSession.h، في وحدة تعتمد على Flock في ملف .Build.cs الخاص بها.
كل الاستدعاءات على UFlockSubsystem::GetMultiplayerProvider()، أو على كائن يعيده. وفي Blueprint،
كل استدعاء عقدة تحت Flock | Multiplayer.يحتوي مجلد Content/Samples/Multiplayer في الإضافة (فعّل Show Plugin Content في
Content Browser) على عيّنة مبنية بـ Blueprint فقط، بدءًا من SDK 1.36.0:
يسجّل BP_FlockSampleGameInstance الدخول باسم جهاز، ويستضيف، وينضم برمز، ويبحث عن مباراة
سريعة، وينتقل إلى الجلسة وينتقل مجددًا عند تغيّر المضيف؛ وFlockMultiplayerSample هو مستواها،
ويعمل بـ Flock Game Mode Base. اضبط Game Instance Class على BP_FlockSampleGameInstance
في Project Settings → Maps & Modes، وافتح المستوى، وشغّله في لعبتين مستقلتين، كل منهما
مسجّلة الدخول باسم جهاز خاص بها.
عيّنة Unreal أثناء اللعب: يعرض سطر الحالة رمز الانضمام الذي يكتبه الصديق لينضم.
اللعب التعاوني المحلي: أجهزة على شبكة واحدة (حفلة LAN، أو شبكة Wi-Fi واحدة)
رمز انضمام الجلسة
عند الحاجة فقط (الافتراضي): يتصل اللاعبون على شبكة المضيف به مباشرة. أو أبدًا، فلا وسيط إطلاقًا.
اللعب التعاوني عبر الإنترنت مع أصدقاء على شبكات أخرى
رمز انضمام الجلسة
عند الحاجة فقط
المطابقة عبر الإنترنت مع لاعبين لا تعرفهم
طابور
عند الحاجة فقط
أصدقاء يُطابَقون معًا، ضد آخرين أو معهم
فريق، ثم طابور
عند الحاجة فقط
صنّاع البث المباشر واللعب التنافسي، حيث لا يجوز أن يرى أحد عنوان IP لغيره
أيٌّ مما سبق
دائمًا، في كل لعبة
Steam أو Epic Online Services أو شبكتك الخاصة
أيٌّ مما سبق
لا يُستخدم
لا يحتاج عدة لاعبين على جهاز واحد (شاشة مقسّمة، أو أذرع تحكم مشتركة) إلى أيٍّ من هذا: فتلك لعبة واحدة
بلاعب Flock واحد، واللعب الجماعي في Flock يصل بين الأجهزة.
لوحة التحكم
Unity
Unreal
اللعب التعاوني المحلي: لا شيء غير إعدادات اللعب الجماعي.
اللعب التعاوني مع الأصدقاء عبر الإنترنت: اترك توزيع بيانات اعتماد الوسيط مفعّلًا.
المطابقة عبر الإنترنت: طابور لكل نمط من اللعب الجماعي ← نظام المطابقة، بأصغر مطابقة
وأكبرها.
أصدقاء يُطابَقون معًا: طابور تتسع أكبر مطابقة فيه للفريق كله.
صنّاع البث واللعب التنافسي: لا شيء آخر؛ فالاختيار يتمّ في اللعبة.
اللعب التعاوني المحلي، واللعب التعاوني مع الأصدقاء. يستضيف لاعب واحد ويشارك رمز الانضمام (بصوت
عالٍ في الغرفة، أو عبر ردهة لعبتك أو قائمة أصدقائها أو محادثتها)، وينضم الآخرون به. يتصل
اللاعبون على شبكة المضيف به مباشرة؛ ومع WhenNeeded الافتراضي، يمرّ الصديق الموجود على شبكة أخرى
عبر وسيط Flock، ثم ينتقل إلى مسار مباشر حين يتمكّن الطرفان من الوصول أحدهما إلى الآخر. ويلعب الهاتف
والحاسوب معًا بالطريقة نفسها. وهذا ما تفعله FlockPlayWithFriendsSample بالضبط.
// The host's game.FlockMultiplayerSession session = await FlockClient.Instance.Multiplayer.HostSessionAsync(4);joinCodeLabel.text = session.JoinCode;await session.StartNetcodeAsync(NetworkManager.Singleton);// Each other player's game, with the code the host shared.FlockMultiplayerSession joined = await FlockClient.Instance.Multiplayer.JoinSessionAsync(typedCode);FlockNetcodeStartResult started = await joined.StartNetcodeAsync(NetworkManager.Singleton);// started.ThroughRelay is false for a player on the host's network.
للعبة تعمل على الشبكة المحلية فقط، مرّر new FlockNetcodeOptions { Relay = FlockRelayUse.Never } في
كل لعبة؛ وعندها يحصل اللاعب الموجود في مكان آخر على CouldNotConnect ما لم يُوجَّه منفذ إلى المضيف.المطابقة عبر الإنترنت. وهذا ما تفعله FlockQuickMatchSample.
FlockMatchmakingResult found = await FlockClient.Instance.Multiplayer.FindMatchAsync("casual-1v1");if (found.IsMatched && found.Session != null) await found.Session.StartNetcodeAsync(NetworkManager.Singleton); // the player who waited longest hostselse ShowMessage("No match: " + found.Outcome);
أصدقاء يُطابَقون معًا. يكوّن الأصدقاء فريقًا ويبحث القائد عنهم جميعًا؛
وتسمع لعبة كل عضو النتيجة.
party.SearchEnded += async result =>{ if (result.IsMatched && result.Session != null) await result.Session.StartNetcodeAsync(NetworkManager.Singleton);};if (party.IsLeader) await party.FindMatchAsync("squads");
صنّاع البث واللعب التنافسي. تمرّ كل حزمة عبر وسيط Flock، ولا تعرف أي لعبة عنوان IP لغيرها؛
وتقطع كل حزمة المحطة الإضافية للوسيط.
await session.StartNetcodeAsync(NetworkManager.Singleton, new FlockNetcodeOptions { Relay = FlockRelayUse.Always });
Steam أو Epic Online Services أو شبكتك الخاصة: راجع
الشبكات الأخرى.
تعمل الأمثلة في Game Instance الخاصة بلعبتك، التي تبقى بعد تغييرات المستوى التي يجريها Travel To
Session. وTravelOptions من نوع FFlockTravelToSessionOptions محفوظ هناك، وقيمة HostLevel فيه
هي المستوى الذي يفتحه المضيف.اللعب التعاوني المحلي، واللعب التعاوني مع الأصدقاء. يستضيف لاعب واحد ويشارك رمز الانضمام (بصوت
عالٍ في الغرفة، أو عبر ردهة لعبتك أو قائمة أصدقائها أو محادثتها)، وينضم الآخرون به. يتصل
اللاعبون على شبكة المضيف به مباشرة؛ ومع WhenNeeded الافتراضي، يمرّ الصديق الموجود على شبكة أخرى
عبر وسيط Flock.
زرّا Host وJoin في العيّنة يفعلان هذا بالضبط، في Blueprint.
FFlockMultiplayerProvider* Multiplayer = GetSubsystem<UFlockSubsystem>()->GetMultiplayerProvider();// The host's game.Multiplayer->HostSession(4, FFlockCommandData(), true, [this](TFlockResult<UFlockMultiplayerSession*> Hosted){ if (Hosted.IsSuccess()) { Session = Hosted.Value; ShowJoinCode(Session->GetJoinCode()); Session->TravelToSession(this, TravelOptions, [](TFlockResult<FFlockTravelToSessionResult> Travel) {}); }});// Each other player's game, with the code the host shared.Multiplayer->JoinSession(TypedCode, [this](TFlockResult<UFlockMultiplayerSession*> Joined){ if (Joined.IsSuccess()) { Session = Joined.Value; Session->TravelToSession(this, TravelOptions, [](TFlockResult<FFlockTravelToSessionResult> Travel) { // Travel.Value.bThroughRelay is false for a player on the host's network. }); }});
للعبة تعمل على الشبكة المحلية فقط، اضبط TravelOptions.Relay = EFlockRelayUse::Never في كل لعبة؛
وعندها يحصل اللاعب الموجود في مكان آخر على could_not_connect ما لم يُوجَّه منفذ إلى المضيف.المطابقة عبر الإنترنت.
زر Quick Match في العيّنة يفعل هذا، في Blueprint.
Multiplayer->FindMatch(TEXT("casual-1v1"), FFlockMatchmakingOptions(), [this](TFlockResult<FFlockMatchmakingResult> Found){ if (Found.IsSuccess() && Found.Value.IsMatched() && Found.Value.Session != nullptr) { Session = Found.Value.Session; // the player who waited longest hosts Session->TravelToSession(this, TravelOptions, [](TFlockResult<FFlockTravelToSessionResult> Travel) {}); } else if (Found.IsSuccess()) { ShowMessage(TEXT("No match: ") + Found.Value.Outcome); }});
أصدقاء يُطابَقون معًا. يكوّن الأصدقاء فريقًا ويبحث القائد عنهم جميعًا؛
وتسمع لعبة كل عضو النتيجة.
صنّاع البث واللعب التنافسي. تمرّ كل حزمة عبر وسيط Flock، ولا تعرف أي لعبة عنوان IP لغيرها؛
وتقطع كل حزمة المحطة الإضافية للوسيط. اضبط ذلك في كل لعبة:
TravelOptions.Relay = EFlockRelayUse::Always;
Steam أو Epic Online Services أو شبكتك الخاصة: راجع
الشبكات الأخرى. يحتاج Travel To Session إلى شبكة IP
الخاصة بالمحرّك، فاللعبة التي تستخدم مقابس Steam تنشر اتصال Steam خاصًّا بها.
تحفظ كل مقعد. ترسل نبضة الجلسة كل 20 ثانية ما دامت اللعبة تعمل.
تُبقي كائناتك محدّثة. تقرأ الفريق والبحث والجلسة في الخلفية، وتطلق أحداثًا عند حدوث تغيير:
انضمام لاعب، أو تغيّر القائد أو المضيف، أو انتهاء بحث، أو انتهاء الجلسة.
تجد الجلسة من جديد بعد إعادة تشغيل اللعبة (GetMySessionAsync، أو GetMySession في Unreal)،
والفريق كذلك (GetMyPartyAsync، أو GetMyParty).
تتخلّى عن المقعد عند إغلاق اللعبة، فيرى الآخرون ذلك فورًا.
القراءات في الخلفية (الفريق والبحث والجلسة وانتظار المضيف حتى يعلن مكانه) والنبضات لا تُحتسب
استدعاءات مدفوعة. وتتشارك حدًّا قدره 120 في الدقيقة لكل لاعب، والقيم الافتراضية في حزمة
التطوير تستخدم أقل من 60. أما الأفعال فتُحتسب كالمعتاد: إنشاء فريق أو جلسة أو الانضمام إليهما، وبدء بحث،
والمغادرة، وتحقّق المضيف من كل لاعب ينضم، وتسجيلات الدخول إلى الوسيط، وإخبار اللاعب المارّ عبر الوسيط
المضيفَ بعنوانه على الوسيط (مرة لكل عنوان).
لا مطابقة حسب المهارة أو المنطقة بعد. يحفظ Flock ما يرسله البحث لكنه يطابق بترتيب البحث.
استخدم طابورًا لكل نمط ومنطقة.
لا يستطيع المضيف إخراج لاعب، وبيانات الجلسة تُضبط مرة واحدة عند إنشائها.
نوع واحد من الشبكات لكل محرّك. في Unity، Netcode for GameObjects بالإصدارين 1.x و2.x؛ وفي Unreal، شبكة IP
الخاصة بالمحرّك نفسه، لا مقابس Steam. تستخدم الشبكات الأخرى الاتصال المنشور للجلسة ورمز الانضمام
مباشرة؛ راجع اتصال اللاعبين.
في Unreal، يبقى اللاعبون المارّون عبر الوسيط عليه. لا مسار مباشر في Unreal SDK بعد، فتقطع كل حزمة
من حزمهم المحطة الإضافية للوسيط.
لاعبو المتصفح يستطيعون استخدام الفرق والمطابقة والجلسات، لا الوسيط: فالمتصفح لا يستطيع إرسال
UDP.
هل كانت هذه الصفحة مفيدة؟
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Qwacks","description":"Developer documentation for the Qwacks platform — Flock, Protokite, and Data Duck.","colors":{"primary":"#0099FF","light":"#33ADFF","dark":"#0077CC"},"logo":{"light":"https://mintcdn.com/qwacks/TGGmq_oWzDacAqHl/icons/qwacks.svg?fit=max\u0026auto=format\u0026n=TGGmq_oWzDacAqHl\u0026q=85\u0026s=2023abb340d6ec576975601525ab2ce9","dark":"https://mintcdn.com/qwacks/TGGmq_oWzDacAqHl/icons/qwacks.svg?fit=max\u0026auto=format\u0026n=TGGmq_oWzDacAqHl\u0026q=85\u0026s=2023abb340d6ec576975601525ab2ce9"},"favicon":"https://mintcdn.com/qwacks/TGGmq_oWzDacAqHl/icons/qwacks.svg?fit=max\u0026auto=format\u0026n=TGGmq_oWzDacAqHl\u0026q=85\u0026s=2023abb340d6ec576975601525ab2ce9","appearance":{"default":"dark","strict":true},"background":{"image":{"light":"https://mintcdn.com/qwacks/YCE61raZ52-QoE_F/officalbg.jpg?fit=max\u0026auto=format\u0026n=YCE61raZ52-QoE_F\u0026q=85\u0026s=5be5500ff5788565cf90d6a3e2111d47","dark":"https://mintcdn.com/qwacks/YCE61raZ52-QoE_F/officalbg.jpg?fit=max\u0026auto=format\u0026n=YCE61raZ52-QoE_F\u0026q=85\u0026s=5be5500ff5788565cf90d6a3e2111d47"},"color":{"light":"#FFFFFF","dark":"#181E2E"}},"navbar":{"links":[{"href":"https://www.qwacks.com/pricing","label":"Pricing"},{"href":"https://github.com/QwackStack/FlockUnitySdk/releases","label":"Unity SDK"},{"href":"https://github.com/QwackStack/FlockUnrealSdk/releases","label":"Unreal SDK"}],"primary":{"type":"button","label":"Dashboard","href":"https://flock-saas.qwacks.com"}},"fonts":{"heading":{"family":"Readex Pro"},"body":{"family":"Inter"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"welcome"},{"language":"ar","navbar":{"links":[{"href":"https://www.qwacks.com/pricing","label":"الأسعار"},{"href":"https://github.com/QwackStack/FlockUnitySdk/releases","label":"حزمة Unity"},{"href":"https://github.com/QwackStack/FlockUnrealSdk/releases","label":"حزمة Unreal"}],"primary":{"type":"button","label":"لوحة التحكم","href":"https://flock-saas.qwacks.com"}},"href":"ar/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"qwacks","hasAudioNarration":false,"actualSubdomain":"qwacks","customDomains":["docs.qwacks.com"],"gitSource":{"type":"github","owner":"qwackstack","repo":"qwacksdocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad7565dec8f6cfd63f72435","collectionId":"683d8a2a-c390-4740-a56a-0aa4239bfbdc","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad7565dec8f6cfd63f72435"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ad7565dec8f6cfd63f72435","clientVersion":"0.0.3926","searchFilterCounts":[{"language":"ar","tag":"Flock","count":29},{"language":"en","tag":"Flock","count":29},{"language":"ar","tag":"الميزات","count":15},{"language":"en","tag":"Features","count":15},{"language":"ar","tag":"Qwacks","count":12},{"language":"en","tag":"Qwacks","count":12},{"language":"ar","tag":"بدء الاستخدام","count":9},{"language":"en","tag":"Getting Started","count":9},{"language":"ar","tag":"اللعب الجماعي","count":5},{"language":"ar","tag":"Protokite","count":5},{"language":"ar","tag":"المدفوعات والفوترة","count":5},{"language":"en","tag":"Multiplayer","count":5},{"language":"en","tag":"Protokite","count":5},{"language":"en","tag":"Payments \u0026 Billing","count":5},{"language":"ar","tag":"المفاهيم","count":3},{"language":"ar","tag":"الاستوديوهات والفريق","count":3},{"language":"en","tag":"Concepts","count":3},{"language":"en","tag":"Studios \u0026 Team","count":3},{"language":"ar","tag":"Unity","count":2},{"language":"en","tag":"Unity","count":2}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":".nav-logo{height:2.5rem!important;max-width:none!important}#topbar-cta-button .bg-primary-dark{background-color:#feca13!important}#topbar-cta-button:hover .bg-primary-dark{background-color:#f89c1c!important}#topbar-cta-button a,#topbar-cta-button a *{color:#1a1206!important}.qwacks-lang-toggle{display:inline-flex;align-items:center;align-self:center;gap:.5rem;padding:.25rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:56px;background:0 0;color:#fafafa;font-family:\"Readex Pro\",sans-serif;font-size:.875rem;line-height:1.25rem;white-space:nowrap;margin-inline-start:auto;margin-inline-end:1rem}.qwacks-lang-toggle__option{color:inherit;text-decoration:none;font-weight:400;opacity:.3}.qwacks-lang-toggle__option:hover{opacity:.7}.qwacks-lang-toggle__option.is-active{font-weight:700;opacity:1}@media (min-width:1024px){#localization-select-trigger{display:none!important}}:is(h1, h2, h3, h4){position:relative}:is(h1, h2, h3, h4)>div.absolute{left:auto;right:auto;inset-inline-end:0}:is(h1, h2, h3, h4)>div.absolute>a{margin-inline:0!important}"},{"filePath":"rtl.css","content":"[dir=rtl],html[data-current-path^=\"/ar\"],html[lang=ar]{direction:rtl}@media (min-width:1024px){html[lang=ar] .lg\\:-ml-12{margin-left:0;margin-right:-3rem}html[lang=ar] .lg\\:pl-\\[5\\.7rem\\]{padding-left:.25rem;padding-right:5.7rem}html[lang=ar] .lg\\:pl-\\[23\\.7rem\\]{padding-left:.25rem;padding-right:23.7rem}}[dir=rtl] :is(pre, code, kbd, samp){direction:ltr;text-align:left}[dir=rtl] :not(pre)>code{unicode-bidi:isolate}[dir=rtl] pre>*{direction:ltr}[dir=rtl] .pl-3\\.5{padding-left:0;padding-right:.875rem}[dir=rtl] .pl-3{padding-left:0;padding-right:.75rem}[dir=rtl] .pl-4{padding-left:0;padding-right:1rem}[dir=rtl] .pr-3{padding-right:0;padding-left:.75rem}[dir=rtl] .pr-4{padding-right:0;padding-left:1rem}[dir=rtl] .pr-8{padding-right:0;padding-left:2rem}[dir=rtl] .ml-2{margin-left:0;margin-right:.5rem}[dir=rtl] .ml-4{margin-left:0;margin-right:1rem}[dir=rtl] .-ml-4{margin-left:0;margin-right:-1rem}[dir=rtl] .-ml-10{margin-left:0;margin-right:-2.5rem}[dir=rtl] .mr-2{margin-right:0;margin-left:.5rem}[dir=rtl] .mr-4{margin-right:0;margin-left:1rem}[dir=rtl] .text-left{text-align:right}[dir=rtl] .text-right{text-align:left}[dir=rtl] .left-0{left:auto;right:0}[dir=rtl] .right-0{right:auto;left:0}[dir=rtl] .space-x-2>:not([hidden])~:not([hidden]),[dir=rtl] .space-x-3>:not([hidden])~:not([hidden]),[dir=rtl] .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}[dir=rtl] .border-l{border-left-width:0;border-right-width:1px}[dir=rtl] .border-r{border-right-width:0;border-left-width:1px}@media (min-width:1024px){[dir=rtl] .lg\\:-ml-12{margin-left:0;margin-right:-3rem}}[dir=rtl] :is(ul, ol){padding-left:0;padding-right:1.5rem}[dir=rtl] blockquote{border-left:0;border-right:4px solid currentColor;padding-left:0;padding-right:1rem}[dir=rtl] :is(th, td){text-align:right}[dir=rtl] .steps{margin-left:0;margin-right:.875rem}[dir=rtl] .step>.absolute:not(.w-px){margin-left:0;margin-right:-13px}[dir=rtl] .step>:not(.absolute){padding-left:1px;padding-right:2rem}[dir=rtl] #table-of-contents{padding-inline-start:.75rem;scrollbar-gutter:stable}[dir=rtl] #sidebar-content a[style*=padding-left]{padding-left:0!important;padding-right:1rem!important}[dir=rtl] .card .absolute{right:auto;left:1.25rem}[dir=rtl] #topbar-cta-button svg,[dir=rtl] .card .absolute svg{transform:scaleX(-1)}[dir=rtl] :is(.qwacks-flip-icon, [data-flip-rtl]) svg{transform:scaleX(-1)}[dir=rtl] .qwacks-lang-toggle svg{transform:none}[dir=rtl],[dir=rtl] body{font-family:\"Readex Pro\",system-ui,sans-serif;letter-spacing:normal;line-height:1.85}[dir=rtl] :is(h1, h2, h3, h4, h5, h6){font-family:\"Readex Pro\",system-ui,sans-serif;letter-spacing:normal;line-height:1.5}[dir=rtl] :is(pre, code, kbd, samp){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}[dir=rtl]{font-variant-numeric:lining-nums}"}],"page":{"pagePath":"ar/guides/multiplayer","slug":"/ar/guides/multiplayer","pageMetadata":{"title":"اللعب الجماعي","description":"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.","href":"/ar/guides/multiplayer"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const Scope=({children})=>{const{Info}=_provideComponents()||{};if(!Info)_missingMdxReference(`Info`,true);return _jsxs(Info,{children:[_jsx(`b`,{children:`النطاق:`}),` `,children]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Frame,Heading,OptimizedImage,Tab,Table,Tabs,_MdxComponentBoundary}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`يجمع `,_jsx(_components.strong,{children:`اللعب الجماعي`}),` في Flock اللاعبين ويصل بينهم. يكوّن الأصدقاء `,_jsx(_components.a,{href:`/ar/guides/parties`,children:`فريقًا`}),`،\nثم يجد الفريق أو اللاعب المنفرد `,_jsx(_components.a,{href:`/ar/guides/matchmaking`,children:`مطابقة`}),` أو ينضم إلى لعبة صديق برمز، وكل\nلعبة هي `,_jsx(_components.a,{href:`/ar/guides/sessions`,children:`جلسة`}),`: يستضيفها لاعب واحد، ويشغل الآخرون مقاعد فيها. ثم\n`,_jsx(_components.a,{href:`/ar/guides/connecting-players`,children:`تصل حزمة التطوير بين اللاعبين`}),` عبر شبكة لعبتك: Netcode for GameObjects\nفي Unity، وشبكة المحرّك نفسه في Unreal. يتصل اللاعبون الموجودون على شبكة المضيف به مباشرة، ويمرّ\nالآخرون عبر وسيط Flock، فلا يحتاج أحد إلى فتح منفذ في الموجّه، ثم ينتقلون في Unity إلى مسار مباشر إلى\nالمضيف حين يتمكّن الطرفان من الوصول أحدهما إلى الآخر. وحين يغادر المضيف، يتولّى لاعب آخر الاستضافة.`]}),`\n`,_jsx(_MdxComponentBoundary,{name:`Scope`,children:_jsxs(Scope,{children:[`تُعرَّف طوابير المطابقة وإعدادات اللعب الجماعي لكل `,_jsx(_components.strong,{children:`لعبة`}),`؛ أما الفرق والمقاعد فتخصّ اللاعب.`]})}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`الفرق`,icon:`user-group`,href:`/ar/guides/parties`,children:_jsx(_components.p,{children:`أصدقاء يبقون معًا من لعبة إلى أخرى.`})}),_jsx(Card,{title:`المطابقة`,icon:`users`,href:`/ar/guides/matchmaking`,children:_jsx(_components.p,{children:`املأ لعبة من طابور، منفردًا أو مع فريق.`})}),_jsx(Card,{title:`الجلسات`,icon:`door-open`,href:`/ar/guides/sessions`,children:_jsx(_components.p,{children:`لعبة واحدة: مضيف ولاعبوه ورمز انضمام.`})}),_jsx(Card,{title:`اتصال اللاعبين`,icon:`network-wired`,href:`/ar/guides/connecting-players`,children:_jsx(_components.p,{children:`Netcode for GameObjects أو شبكة Unreal نفسها، والوسيط وتغيّر المضيف.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`setting-up`,children:`الإعداد`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`لوحة التحكم`,id:`%D9%84%D9%88%D8%AD%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85`,children:[_jsxs(_components.p,{children:[`افتح `,_jsx(_components.strong,{children:`اللعب الجماعي ← الجلسات`}),` واضغط `,_jsx(_components.strong,{children:`إعدادات اللعب الجماعي`}),`. القيم الافتراضية تناسب معظم\nالألعاب:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`الإعداد`}),_jsx(_components.th,{children:`الافتراضي`}),_jsx(_components.th,{children:`ما يفعله`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`الحد الأقصى للاعبين في الجلسة`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`8`}),_jsx(_components.td,{children:`عدد المقاعد في جلسة يستضيفها لاعب أو تصنعها مطابقة، من 2 إلى 16.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`مهلة المشارك (ثوانٍ)`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`90`}),_jsx(_components.td,{children:`اللاعب الصامت مدة أطول من هذه يفقد مقعده.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`مهلة المضيف (ثوانٍ)`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`60`}),_jsx(_components.td,{children:`المضيف الصامت مدة أطول من هذه يحلّ محلّه اللاعب الأقدم جلوسًا.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`الحد الأقصى لعمر الجلسة (ثوانٍ)`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`14400`}),_jsx(_components.td,{children:`تنتهي كل جلسة بعد هذه المدة (4 ساعات) مهما كان نشاطها.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`إنشاء جلسة عند تكوّن مطابقة`})}),_jsx(_components.td,{children:`مفعّل`}),_jsx(_components.td,{children:`يحصل اللاعبون المتطابقون على جلسة يلعبون فيها.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`توزيع بيانات اعتماد الوسيط`})}),_jsx(_components.td,{children:`مفعّل`}),_jsx(_components.td,{children:`يتصل اللاعبون على شبكات مختلفة عبر وسيط Flock. وعند إيقافه لا يتصل إلا اللاعبون على شبكة المضيف، أو عبر منفذ مُوجَّه إليه.`})]})]})]}),_jsxs(_components.p,{children:[`ثم أنشئ طابورًا لكل نمط من `,_jsx(_components.strong,{children:`اللعب الجماعي ← نظام المطابقة`}),`؛ راجع\n`,_jsx(_components.a,{href:`/ar/guides/matchmaking`,children:`المطابقة`}),`.`]})]}),_jsxs(Tab,{title:`Unity`,id:`unity`,children:[_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`ثبّت `,_jsx(_components.strong,{children:`Netcode for GameObjects`}),` بالإصدار 1.x أو 2.x من Package Manager. لا يُبنى دعم Flock\nللشبكة إلا عند تثبيته. ويجب أن يستخدم كل لاعبي اللعبة الإصدار الرئيسي نفسه. وقد جرى التحقق من\nاللعب الجماعي على Unity 2021.3 مع Netcode 1.14، وعلى Unity 6000.3 مع Netcode 2.13.`]}),`\n`,_jsxs(_components.li,{children:[`في `,_jsx(_components.strong,{children:`Flock → Settings`}),`، اضبط `,_jsx(_components.strong,{children:`Party Refresh Seconds`}),`: كل كم ثانية تقرأ حزمة التطوير فريق اللاعب\nفي الخلفية (10 افتراضيًا؛ والقيمة 0 توقف ذلك).`]}),`\n`,_jsxs(_components.li,{children:[`استخدم `,_jsx(_components.code,{children:`NetworkManager`}),` واحدًا مع Unity Transport، واترك حجم الرسالة على قيمته الافتراضية.`]}),`\n`,_jsx(_components.li,{children:`سجّل دخول اللاعب قبل أي استدعاء للعب الجماعي، ونفّذ كل استدعاء من الخيط الرئيسي. وتُطلق كل\nأحداث اللعب الجماعي على الخيط الرئيسي.`}),`\n`,_jsxs(_components.li,{children:[`تبدأ السكربتات التي تستخدم اللعب الجماعي بـ `,_jsx(_components.code,{children:`using Flock;`}),` و`,_jsx(_components.code,{children:`using Flock.Providers;`}),` (وأضف\n`,_jsx(_components.code,{children:`using Flock.Exceptions;`}),` لـ `,_jsx(_components.code,{children:`FlockErrorCode`}),`، و`,_jsx(_components.code,{children:`using Unity.Netcode;`}),` لـ `,_jsx(_components.code,{children:`NetworkManager`}),`).\nوالسكربت الموجود في تعريف تجميع خاص به يشير إلى `,_jsx(_components.code,{children:`Flock.Runtime`}),`، وإلى\n`,_jsx(_components.code,{children:`Flock.Multiplayer.Netcode`}),` من أجل `,_jsx(_components.code,{children:`StartNetcodeAsync`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`كل الاستدعاءات على `,_jsx(_components.code,{children:`FlockClient.Instance.Multiplayer`}),`، أو على كائن يعيده.`]}),_jsxs(_components.p,{children:[`يحتوي مجلد `,_jsx(_components.strong,{children:`Samples/Multiplayer`}),` في الحزمة على عيّنتين من شاشة واحدة:\n`,_jsx(_components.strong,{children:`FlockPlayWithFriendsSample`}),` (استضِف واقرأ الرمز بصوت عالٍ، فينضم صديق)،\nو`,_jsx(_components.strong,{children:`FlockQuickMatchSample`}),` (يجد اللاعبون بعضهم في طابور). أضف أيًّا منهما إلى GameObject فارغ\nواضغط Play في نسختين من اللعبة.`]})]}),_jsxs(Tab,{title:`Unreal`,id:`unreal`,children:[_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`استخدم Unreal Engine من 5.4 إلى 5.8، وFlock Unreal SDK بالإصدار 1.35.0 أو أحدث. يعمل اللعب الجماعي\nعلى شبكة المحرّك نفسه، فلا شيء آخر تحتاج إلى تثبيته.`}),`\n`,_jsxs(_components.li,{children:[`في `,_jsx(_components.strong,{children:`Project Settings → Plugins → Flock SDK Settings`}),`، تحت `,_jsx(_components.strong,{children:`Multiplayer`}),`، اضبط `,_jsx(_components.strong,{children:`Party Refresh\nSeconds`}),`: كل كم ثانية تقرأ حزمة التطوير فريق اللاعب في الخلفية (10 افتراضيًا، أي نحو 6 طلبات في\nالدقيقة لكل لاعب؛ والقيمة 0 توقف ذلك).`]}),`\n`,_jsxs(_components.li,{children:[`أعطِ المضيف وضع لعب (game mode) لا يُدخل إلا لاعبي الجلسة: Blueprint مبنيًّا على `,_jsx(_components.strong,{children:`Flock Game Mode\nBase`}),` (أو `,_jsx(_components.strong,{children:`Flock Game Mode`}),`، لحالات المباراة) ومضبوطًا في `,_jsx(_components.strong,{children:`Project Settings → Maps \u0026 Modes`}),`، أو\nوضع لعب خاصًّا بك يستدعي تحقّق Flock في `,_jsx(_components.code,{children:`PreLoginAsync`}),`؛ راجع\n`,_jsx(_components.a,{href:`/ar/guides/connecting-players#who-is-joining`,children:`من ينضم`}),`. والمضيف الذي يفتقده لا يُدخل أحدًا\n(`,_jsx(_components.code,{children:`join_check_missing`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`أبقِ على شبكة IP الخاصة بالمحرّك. مع نظام Steam الفرعي على الإنترنت، اضبط\n`,_jsx(_components.code,{children:`bUseSteamNetworking=False`}),` تحت `,_jsx(_components.code,{children:`[OnlineSubsystemSteam]`}),` في `,_jsx(_components.code,{children:`Config/DefaultEngine.ini`}),`: فمقابس\nSteam لا تستطيع الاستماع على عنوان IP، فينتهي Travel To Session بـ `,_jsx(_components.code,{children:`could_not_start`}),`. ولا يتأثّر\nتسجيل الدخول عبر Steam.`]}),`\n`,_jsx(_components.li,{children:`سجّل دخول اللاعب قبل أي استدعاء للعب الجماعي، ونفّذ كل استدعاء من خيط اللعبة. وتُطلق كل أحداث\nاللعب الجماعي على خيط اللعبة.`}),`\n`,_jsxs(_components.li,{children:[`تُضمّن شيفرة C++ التي تستخدم اللعب الجماعي `,_jsx(_components.code,{children:`FlockSubsystem.h`}),` و`,_jsx(_components.code,{children:`Multiplayer/FlockParty.h`}),` أو\n`,_jsx(_components.code,{children:`Multiplayer/FlockMultiplayerSession.h`}),`، في وحدة تعتمد على `,_jsx(_components.code,{children:`Flock`}),` في ملف `,_jsx(_components.code,{children:`.Build.cs`}),` الخاص بها.`]}),`\n`]}),_jsxs(_components.p,{children:[`كل الاستدعاءات على `,_jsx(_components.code,{children:`UFlockSubsystem::GetMultiplayerProvider()`}),`، أو على كائن يعيده. وفي Blueprint،\nكل استدعاء عقدة تحت `,_jsx(_components.strong,{children:`Flock | Multiplayer`}),`.`]}),_jsxs(_components.p,{children:[`يحتوي مجلد `,_jsx(_components.strong,{children:`Content/Samples/Multiplayer`}),` في الإضافة (فعّل `,_jsx(_components.strong,{children:`Show Plugin Content`}),` في\nContent Browser) على عيّنة مبنية بـ Blueprint فقط، بدءًا من SDK 1.36.0:\nيسجّل `,_jsx(_components.strong,{children:`BP_FlockSampleGameInstance`}),` الدخول باسم جهاز، ويستضيف، وينضم برمز، ويبحث عن مباراة\nسريعة، وينتقل إلى الجلسة وينتقل مجددًا عند تغيّر المضيف؛ و`,_jsx(_components.strong,{children:`FlockMultiplayerSample`}),` هو مستواها،\nويعمل بـ Flock Game Mode Base. اضبط `,_jsx(_components.strong,{children:`Game Instance Class`}),` على `,_jsx(_components.code,{children:`BP_FlockSampleGameInstance`}),`\nفي `,_jsx(_components.strong,{children:`Project Settings → Maps \u0026 Modes`}),`، وافتح المستوى، وشغّله في لعبتين مستقلتين، كل منهما\nمسجّلة الدخول باسم جهاز خاص بها.`]}),_jsx(Frame,{caption:`عيّنة Unreal أثناء اللعب: يعرض سطر الحالة رمز الانضمام الذي يكتبه الصديق لينضم.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=663013f462f2009675ccf7458de8f357`,alt:`بطاقة العيّنة: حقل اسم الجهاز، وزرّا Sign In وHost، وحقل رمز الانضمام وزر Join، وحقل اسم الطابور، وزرّا Quick Match وLeave، وسطر الحالة مع الرمز`,\"data-og-width\":`360`,width:`360`,\"data-og-height\":`385`,height:`385`,\"data-path\":`images/guides/unreal-multiplayer-sample-in-game.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?w=280\u0026fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=0a1091306d0fce6c8965accae06b131f 280w, https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?w=560\u0026fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=367f8e0944c313708a1c467cfd19e368 560w, https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?w=840\u0026fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=39c151d270bfa3cdd4963ad7c316fa49 840w, https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=535cf9720226cfd498f4b447f2bdeb23 1100w, https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=469a4d442f2af7acf06a19be0d0d4fd8 1650w, https://mintcdn.com/qwacks/sKCVX05gMuqzHxSa/images/guides/unreal-multiplayer-sample-in-game.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sKCVX05gMuqzHxSa\u0026q=85\u0026s=4b2e4f98338d4103b87a00a6ac074fee 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`which-setup-fits-your-game`,children:`أي إعداد يناسب لعبتك`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`لعبتك`}),_jsx(_components.th,{children:`يلتقي اللاعبون عبر`}),_jsx(_components.th,{children:`الوسيط`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`اللعب التعاوني المحلي: أجهزة على شبكة واحدة (حفلة LAN، أو شبكة Wi-Fi واحدة)`}),_jsx(_components.td,{children:`رمز انضمام الجلسة`}),_jsx(_components.td,{children:`عند الحاجة فقط (الافتراضي): يتصل اللاعبون على شبكة المضيف به مباشرة. أو أبدًا، فلا وسيط إطلاقًا.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`اللعب التعاوني عبر الإنترنت مع أصدقاء على شبكات أخرى`}),_jsx(_components.td,{children:`رمز انضمام الجلسة`}),_jsx(_components.td,{children:`عند الحاجة فقط`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`المطابقة عبر الإنترنت مع لاعبين لا تعرفهم`}),_jsx(_components.td,{children:`طابور`}),_jsx(_components.td,{children:`عند الحاجة فقط`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`أصدقاء يُطابَقون معًا، ضد آخرين أو معهم`}),_jsx(_components.td,{children:`فريق، ثم طابور`}),_jsx(_components.td,{children:`عند الحاجة فقط`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`صنّاع البث المباشر واللعب التنافسي، حيث لا يجوز أن يرى أحد عنوان IP لغيره`}),_jsx(_components.td,{children:`أيٌّ مما سبق`}),_jsx(_components.td,{children:`دائمًا، في كل لعبة`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Steam أو Epic Online Services أو شبكتك الخاصة`}),_jsx(_components.td,{children:`أيٌّ مما سبق`}),_jsx(_components.td,{children:`لا يُستخدم`})]})]})]}),`\n`,_jsx(_components.p,{children:`لا يحتاج عدة لاعبين على جهاز واحد (شاشة مقسّمة، أو أذرع تحكم مشتركة) إلى أيٍّ من هذا: فتلك لعبة واحدة\nبلاعب Flock واحد، واللعب الجماعي في Flock يصل بين الأجهزة.`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`لوحة التحكم`,id:`%D9%84%D9%88%D8%AD%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-2`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`اللعب التعاوني المحلي:`}),` لا شيء غير إعدادات اللعب الجماعي.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`اللعب التعاوني مع الأصدقاء عبر الإنترنت:`}),` اترك `,_jsx(_components.strong,{children:`توزيع بيانات اعتماد الوسيط`}),` مفعّلًا.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`المطابقة عبر الإنترنت:`}),` طابور لكل نمط من `,_jsx(_components.strong,{children:`اللعب الجماعي ← نظام المطابقة`}),`، بأصغر مطابقة\nوأكبرها.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`أصدقاء يُطابَقون معًا:`}),` طابور تتسع أكبر مطابقة فيه للفريق كله.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`صنّاع البث واللعب التنافسي:`}),` لا شيء آخر؛ فالاختيار يتمّ في اللعبة.`]}),`\n`]})}),_jsxs(Tab,{title:`Unity`,id:`unity-2`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`اللعب التعاوني المحلي، واللعب التعاوني مع الأصدقاء.`}),` يستضيف لاعب واحد ويشارك رمز الانضمام (بصوت\nعالٍ في الغرفة، أو عبر ردهة لعبتك أو قائمة أصدقائها أو محادثتها)، وينضم الآخرون به. يتصل\nاللاعبون على شبكة المضيف به مباشرة؛ ومع `,_jsx(_components.code,{children:`WhenNeeded`}),` الافتراضي، يمرّ الصديق الموجود على شبكة أخرى\nعبر وسيط Flock، ثم ينتقل إلى مسار مباشر حين يتمكّن الطرفان من الوصول أحدهما إلى الآخر. ويلعب الهاتف\nوالحاسوب معًا بالطريقة نفسها. وهذا ما تفعله `,_jsx(_components.strong,{children:`FlockPlayWithFriendsSample`}),` بالضبط.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// The host's game.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FlockMultiplayerSession`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` session`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` FlockClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Instance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Multiplayer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`HostSessionAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`joinCodeLabel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`JoinCode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`StartNetcodeAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`NetworkManager`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Singleton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Each other player's game, with the code the host shared.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FlockMultiplayerSession`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` joined`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` FlockClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Instance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Multiplayer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`JoinSessionAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`typedCode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FlockNetcodeStartResult`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` started`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` joined`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`StartNetcodeAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`NetworkManager`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Singleton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// started.ThroughRelay is false for a player on the host's network.`})}),`\n`]})})}),_jsxs(_components.p,{children:[`للعبة تعمل على الشبكة المحلية فقط، مرّر `,_jsx(_components.code,{children:`new FlockNetcodeOptions { Relay = FlockRelayUse.Never }`}),` في\nكل لعبة؛ وعندها يحصل اللاعب الموجود في مكان آخر على `,_jsx(_components.code,{children:`CouldNotConnect`}),` ما لم يُوجَّه منفذ إلى المضيف.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`المطابقة عبر الإنترنت.`}),` وهذا ما تفعله `,_jsx(_components.strong,{children:`FlockQuickMatchSample`}),`.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FlockMatchmakingResult`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` found`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` FlockClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Instance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Multiplayer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FindMatchAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"casual-1v1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`IsMatched`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`StartNetcodeAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`NetworkManager`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Singleton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// the player who waited longest hosts`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` ShowMessage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"No match: \"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Outcome`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`أصدقاء يُطابَقون معًا.`}),` يكوّن الأصدقاء `,_jsx(_components.a,{href:`/ar/guides/parties`,children:`فريقًا`}),` ويبحث القائد عنهم جميعًا؛\nوتسمع لعبة كل عضو النتيجة.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`party`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SearchEnded`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` async`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` result`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`IsMatched`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`StartNetcodeAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`NetworkManager`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Singleton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`};`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`party`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`IsLeader`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` party`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FindMatchAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"squads\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`صنّاع البث واللعب التنافسي.`}),` تمرّ كل حزمة عبر وسيط Flock، ولا تعرف أي لعبة عنوان IP لغيرها؛\nوتقطع كل حزمة المحطة الإضافية للوسيط.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`StartNetcodeAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`NetworkManager`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Singleton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` FlockNetcodeOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Relay`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` FlockRelayUse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Always`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Steam أو Epic Online Services أو شبكتك الخاصة:`}),` راجع\n`,_jsx(_components.a,{href:`/ar/guides/connecting-players#other-networking`,children:`الشبكات الأخرى`}),`.`]})]}),_jsxs(Tab,{title:`Unreal`,id:`unreal-2`,children:[_jsxs(_components.p,{children:[`تعمل الأمثلة في Game Instance الخاصة بلعبتك، التي تبقى بعد تغييرات المستوى التي يجريها Travel To\nSession. و`,_jsx(_components.code,{children:`TravelOptions`}),` من نوع `,_jsx(_components.code,{children:`FFlockTravelToSessionOptions`}),` محفوظ هناك، وقيمة `,_jsx(_components.code,{children:`HostLevel`}),` فيه\nهي المستوى الذي يفتحه المضيف.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`اللعب التعاوني المحلي، واللعب التعاوني مع الأصدقاء.`}),` يستضيف لاعب واحد ويشارك رمز الانضمام (بصوت\nعالٍ في الغرفة، أو عبر ردهة لعبتك أو قائمة أصدقائها أو محادثتها)، وينضم الآخرون به. يتصل\nاللاعبون على شبكة المضيف به مباشرة؛ ومع `,_jsx(_components.code,{children:`WhenNeeded`}),` الافتراضي، يمرّ الصديق الموجود على شبكة أخرى\nعبر وسيط Flock.\nزرّا `,_jsx(_components.strong,{children:`Host`}),` و`,_jsx(_components.strong,{children:`Join`}),` في العيّنة يفعلان هذا بالضبط، في Blueprint.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`25`,language:`cpp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`cpp`,children:_jsxs(_components.code,{language:`cpp`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`FFlockMultiplayerProvider`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`*`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Multiplayer `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` GetSubsystem`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`UFlockSubsystem`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>()->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetMultiplayerProvider`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// The host's game.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Multiplayer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`HostSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FFlockCommandData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`UFlockMultiplayerSession`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`*`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Hosted`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Hosted`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsSuccess`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Session `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Hosted`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` ShowJoinCode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetJoinCode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`());`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TravelToSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, TravelOptions, [](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FFlockTravelToSessionResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Travel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {});`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Each other player's game, with the code the host shared.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Multiplayer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`JoinSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(TypedCode, [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`UFlockMultiplayerSession`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`*`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Joined`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Joined`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsSuccess`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Session `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Joined`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TravelToSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, TravelOptions, [](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FFlockTravelToSessionResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Travel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Travel.Value.bThroughRelay is false for a player on the host's network.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsxs(_components.p,{children:[`للعبة تعمل على الشبكة المحلية فقط، اضبط `,_jsx(_components.code,{children:`TravelOptions.Relay = EFlockRelayUse::Never`}),` في كل لعبة؛\nوعندها يحصل اللاعب الموجود في مكان آخر على `,_jsx(_components.code,{children:`could_not_connect`}),` ما لم يُوجَّه منفذ إلى المضيف.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`المطابقة عبر الإنترنت.`}),`\nزر `,_jsx(_components.strong,{children:`Quick Match`}),` في العيّنة يفعل هذا، في Blueprint.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`cpp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`cpp`,children:_jsxs(_components.code,{language:`cpp`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Multiplayer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FindMatch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TEXT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"casual-1v1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FFlockMatchmakingOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(), [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FFlockMatchmakingResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsSuccess`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsMatched`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nullptr`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Session `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // the player who waited longest hosts`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TravelToSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, TravelOptions, [](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FFlockTravelToSessionResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Travel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {});`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` else`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsSuccess`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` ShowMessage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TEXT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"No match: \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Found`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Outcome`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`أصدقاء يُطابَقون معًا.`}),` يكوّن الأصدقاء `,_jsx(_components.a,{href:`/ar/guides/parties`,children:`فريقًا`}),` ويبحث القائد عنهم جميعًا؛\nوتسمع لعبة كل عضو النتيجة.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`cpp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`cpp`,children:_jsxs(_components.code,{language:`cpp`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Party`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`OnSearchEnded`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`AddDynamic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u0026`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`UMyGameInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::PlayMatch);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Party`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsLeader`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Party`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FindMatch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TEXT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"squads\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FFlockMatchmakingOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`nullptr`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`void`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` UMyGameInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`PlayMatch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` FFlockMatchmakingResult`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`\u0026`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IsMatched`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nullptr`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Session `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Session`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TravelToSession`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, TravelOptions, [](`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`TFlockResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`FFlockTravelToSessionResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`Travel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {});`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`صنّاع البث واللعب التنافسي.`}),` تمرّ كل حزمة عبر وسيط Flock، ولا تعرف أي لعبة عنوان IP لغيرها؛\nوتقطع كل حزمة المحطة الإضافية للوسيط. اضبط ذلك في كل لعبة:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`cpp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`cpp`,children:_jsxs(_components.code,{language:`cpp`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TravelOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Relay`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` EFlockRelayUse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::Always;`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Steam أو Epic Online Services أو شبكتك الخاصة:`}),` راجع\n`,_jsx(_components.a,{href:`/ar/guides/connecting-players#other-networking`,children:`الشبكات الأخرى`}),`. يحتاج Travel To Session إلى شبكة IP\nالخاصة بالمحرّك، فاللعبة التي تستخدم مقابس Steam تنشر اتصال Steam خاصًّا بها.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-sdk-does-for-you`,children:`ما تتولّاه حزمة التطوير عنك`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`تحفظ كل مقعد.`}),` ترسل نبضة الجلسة كل 20 ثانية ما دامت اللعبة تعمل.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`تُبقي كائناتك محدّثة.`}),` تقرأ الفريق والبحث والجلسة في الخلفية، وتطلق أحداثًا عند حدوث تغيير:\nانضمام لاعب، أو تغيّر القائد أو المضيف، أو انتهاء بحث، أو انتهاء الجلسة.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`تجد الجلسة من جديد`}),` بعد إعادة تشغيل اللعبة (`,_jsx(_components.code,{children:`GetMySessionAsync`}),`، أو `,_jsx(_components.code,{children:`GetMySession`}),` في Unreal)،\nوالفريق كذلك (`,_jsx(_components.code,{children:`GetMyPartyAsync`}),`، أو `,_jsx(_components.code,{children:`GetMyParty`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`تتخلّى عن المقعد عند إغلاق اللعبة`}),`، فيرى الآخرون ذلك فورًا.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-counts-as-an-api-call`,children:`ما الذي يُحتسب استدعاءً للواجهة البرمجية`}),`\n`,_jsxs(_components.p,{children:[`القراءات في الخلفية (الفريق والبحث والجلسة وانتظار المضيف حتى يعلن مكانه) والنبضات `,_jsx(_components.strong,{children:`لا`}),` تُحتسب\nاستدعاءات مدفوعة. وتتشارك حدًّا قدره `,_jsx(_components.strong,{children:`120 في الدقيقة لكل لاعب`}),`، والقيم الافتراضية في حزمة\nالتطوير تستخدم أقل من 60. أما الأفعال فتُحتسب كالمعتاد: إنشاء فريق أو جلسة أو الانضمام إليهما، وبدء بحث،\nوالمغادرة، وتحقّق المضيف من كل لاعب ينضم، وتسجيلات الدخول إلى الوسيط، وإخبار اللاعب المارّ عبر الوسيط\nالمضيفَ بعنوانه على الوسيط (مرة لكل عنوان).`]}),`\n`,_jsx(Heading,{level:`2`,id:`which-games-it-fits`,children:`أي الألعاب يناسبها`}),`\n`,_jsx(_components.p,{children:`المضيف أحد اللاعبين، والجلسة تتسع لـ 16 لاعبًا كحدّ أقصى، والمطابقة بالأسبقية: من يبحث أولًا يُطابَق\nأولًا.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`يناسبها جيدًا`}),_jsx(_components.th,{children:`يناسبها بحذر`}),_jsx(_components.th,{children:`لا يناسبها حاليًا`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`الألعاب التعاونية من 2 إلى 8 لاعبين: استكشاف الأبراج المحصّنة، والبقاء، وصدّ الموجات`}),_jsx(_components.td,{children:`المواجهات الودّية 1 ضد 1 و2 ضد 2، لا التصنيفية`}),_jsx(_components.td,{children:`ألعاب MMO والعوالم الدائمة`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`ألعاب الحفلات والقتال والسباق مع الأصدقاء`}),_jsx(_components.td,{children:`ألعاب التصويب السريعة: للمضيف أفضلية، واللاعب الذي يبقى على الوسيط يلعب عبر محطته الإضافية`}),_jsx(_components.td,{children:`باتل رويال والألعاب من 50 إلى 100 لاعب`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`ألعاب الطاولة والورق والأدوار`}),_jsx(_components.td,{children:`من 9 إلى 16 لاعبًا: يرسل المضيف إلى الجميع، وهذا يُحسب على الهاتف`}),_jsx(_components.td,{children:`اللعب التصنيفي الذي يحتاج خوادم مخصّصة ومطابقة حسب المهارة`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`الهاتف والحاسوب معًا`}),_jsx(_components.td,{children:`العوالم التي يحفظها لاعب: احفظ الحالة خارج المضيف`}),_jsx(_components.td,{children:`ألعاب المتصفح (لا يستطيع المتصفح إرسال UDP)`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`limits-today`,children:`الحدود حاليًا`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`لا خوادم مخصّصة.`}),` يستضيف لاعبٌ كل جلسة.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`لا مطابقة حسب المهارة أو المنطقة بعد.`}),` يحفظ Flock ما يرسله البحث لكنه يطابق بترتيب البحث.\nاستخدم طابورًا لكل نمط ومنطقة.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`لا يستطيع المضيف إخراج لاعب، وبيانات الجلسة تُضبط مرة واحدة`}),` عند إنشائها.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`نوع واحد من الشبكات لكل محرّك.`}),` في Unity، Netcode for GameObjects بالإصدارين 1.x و2.x؛ وفي Unreal، شبكة IP\nالخاصة بالمحرّك نفسه، لا مقابس Steam. تستخدم الشبكات الأخرى الاتصال المنشور للجلسة ورمز الانضمام\nمباشرة؛ راجع `,_jsx(_components.a,{href:`/ar/guides/connecting-players`,children:`اتصال اللاعبين`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`في Unreal، يبقى اللاعبون المارّون عبر الوسيط عليه.`}),` لا مسار مباشر في Unreal SDK بعد، فتقطع كل حزمة\nمن حزمهم المحطة الإضافية للوسيط.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`لاعبو المتصفح`}),` يستطيعون استخدام الفرق والمطابقة والجلسات، لا الوسيط: فالمتصفح لا يستطيع إرسال\nUDP.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{Scope,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"اللعب الجماعي","description":"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.","href":"/ar/guides/multiplayer"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"الإعداد","slug":"setting-up","depth":2,"children":[]},{"title":"أي إعداد يناسب لعبتك","slug":"which-setup-fits-your-game","depth":2,"children":[]},{"title":"ما تتولّاه حزمة التطوير عنك","slug":"what-the-sdk-does-for-you","depth":2,"children":[]},{"title":"ما الذي يُحتسب استدعاءً للواجهة البرمجية","slug":"what-counts-as-an-api-call","depth":2,"children":[]},{"title":"أي الألعاب يناسبها","slug":"which-games-it-fits","depth":2,"children":[]},{"title":"الحدود حاليًا","slug":"limits-today","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/qwacks/05763fd4e1d53e37/lang-toggle.js"],"subdomain":"qwacks","siteName":"Qwacks","title":"اللعب الجماعي - Qwacks","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/guides/multiplayer","matchLevel":1},"ar":{"href":"/ar/guides/multiplayer","matchLevel":0}}},"lastModified":"2026-10-20T11:54:11.015Z","originalFileLocation":"ar/guides/multiplayer.mdx","locale":"ar"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Qwacks\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"اللعب الجماعي - Qwacks\">\u003cmeta data-mint-head property=\"og:description\" content=\"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Qwacks\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.qwacks.com/ar/guides/multiplayer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://qwacks.mintlify.app/_mintlify/api/og/v2?division=%D8%A7%D9%84%D9%84%D8%B9%D8%A8+%D8%A7%D9%84%D8%AC%D9%85%D8%A7%D8%B9%D9%8A\u0026amp;title=%D8%A7%D9%84%D9%84%D8%B9%D8%A8+%D8%A7%D9%84%D8%AC%D9%85%D8%A7%D8%B9%D9%8A\u0026amp;description=%D8%A7%D9%84%D9%81%D8%B1%D9%82+%D9%88%D8%A7%D9%84%D9%85%D8%B7%D8%A7%D8%A8%D9%82%D8%A9+%D9%88%D8%A7%D9%84%D8%AC%D9%84%D8%B3%D8%A7%D8%AA%D8%8C+%D9%88%D8%A7%D8%AA%D8%B5%D8%A7%D9%84+%D8%A7%D9%84%D9%84%D8%A7%D8%B9%D8%A8%D9%8A%D9%86+%D8%B9%D8%A8%D8%B1+%D9%88%D8%B3%D9%8A%D8%B7+Flock.\u0026amp;theme=c8444a292735843f142f05ff\u0026amp;signature=d44ef2e819773198849aa5b614751cbfa777f8eeef9f5542762f61628d30f447\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"اللعب الجماعي - Qwacks\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://qwacks.mintlify.app/_mintlify/api/og/v2?division=%D8%A7%D9%84%D9%84%D8%B9%D8%A8+%D8%A7%D9%84%D8%AC%D9%85%D8%A7%D8%B9%D9%8A\u0026amp;title=%D8%A7%D9%84%D9%84%D8%B9%D8%A8+%D8%A7%D9%84%D8%AC%D9%85%D8%A7%D8%B9%D9%8A\u0026amp;description=%D8%A7%D9%84%D9%81%D8%B1%D9%82+%D9%88%D8%A7%D9%84%D9%85%D8%B7%D8%A7%D8%A8%D9%82%D8%A9+%D9%88%D8%A7%D9%84%D8%AC%D9%84%D8%B3%D8%A7%D8%AA%D8%8C+%D9%88%D8%A7%D8%AA%D8%B5%D8%A7%D9%84+%D8%A7%D9%84%D9%84%D8%A7%D8%B9%D8%A8%D9%8A%D9%86+%D8%B9%D8%A8%D8%B1+%D9%88%D8%B3%D9%8A%D8%B7+Flock.\u0026amp;theme=c8444a292735843f142f05ff\u0026amp;signature=d44ef2e819773198849aa5b614751cbfa777f8eeef9f5542762f61628d30f447\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/qwacks/UqcSWN8cDTjx2Nmd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Qwacks\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0099FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.qwacks.com/ar/guides/multiplayer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ar/guides/multiplayer.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.qwacks.com/ar/guides/multiplayer\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.qwacks.com/guides/multiplayer\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.qwacks.com/guides/multiplayer\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.qwacks.com/#organization\",\"name\":\"Qwacks\",\"url\":\"https://docs.qwacks.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/qwacks/TGGmq_oWzDacAqHl/icons/qwacks.svg?fit=max\u0026auto=format\u0026n=TGGmq_oWzDacAqHl\u0026q=85\u0026s=2023abb340d6ec576975601525ab2ce9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.qwacks.com#website\",\"name\":\"Qwacks\",\"url\":\"https://docs.qwacks.com\",\"publisher\":{\"@id\":\"https://docs.qwacks.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.qwacks.com/ar/guides/multiplayer#webpage\",\"url\":\"https://docs.qwacks.com/ar/guides/multiplayer\",\"name\":\"اللعب الجماعي\",\"description\":\"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.\",\"dateModified\":\"2026-10-20T11:54:11.015Z\",\"isPartOf\":{\"@id\":\"https://docs.qwacks.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.qwacks.com/ar/guides/multiplayer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.qwacks.com/ar/guides/multiplayer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Qwacks\",\"item\":\"https://docs.qwacks.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"اللعب الجماعي\",\"item\":\"https://docs.qwacks.com/ar/guides/multiplayer\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.qwacks.com/ar/guides/multiplayer#article\",\"headline\":\"اللعب الجماعي\",\"name\":\"اللعب الجماعي\",\"description\":\"الفرق والمطابقة والجلسات، واتصال اللاعبين عبر وسيط Flock.\",\"url\":\"https://docs.qwacks.com/ar/guides/multiplayer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.qwacks.com/ar/guides/multiplayer#webpage\"},\"dateModified\":\"2026-10-20T11:54:11.015Z\",\"publisher\":{\"@id\":\"https://docs.qwacks.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.qwacks.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Qwacks\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Qwacks","nav":{"global":null,"languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/guides/multiplayer"}]},{"language":"ar","navbar":{"links":[{"href":"https://www.qwacks.com/pricing","label":"الأسعار"},{"href":"https://github.com/QwackStack/FlockUnitySdk/releases","label":"حزمة Unity"},{"href":"https://github.com/QwackStack/FlockUnrealSdk/releases","label":"حزمة Unreal"}],"primary":{"type":"button","label":"لوحة التحكم","href":"https://flock-saas.qwacks.com"}},"tabs":[{"tab":"Qwacks","icon":"https://mintlify.s3.us-west-1.amazonaws.com/qwacks/icons/qwacks.svg","pages":[{"title":"Qwacks","href":"/ar/welcome"}]},{"tab":"Flock","icon":"https://mintlify.s3.us-west-1.amazonaws.com/qwacks/icons/flock.svg","groups":[{"group":"بدء الاستخدام","pages":[{"title":"Flock","href":"/ar/introduction"},{"title":"البداية السريعة","href":"/ar/quickstart"},{"title":"المصادقة","href":"/ar/authentication"}]},{"group":"المفاهيم","pages":[{"title":"الاستوديوهات والألعاب","href":"/ar/concepts/studios-and-games"},{"title":"الإصدارات","href":"/ar/concepts/versions"},{"title":"اللاعبون","href":"/ar/concepts/players"}]},{"group":"حزم التطوير","pages":[{"title":"حزمة تطوير Unity","href":"/ar/sdk/unity"},{"title":"حزمة تطوير Unreal","href":"/ar/sdk/unreal"}]},{"group":"الميزات","pages":[{"title":"اللاعبون والمصادقة","href":"/ar/guides/players-and-auth"},{"title":"ربط الحسابات","href":"/ar/guides/account-linking"},{"title":"بيانات اللاعب","href":"/ar/guides/player-data"},{"title":"الإنجازات","href":"/ar/guides/achievements"},{"title":"المتاجر والمخزون","href":"/ar/guides/shops-and-inventory"},{"title":"العملات والمحافظ","href":"/ar/guides/currencies-and-wallets"},{"title":"لوحات الصدارة","href":"/ar/guides/leaderboards"},{"title":"الشرائح","href":"/ar/guides/segments"},{"title":"إشعارات اللعبة","href":"/ar/guides/notifications"},{"title":"الحظر","href":"/ar/guides/bans"},{"title":"الإعدادات عن بُعد","href":"/ar/guides/remote-config"},{"title":"تحديثات اللعبة","href":"/ar/guides/game-patches"},{"title":"الأصول","href":"/ar/guides/assets"},{"title":"التحليلات والأحداث","href":"/ar/guides/analytics-and-events"},{"title":"تنبيهات المطوّرين","description":"اعرف بارتفاع الأخطاء في لعبتك — قبل أن يخبرك اللاعبون.","href":"/ar/guides/developer-alerts"}]},{"group":"اللعب الجماعي","pages":[{"title":"اللعب الجماعي","href":"/ar/guides/multiplayer"},{"title":"الفرق","description":"أصدقاء يبقون معًا من لعبة إلى أخرى.","href":"/ar/guides/parties"},{"title":"مطابقة اللاعبين","href":"/ar/guides/matchmaking"},{"title":"الجلسات","href":"/ar/guides/sessions"},{"title":"اتصال اللاعبين","href":"/ar/guides/connecting-players"}]},{"group":"المرجع","pages":[{"title":"سجل التغييرات","href":"/ar/changelog"}]}]},{"tab":"Protokite","icon":"https://mintlify.s3.us-west-1.amazonaws.com/qwacks/icons/protokite.svg","pages":[{"title":"Protokite","href":"/ar/protokite/getting-started"}]},{"tab":"Data Duck","icon":"https://mintlify.s3.us-west-1.amazonaws.com/qwacks/icons/data-duck.svg","pages":[{"title":"Data Duck","href":"/ar/data-duck/getting-started"}]}]}]},"title":"اللعب الجماعي - Qwacks","buildId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","deploymentId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DpBmNN95.js","DynamicMarkdown-BY_qDhTn.js","zoom-image-lightbox-D4WcYaf4.js","PlusIcon-CwhPVjTe.js","lightbox-handle-r17bVUz3.js"]}