PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
Masuk
Server game realtime
Dokumentasi

Mulai di sini

RingkasanGame pertamamuGame PlayDropFAQ

Buat dengan Cloud

Pembuatan CloudPaket & generasi

Hubungkan aplikasi AI Anda

Semua konektorClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Terbitkan dan bagikan

Terbitkan dari aplikasi AI AndaGame HTML sederhanaPengemasan dan .playTerbitkan dan imporBerkas gameVisibilitas dan jangkauanGambar dan video listinganGenre dan tagLokalisasiGame Instan

Pengalaman bermain

Pemuatan, jeda, dan audioLayar penuh dan area amanSimpanan cloudGrup lokal dan pengontrol

Bermain bersama

Berbagi, teman, dan undanganPapan peringkatPencapaianGrup online dan suaraServer game realtime

Penghasilan

MonetisasiKredit & hadiah

Aset

Aset gamePembuatan aset AIFormat kustom dan kreasi pemain

Referensi

SDK klienSDK servercatalogue.jsonKesalahan dan pemulihanPemecahan masalah
DokumentasiServer game realtime
Bermain bersama

Server game realtime di PlayDrop: Colyseus dan MongoDB

Jalankan server Colyseus 0.17 yang di-hosting dengan MongoDB untuk game Anda, hubungkan dari browser lewat SDK, uji dengan dua pemain, dan pahami batasnya.

PlayDrop bisa meng-hosting sisi server game Anda: server Colyseus standar dengan database MongoDB sendiri, pemain yang terverifikasi, dan tanpa infrastruktur yang perlu Anda jalankan. Gunakan untuk pertandingan realtime, game berbasis giliran, dunia bersama, dan apa pun yang tidak boleh bisa dicurangi pemain. Server bersifat opsional; game Anda juga bisa memanggil server yang Anda hosting sendiri.

Tulis servernya

Ekspor map rooms dari satu modul ES. PlayDrop yang memulai server; jangan memanggil listen() atau mendefinisikan onAuth, karena PlayDrop memverifikasi setiap pemain sebelum 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) };

Hubungkan ke MongoDB di dalam siklus hidup room, jangan pernah di level modul: PLAYDROP_MONGO_URL hanya ada saat server berjalan. Buat indeks untuk kueri Anda.

Deklarasikan

Bundel server ke dalam satu berkas dan arahkan katalog ke berkas itu:

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

Unggah dalam paket; jalur HTML sederhana tidak bisa membawa server.

Aturan runtime yang di-hosting

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), driver MongoDB 7.5, di Node.js 24.22.1.
  • Satu modul ES mandiri berukuran maksimal 2 MiB. Modul hanya boleh mengimpor colyseus, @colyseus/core, @colyseus/schema, mongodb, dan @playdrop/server; bundel semua yang lain.
  • Maksimal 2 jenis room, 8 pemain per room, 4 jam per room, 30 pesan per detik per pemain, dan 512 KiB per pesan.
  • Tanpa akses internet: hanya MongoDB dan layanan PlayDrop yang bisa dijangkau.
  • Pemain harus masuk.
  • Satu database per game, dipertahankan di semua versi dan dihitung dalam penyimpanan kreator. Jangan pernah mengirim alamat atau kredensialnya ke browser.

Hubungkan dari browser

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

join menangani kursi grup dan login PlayDrop; lihat grup online. Untuk kendali tingkat rendah, sdk.multiplayer.getConnection() mengembalikan { endpoint, token, expiresAt } untuk klien Colyseus resmi dari sdk.libs.colyseus.load().

SDK server

@playdrop/server menambahkan panggilan platform tepercaya: teman dan kartu game (playdrop.social), verifikasi pembelian (playdrop.shop), pembuatan AI yang dibayar kreator (playdrop.ai), dan suara ruang (playdrop.multiplayer.forRoom). Panggilan ini hanya berjalan di game yang sudah diunggah. Lihat referensi SDK server.

Uji

Selama pengembangan, jalankan Colyseus 0.17 dan MongoDB secara lokal, lalu hubungkan klien lokal ke server lokal Anda. Untuk menguji server yang di-hosting, unggah versi privat dan buka https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1, lalu tautan yang sama dengan player=2 di jendela kedua. Setiap jendela bermain sebagai pemain uji Anda yang berbeda. Terbitkan versi yang sudah diuji dengan publish_game_version setelah berfungsi.

Rancang untuk koneksi yang terputus: fitur sambung ulang Colyseus menyimpan kursi untuk waktu singkat, dan status room harus memungkinkan pemain yang kembali untuk melanjutkan.

Panduan terkait

  • Grup online dan suaraAjak teman bermain online bersama: deklarasikan ukuran grup, buka jendela grup PlayDrop, gabung ke room lewat sdk.multiplayer.join, dan atur suara ruang.
  • SDK serverReferensi server game yang di-hosting PlayDrop: aturan runtime, PlayDropPlayer terverifikasi, playdrop.social, playdrop.shop, playdrop.ai, playdrop.multiplayer.
  • Pengemasan dan .playSusun folder hasil build, ZIP, atau .play dengan catalogue.json di root, deklarasikan media listingan dan server, lalu unggah dengan prepare_catalogue_upload.
SebelumnyaGrup online dan chat suara di game PlayDropBerikutnyaUlasan, tip, pembelian dalam game, dan iklan di game PlayDrop
Lihat Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Di halaman ini

Tulis servernyaDeklarasikanAturan runtime yang di-hostingHubungkan dari browserSDK serverUji
Lihat Markdown