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

ابدأ من هنا

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

الإنشاء مع Cloud

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

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

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

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

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

تجربة اللعب

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

العب معًا

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

الأرباح

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

الأصول

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

المراجع

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

خوادم الألعاب الفورية على PlayDrop: Colyseus وMongoDB

شغّل خادم Colyseus 0.17 مستضافًا مع قاعدة بيانات MongoDB للعبتك، واتصل به من المتصفح عبر SDK، واختبره بلاعبَين، واعرف حدوده.

يستطيع PlayDrop استضافة جانب الخادم من لعبتك: خادم Colyseus قياسي بقاعدة بيانات MongoDB خاصة به، ولاعبون موثّقون، ودون بنية تحتية تشغّلها بنفسك. استخدمه للمباريات الفورية والألعاب بالأدوار والعوالم المشتركة وكل ما يجب ألا يتمكن اللاعب من الغش فيه. الخادم اختياري؛ ويمكن للعبتك أيضًا استدعاء خادم تستضيفه بنفسك.

اكتب الخادم

صدّر خريطة rooms من وحدة ES واحدة. يبدأ PlayDrop الخادم؛ فلا تستدعِ listen() ولا تعرّف onAuth، لأن PlayDrop يتحقق من كل لاعب قبل onJoin.

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

class GameRoom extends Room {
  maxClients = 8;
  async onCreate() {
    this.mongo = new MongoClient(process.env.PLAYDROP_MONGO_URL);
    await this.mongo.connect();
    this.onMessage("move", (client, move) => this.applyMove(client.auth.userId, move));
  }
  onJoin(client) {
    // client.auth is the verified PlayDrop player: userId, username, appRole, isTestPlayer…
  }
  async onDispose() { await this.mongo?.close(); }
}

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

اتصل بـ MongoDB داخل دورة حياة الغرفة، ولا تتصل أبدًا على مستوى الوحدة: لا يوجد PLAYDROP_MONGO_URL إلا وقت التشغيل. وأنشئ فهارس لاستعلاماتك.

صرّح به

اجمع الخادم في ملف واحد ووجّه الكتالوج إليه:

json
{ "server": { "entry": "server/index.mjs", "rooms": ["game"] } }

ارفعه في حزمة؛ فمسار HTML البسيط لا يمكنه حمل خادم.

قواعد بيئة التشغيل المستضافة

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

اتصل من المتصفح

js
const sdk = await playdrop.init();
const room = await sdk.multiplayer.join("game");
room.onStateChange((state) => render(state));
room.send("move", { x: 1 });

تتولى join مقاعد المجموعة في PlayDrop وتسجيل الدخول؛ راجع المجموعات عبر الإنترنت. ولتحكم أدق، تعيد sdk.multiplayer.getConnection() القيمة { endpoint, token, expiresAt } لاستخدامها مع عميل Colyseus الرسمي من sdk.libs.colyseus.load().

SDK للخادم

تضيف @playdrop/server استدعاءات موثوقة للمنصة: الأصدقاء وبطاقات الألعاب (playdrop.social)، والتحقق من المشتريات (playdrop.shop)، والإنشاء بالذكاء الاصطناعي على حساب المبدع (playdrop.ai)، وصوت الغرفة (playdrop.multiplayer.forRoom). وتعمل في الألعاب المرفوعة فقط. راجع مرجع SDK للخادم.

الاختبار

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

صمّم اللعبة لتتحمل انقطاع الاتصال: تحتفظ إعادة الاتصال في Colyseus بالمقعد لوقت قصير، ويجب أن تتيح حالة الغرفة للاعب العائد أن يتابع.

أدلة ذات صلة

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

في هذه الصفحة

اكتب الخادمصرّح بهقواعد بيئة التشغيل المستضافةاتصل من المتصفحSDK للخادمالاختبار
عرض Markdown