PlayDrop
تعذّر تحميل PlayDrop

تعذّر تنزيل جزء مطلوب من الصفحة. حاول تحميلها مرة أخرى.

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

ابدأ من هنا

نظرة عامةلعبتك الأولى

الإنشاء مع Cloud

الإنشاء مع Cloudالنشر والاستيرادالخطط وعمليات الإنشاءالرصيد والمكافآت

اربط وكيلك

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

مرجع تقني

ملفات اللعبةcatalogue.jsonSDK للعميلSDK للخادمحل المشكلاتالأسئلة الشائعة
التوثيقSDK للخادم
مرجع تقني

خوادم ألعاب PlayDrop: Colyseus وMongoDB وSDK للخادم

لعب جماعي مستضاف اختياري: ارفع server.js بـ Colyseus مع تخزين MongoDB، وجرّبه بلاعبين تجريبيين، واستخدم SDK للخادم للأصدقاء والذكاء الاصطناعي.

خادم اللعبة اختياري. يمكن للعبتك استدعاء أي خادم تشغّله بنفسك. وإن فضّلت، يستضيف PlayDrop خادم Colyseus قياسيًا مع قاعدة بيانات MongoDB للعبتك: ارفعه باسم server.js بجوار index.html عبر PlayDrop Connector، أو اطلب من PlayDrop Cloud بناءه. والحزمة @playdrop/server اختيارية أيضًا.

اكتب خادم Colyseus قياسيًا

js
import { Room, defineRoom } from "colyseus";
import { MongoClient } from "mongodb";

class GameRoom extends Room {
  async onCreate() {
    this.mongo = new MongoClient(process.env.PLAYDROP_MONGO_URL);
    await this.mongo.connect();
  }
  onJoin(client) {
    // client.auth is the verified PlayDrop player, for example client.auth.userId.
  }
  async onDispose() { await this.mongo?.close(); }
}

export const rooms = { game: defineRoom(GameRoom) };

صدّر خريطة rooms من server.js وأدرج أسماء غرفها في catalogue.json بالشكل "server": { "rooms": ["game"] }. يشغّل PlayDrop الخادم، فلا تبدأ واحدًا بنفسك. خزّن البيانات بمشغّل MongoDB القياسي عبر PLAYDROP_MONGO_URL، داخل دورة حياة الغرفة.

قواعد الخادم المستضاف

  • Colyseus 0.17 (colyseus 0.17.10 و@colyseus/schema 4.0.30)، ومشغّل MongoDB 7.5 وNode 22.
  • وحدة ES واحدة مكتفية بذاتها بحجم يصل إلى 2 MiB. يجوز لها استيراد colyseus و@colyseus/core و@colyseus/schema وmongodb و@playdrop/server فقط؛ وضمّن أي كود آخر داخل الملف.
  • حتى نوعين من الغرف، و8 لاعبين في الغرفة، و4 ساعات لكل غرفة، و30 رسالة في الثانية لكل لاعب، و512 KiB للرسالة.
  • لا وصول إلى الإنترنت من الخادم: لا يمكن الوصول إلا إلى MongoDB وخدمات PlayDrop.
  • يجب أن يكون اللاعبون مسجّلي الدخول. يتحقق PlayDrop من كل لاعب عند انضمامه؛ فلا تنفّذ onAuth.
  • قاعدة بيانات MongoDB واحدة لكل لعبة، تبقى عبر الإصدارات وتُحتسب ضمن حصة التخزين لديك. لا ترسل بيانات اعتمادها إلى المتصفح أبدًا.

اربط المتصفح وجرّب

في المتصفح، تعيد sdk.multiplayer.getConnection() من SDK للعميل عنوان الخادم ورمز اللاعب؛ انضم عبر عميل Colyseus (@colyseus/sdk 0.17). أثناء التطوير، شغّل Colyseus 0.17 وMongoDB 8 محليًا واتصل بخادمك المحلي مباشرة. لتجربة الخادم المستضاف، ارفع إصدارًا خاصًا، ثم افتح https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1 والرابط نفسه بـ player=2 في نافذة ثانية: تلعب كل نافذة بحساب اختبار منفصل. اجعل الإصدار عامًا من صفحة اللعبة عندما يعمل.

SDK للخادم الاختياري: الأصدقاء والذكاء الاصطناعي

تضيف @playdrop/server الأداة playdrop.social (الأصدقاء الذين يلعبون هذه اللعبة وبطاقات الألعاب في دردشة PlayDrop) والأداة playdrop.ai (إنشاء النص والصور والنماذج ثلاثية الأبعاد والفيديو والصوت والكلام والموسيقى بتكلفة يتحملها المبدع). تعمل هذه الاستدعاءات في الألعاب المرفوعة فقط، لا في التطوير المحلي. نزّل الوسائط الخاصة المُنشأة على الخادم بـ playdrop.ai.tasks.downloadFile وأرسل البيانات إلى اللاعب المقصود فقط؛ وتقبل طلبات الكلام 40 كلمة كحد أقصى.

صوت المجموعة والغرفة

تقرأ await playdrop.social.getParty(client.auth) عضوية المجموعة المصرح بها حاليًا. ولا تكشف دردشة المجموعة أو نشاط الألعاب الأخرى، ولا تمنح صلاحية إدارة المجموعة. وتحتفظ واجهات التواصل الاجتماعي الموجودة بسلوكها.

كتالوج يعلن roomVoice: true يبدأ بسياسة كل الغرفة؛ ولا حاجة إلى استدعاء من الخادم لهذا الافتراضي. للتخصيص، اربط const platform = playdrop.multiplayer.forRoom(this) بغرفة Colyseus الفعلية. استخدم platform.voice.setPolicy("all" | "team" | "proximity" | "off", { range: 20 }) وsetTeam(client.auth, teamId) وsetAudience(client.auth, audience) وupdatePositions([{ player: client.auth, position: { x, y, z } }]). مرّر null لمسح تجاوز فريق أو لاعب. يحتاج القرب إلى مواقع موثوقة حديثة.

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

السابقSDK للعميل من PlayDrop لألعاب المتصفحالتاليحل مشكلات الإنشاء والنشر في PlayDrop Cloud
عرض Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

في هذه الصفحة

اكتب خادم Colyseus قياسيًاقواعد الخادم المستضافاربط المتصفح وجرّبSDK للخادم الاختياري: الأصدقاء والذكاء الاصطناعيصوت المجموعة والغرفة
عرض Markdown