PlayDrop logoPlayDrop Studio
สร้างแลกกันเล่นหารายได้เรียนรู้คอนเนกเตอร์แอสเซ็ตชุมชนซัพพอร์ต
PlayDrop logoPlayDrop Studio
สร้างแลกกันเล่นหารายได้เรียนรู้คอนเนกเตอร์แอสเซ็ตชุมชนซัพพอร์ต
เข้าสู่ระบบ
เซิร์ฟเวอร์เกมเรียลไทม์
เอกสาร

เริ่มที่นี่

ภาพรวมเกมแรกของคุณเกม PlayDropFAQ

สร้างด้วย Cloud

การสร้างด้วย Cloudแพ็กเกจและการสร้าง

เชื่อมต่อแอป AI ของคุณ

คอนเนกเตอร์ทั้งหมดClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

เผยแพร่และแชร์

เผยแพร่จากแอป AI ของคุณเกม HTML แบบง่ายการจัดแพ็กเกจและ .playเผยแพร่และนำเข้าไฟล์เกมการมองเห็นและการเข้าถึงผู้เล่นภาพและวิดีโอของหน้าเกมประเภทเกมและแท็กการแปลเกม Instant

ประสบการณ์การเล่น

การโหลด การหยุดชั่วคราว และเสียงเต็มหน้าจอและพื้นที่ปลอดภัยการบันทึกบนคลาวด์ปาร์ตี้ในเครื่องและคอนโทรลเลอร์

เล่นด้วยกัน

การแชร์ เพื่อน และคำเชิญลีดเดอร์บอร์ดความสำเร็จปาร์ตี้ออนไลน์และแชทเสียงเซิร์ฟเวอร์เกมเรียลไทม์

สร้างรายได้

การสร้างรายได้เครดิตและรางวัล

แอสเซ็ต

แอสเซ็ตเกมการสร้างแอสเซ็ตด้วย AIรูปแบบที่กำหนดเองและผลงานผู้เล่น

เอกสารอ้างอิง

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 ส่วนอื่นทั้งหมดต้องรวมไว้ในไฟล์
  • ไม่เกิน 2 ประเภทห้อง 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) การสร้างด้วย AI โดยครีเอเตอร์เป็นผู้จ่าย (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 จะกันที่นั่งไว้ช่วงสั้นๆ และสถานะของห้องควรให้ผู้เล่นที่กลับมาเล่นต่อได้

คู่มือที่เกี่ยวข้อง

  • ปาร์ตี้ออนไลน์และแชทเสียงให้เพื่อนเล่นด้วยกันออนไลน์: ประกาศขนาดปาร์ตี้ เปิดหน้าต่างปาร์ตี้ของ PlayDrop เข้าห้องที่จองไว้ด้วย sdk.multiplayer.join และควบคุมแชทเสียงในห้อง
  • SDK ฝั่งเซิร์ฟเวอร์เอกสารอ้างอิงเซิร์ฟเวอร์เกมที่ PlayDrop โฮสต์ให้: กฎของรันไทม์ PlayDropPlayer ที่ยืนยันแล้ว และ API เซิร์ฟเวอร์ 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