PlayDrop logoPlayDrop Studio
إنشاءتبادل اللعباكسبتعلمالموصلاتالأصولالمجتمعالدعم
PlayDrop logoPlayDrop Studio
إنشاءتبادل اللعباكسبتعلمالموصلاتالأصولالمجتمعالدعم
تسجيل الدخول
المجموعات والصوت عبر الإنترنت
التوثيق

ابدأ من هنا

نظرة عامةلعبتك الأولىألعاب PlayDropالأسئلة الشائعة

الإنشاء مع Cloud

الإنشاء مع Cloudالخطط وعمليات الإنشاء

اربط تطبيق الذكاء الاصطناعي

كل الموصّلاتClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

النشر والمشاركة

النشر من تطبيق الذكاء الاصطناعيألعاب HTML البسيطةالتحزيم و.playالنشر والاستيرادملفات اللعبةالظهور والانتشارصور صفحة اللعبة والفيديوالأنواع والوسومالترجمةألعاب Instant

تجربة اللعب

التحميل والإيقاف المؤقت والصوتملء الشاشة والمناطق الآمنةالحفظ السحابيالمجموعات المحلية ووحدات التحكم

العب معًا

المشاركة والأصدقاء والدعواتلوحات المتصدرينالإنجازاتالمجموعات والصوت عبر الإنترنتخوادم الألعاب الفورية

الأرباح

تحقيق الدخلالرصيد والمكافآت

الأصول

أصول اللعبةإنشاء الأصول بالذكاء الاصطناعيالصيغ المخصصة وإبداعات اللاعبين

المراجع

SDK للعميلSDK للخادمcatalogue.jsonالأخطاء والاستعادةحل المشكلات
التوثيقالمجموعات والصوت عبر الإنترنت
العب معًا

المجموعات عبر الإنترنت والدردشة الصوتية في ألعاب PlayDrop

دع الأصدقاء يلعبون معًا عبر الإنترنت: صرّح بأحجام المجموعات، وافتح نافذة المجموعة، وانضم إلى الغرف المحجوزة عبر sdk.multiplayer.join، وتحكم بصوت الغرفة.

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

ما تحتاج إليه

  • خادم لعبة فوري: تلعب المجموعات في غرف Colyseus الخاصة بك.
  • لاعبون مسجّلو الدخول: ترفض الغرف الضيوف.
  • هذه التصريحات في catalogue.json:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

تسرد party.online أحجام المجموعات الدقيقة، حتى 4، التي يمكن أن تصل معًا؛ فالقيمة [2, 4] تستثني 3. وهي حجم المجموعة الواصلة، لا سعة الغرفة: يمكن لمجموعتين من أربعة لاعبين مشاركة غرفة من ثمانية مقاعد. يتطلب party النوع party، ويتطلب party.online النوع online. ويفعّل roomVoice: true صوت الغرفة ويتطلب online.

انضم إلى الغرفة الصحيحة

js
if (!sdk.me.isLoggedIn) {
  await sdk.me.promptLogin();
}
const room = await sdk.multiplayer.join("game", { mode: "versus" });

تستخدم join مقعد المجموعة المحجوز للاعب عندما يكون PlayDrop قد أطلق مجموعة، وإلا فإنها تنضم بشكل مستقل. وإذا فشل انضمام المجموعة فإن الوعد يُرفض؛ ولا تضع اللاعب أبدًا في غرفة مختلفة بصمت. يحصل الضيف على authentication_required ويعرض PlayDrop تسجيل الدخول؛ فانضم مجددًا من sdk.me.onAuthChange. واحتفظ بالغرفة نفسها عبر الجولات.

بعد إعادة التحميل، تستعيد sdk.multiplayer.reconnect(roomName, token) المقعد المحجوز باستخدام رمز إعادة اتصال خزّنته بشكل سري لهذه اللعبة والإصدار والمستخدم. تخلّص من الرمز واستدعِ join عند multiplayer_reconnect_expired أو multiplayer_reconnect_unavailable أو party_reconnect_mismatch.

نافذة المجموعة

من زر في لعبتك، تفتح sdk.social.openParty({ mode: "online" }) نافذة المجموعة في PlayDrop، حيث يدعو اللاعبون أصدقاءهم ويشغّلون الصوت أو يوقفونه. ويُعاد استخدام المجموعة الموجودة. تفتح openParty() قائمة المجموعة، وتفتح openParty({ section: "voice" }) إعدادات الصوت؛ فلا تجمع بين mode وsection. يكتمل الوعد عند إغلاق النافذة، بما في ذلك عند الإلغاء.

اقرأ المجموعة باستخدام sdk.social.getParty() أو sdk.social.onPartyChange(callback)، التي تسلّم الحالة الحالية أولًا: { partyId, leaderUserId, revision, members, launch }. وقيمة launch.status هي joining أو ready عندما تلعب المجموعة هذه اللعبة. والعضوية وحدها لا تعني أن اللاعبين في غرفة واحدة؛ استخدم join.

عضوية المجموعة من اختصاص PlayDrop: لا تستطيع الألعاب إضافة أعضاء إلى المجموعة أو إزالتهم أو التحكم بالميكروفونات، ويدعو اللاعبون أصدقاءهم إلى المجموعة من هذه النافذة. ومع ذلك يمكن للعبة إرسال بطاقة دعوة أو تحدٍّ خاصة بها إلى صديق باستخدام sdk.social.sendMessage؛ راجع المشاركة والأصدقاء والدعوات.

صوت الغرفة

مع roomVoice: true، يستطيع كل من في الغرفة التحدث، دون أي كود على الخادم. ولتغيير من يسمع من، اربط الغرفة على خادمك واضبط سياسة:

js
import { playdrop } from "@playdrop/server";

const platform = playdrop.multiplayer.forRoom(this);
platform.voice.setPolicy("team");
platform.voice.setTeam(client.auth, "red");

السياسات هي all وteam وproximity (مع { range }) وoff. تتجاوز setAudience(player, audience) إعداد لاعب واحد، وتغذي updatePositions([{ player, position: { x, y, z } }]) سياسة القرب؛ ومرّر null لمسح فريق أو تجاوز. يفرض PlayDrop من يمكنه سماع من. وفي المتصفح، لا تضبط sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) إلا مستوى الصوت واتجاهه.

يخضع الصوت لموافقة اللاعب وكتم الصوت والحظر، ويعتمد على نسخة المضيف وطرح الميزة.

الإيقاف المؤقت

لا توقف كبسولة المجموعة اللعب مؤقتًا. يوقف الإيقاف المؤقت في PlayDrop عميلك، لكن الغرفة تبقى متصلة ويواصل خادمك العمل. يجب ألا يوقف إيقاف لاعب واحد المباراة للآخرين؛ ونفّذ أي إيقاف مؤقت للمباراة على الخادم.

الاختبار

ارفع إصدارًا خاصًا، ثم افتح رابط الاختبار في نافذتين مع player=1 وplayer=2، كما هو موضّح في خوادم الألعاب الفورية. والمجموعات المحلية مع وحدات التحكم وضع منفصل: راجع المجموعات المحلية ووحدات التحكم.

أدلة ذات صلة

  • خوادم الألعاب الفوريةشغّل خادم Colyseus 0.17 مستضافًا مع قاعدة بيانات MongoDB للعبتك، واتصل به من المتصفح عبر SDK، واختبره بلاعبَين، واعرف حدوده.
  • المجموعات المحلية ووحدات التحكماقرأ وحدات التحكم الفعلية ووحدات تحكم الهاتف من PlayDrop عبر sdk.device، وتابع خانات اللاعبين المحليين، وصرّح بدعم وحدات التحكم وأحجام المجموعات المحلية.
  • المشاركة والأصدقاء والدعواتشارك لعبة مع صورة أو مقطع، واقرأ بيانات الإطلاق، واختر الأصدقاء، وأرسل بطاقات الدعوة والتحدي في دردشة PlayDrop، واقترح ألعابًا أخرى.
السابقالإنجازات في ألعاب PlayDropالتاليخوادم الألعاب الفورية على PlayDrop: Colyseus وMongoDB
عرض Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

في هذه الصفحة

ما تحتاج إليهانضم إلى الغرفة الصحيحةنافذة المجموعةصوت الغرفةالإيقاف المؤقتالاختبار
عرض Markdown