PlayDrop logoPlayDrop Studio
OpprettSpillbytteTjenLærConnectorerRessurserFellesskapStøtte
PlayDrop logoPlayDrop Studio
OpprettSpillbytteTjenLærConnectorerRessurserFellesskapStøtte
Logg inn
Sanntidsservere
Dokumentasjon

Start her

OversiktDitt første spillPlayDrop-spillFAQ

Lag med Cloud

Opprettelse med CloudAbonnementer og genereringer

Koble til KI-appen din

Alle connectorerClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publiser og del

Publiser fra KI-appen dinEnkle HTML-spillPakking og .playPubliser og importerSpillfilerSynlighet og rekkeviddeOppføringsbilder og videoSjangre og taggerLokaliseringInstant-spill

Spillopplevelse

Lasting, pause og lydFullskjerm og trygge områderSkylagringLokale grupper og kontrollere

Spill sammen

Deling, venner og invitasjonerTopplisterPrestasjonerNettgrupper og stemmeSanntidsservere

Tjen

InntekterKreditter og belønninger

Ressurser

SpillressurserKI-generering av ressurserEgendefinerte formater og spillerkreasjoner

Referanse

Klient-SDKServer-SDKcatalogue.jsonFeil og gjenopprettingFeilsøking
DokumentasjonSanntidsservere
Spill sammen

Sanntidsservere for spill på PlayDrop: Colyseus og MongoDB

Kjør en hostet Colyseus 0.17-server med en MongoDB-database for spillet ditt, koble til fra nettleseren med SDK-en, test med to spillere og kjenn grensene.

PlayDrop kan hoste serversiden av spillet ditt: en standard Colyseus-server med sin egen MongoDB-database, verifiserte spillere og ingen infrastruktur å drifte. Bruk den til kamper i sanntid, turbaserte spill, delte verdener og alt en spiller ikke skal kunne jukse med. En server er valgfri; spillet ditt kan også kalle en server du hoster selv.

Skriv serveren

Eksporter et rooms-kart fra én ES-modul. PlayDrop starter serveren; ikke kall listen() og ikke definer onAuth, fordi PlayDrop verifiserer hver spiller før 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) };

Koble til MongoDB inne i romlivssyklusen, aldri på modulnivå: PLAYDROP_MONGO_URL finnes bare under kjøring. Lag indekser for spørringene dine.

Deklarer den

Bunt serveren i én fil og la katalogen peke på den:

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

Last den opp i en pakke; den enkle HTML-veien kan ikke ha med en server.

Regler for den hostede kjøretiden

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), MongoDB-driveren 7.5, på Node.js 24.22.1.
  • Én selvstendig ES-modul på høyst 2 MiB. Den kan bare importere colyseus, @colyseus/core, @colyseus/schema, mongodb og @playdrop/server; bunt alt annet inn i filen.
  • Opptil 2 romtyper, 8 spillere per rom, 4 timer per rom, 30 meldinger per sekund per spiller og 512 KiB per melding.
  • Ingen internettilgang: bare MongoDB og PlayDrop-tjenester er tilgjengelige.
  • Spillere må være logget inn.
  • Én database per spill, beholdt på tvers av versjoner og regnet med i skaperens lagringsplass. Send aldri adressen eller påloggingsopplysningene til en nettleser.

Koble til fra nettleseren

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

join håndterer PlayDrops gruppeplasser og innlogging; se nettgrupper. For mer detaljert kontroll returnerer sdk.multiplayer.getConnection() { endpoint, token, expiresAt } for den offisielle Colyseus-klienten fra sdk.libs.colyseus.load().

Server-SDK

@playdrop/server legger til klarerte plattformkall: venner og spillkort (playdrop.social), verifisering av kjøp (playdrop.shop), KI-generering betalt av skaperen (playdrop.ai) og romstemme (playdrop.multiplayer.forRoom). De kjører bare på opplastede spill. Se referansen for server-SDK-en.

Test

Under utvikling kjører du Colyseus 0.17 og MongoDB lokalt og kobler den lokale klienten til den lokale serveren. For å teste den hostede serveren laster du opp en privat versjon og åpner https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1, deretter den samme lenken med player=2 i et nytt vindu. Hvert vindu spiller som en egen testspiller på kontoen din. Publiser den testede versjonen med publish_game_version når den fungerer.

Planlegg for brudd i tilkoblingen: gjenoppkobling i Colyseus holder av en plass en kort stund, og romtilstanden bør la en spiller som kommer tilbake, fortsette.

Relaterte veiledninger

  • Nettgrupper og stemmeLa venner spille sammen på nett: deklarer gruppestørrelser, åpne PlayDrops gruppevindu, bli med i reserverte rom med sdk.multiplayer.join og styr romstemme.
  • Server-SDKReferanse for spillservere hostet av PlayDrop: kjøretidsregler, den verifiserte PlayDropPlayer og server-API-ene social, shop, ai og multiplayer.
  • Pakking og .playOrganiser en ferdigbygd spillmappe, ZIP eller .play med catalogue.json i roten, deklarer oppføringsmedier og servere, og last opp med prepare_catalogue_upload.
ForrigeNettgrupper og stemmechat i PlayDrop-spillNesteAnmeldelser, driks, kjøp i spillet og annonser i PlayDrop-spill
Vis Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

På denne siden

Skriv serverenDeklarer denRegler for den hostede kjøretidenKoble til fra nettleserenServer-SDKTest
Vis Markdown