PlayDrop logoPlayDrop Studio
SkapaSpelutbyteTjänaLär digConnectorsAssetsCommunitySupport
PlayDrop logoPlayDrop Studio
SkapaSpelutbyteTjänaLär digConnectorsAssetsCommunitySupport
Logga in
Spelservrar i realtid
Dokumentation

Börja här

ÖversiktDitt första spelPlayDrop-spelFAQ

Skapa med Cloud

Skapa med CloudPlaner och genereringar

Anslut din AI-app

Alla connectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publicera och dela

Publicera från din AI-appEnkla HTML-spelPaketering och .playPublicera och importeraSpelfilerSynlighet och räckviddBilder och video för spelsidanGenrer och taggarLokaliseringInstant-spel

Spelupplevelse

Inläsning, paus och ljudHelskärm och säkra områdenMolnsparningarLokala grupper och handkontroller

Spela tillsammans

Delning, vänner och inbjudningarTopplistorPrestationerOnlinegrupper och röstSpelservrar i realtid

Tjäna

IntäkterKrediter och belöningar

Assets

SpelassetsAI-generering av assetsEgna format och skapelser

Referens

Klient-SDKServer-SDKcatalogue.jsonFel och åtgärderFelsökning
DokumentationSpelservrar i realtid
Spela tillsammans

Spelservrar i realtid på PlayDrop: Colyseus och MongoDB

Kör en hostad Colyseus 0.17-server med en MongoDB-databas för ditt spel, anslut från webbläsaren med SDK:t, testa med två spelare och känn till gränserna.

PlayDrop kan hosta serverdelen av ditt spel: en vanlig Colyseus-server med en egen MongoDB-databas, verifierade spelare och ingen infrastruktur att driva. Använd den för matcher i realtid, turordningsbaserade spel, delade världar och allt som en spelare inte får kunna fuska med. En server är valfri; ditt spel kan också anropa en server som du hostar själv.

Skriv servern

Exportera en rooms-karta från en ES-modul. PlayDrop startar servern; anropa inte listen() och definiera inte onAuth, eftersom PlayDrop verifierar varje spelare före 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) };

Anslut till MongoDB inom rummets livscykel, aldrig på modulnivå: PLAYDROP_MONGO_URL finns bara när servern körs. Skapa index för dina frågor.

Deklarera den

Bunta ihop servern till en fil och peka katalogen mot den:

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

Ladda upp den i ett paket; den enkla HTML-vägen kan inte ha med en server.

Regler för den hostade körmiljön

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), MongoDB-drivrutin 7.5, på Node.js 24.22.1.
  • En fristående ES-modul på högst 2 MiB. Den får bara importera colyseus, @colyseus/core, @colyseus/schema, mongodb och @playdrop/server; bunta ihop allt annat.
  • Upp till 2 rumstyper, 8 spelare per rum, 4 timmar per rum, 30 meddelanden per sekund och spelare och 512 KiB per meddelande.
  • Ingen internetåtkomst: bara MongoDB och PlayDrops tjänster går att nå.
  • Spelare måste vara inloggade.
  • En databas per spel, som behålls mellan versioner och räknas in i skaparens lagring. Skicka aldrig dess adress eller inloggningsuppgifter till en webbläsare.

Anslut från webbläsaren

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

join hanterar PlayDrops gruppplatser och inloggning; se onlinegrupper. För mer kontroll på lägre nivå returnerar sdk.multiplayer.getConnection() { endpoint, token, expiresAt } för den officiella Colyseus-klienten från sdk.libs.colyseus.load().

Server-SDK

@playdrop/server lägger till betrodda plattformsanrop: vänner och spelkort (playdrop.social), verifiering av köp (playdrop.shop), AI-generering som skaparen betalar (playdrop.ai) och rumsröst (playdrop.multiplayer.forRoom). De fungerar bara i uppladdade spel. Se referensen för server-SDK:t.

Testa

Under utvecklingen kör du Colyseus 0.17 och MongoDB lokalt och ansluter din lokala klient till din lokala server. För att testa den hostade servern laddar du upp en privat version och öppnar https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1, och sedan samma länk med player=2 i ett andra fönster. Varje fönster spelar som en separat testspelare som hör till dig. Publicera den testade versionen med publish_game_version när den fungerar.

Planera för frånkopplingar: Colyseus-återanslutningen håller en plats en kort stund, och rummets tillstånd bör låta en återvändande spelare fortsätta.

Relaterade guider

  • Onlinegrupper och röstLåt vänner spela ihop online: deklarera gruppstorlekar, öppna PlayDrops gruppfönster, gå med i reserverade rum med sdk.multiplayer.join och styr rumsröst.
  • Server-SDKReferens för spelservrar som PlayDrop hostar: regler för körmiljön, den verifierade PlayDropPlayer och server-API:erna social, shop, ai och multiplayer.
  • Paketering och .playLägg upp en byggd spelmapp, ZIP eller .play med catalogue.json i roten, deklarera media för spelsidan och servrar och ladda upp med prepare_catalogue_upload.
FöregåendeOnlinegrupper och röstchatt i PlayDrop-spelNästaRecensioner, dricks, köp i spelet och annonser i PlayDrop-spel
Visa Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

På den här sidan

Skriv servernDeklarera denRegler för den hostade körmiljönAnslut från webbläsarenServer-SDKTesta
Visa Markdown