PlayDrop logoPlayDrop Studio
ErstellenSpieltauschVerdienenLernenConnectorsAssetsCommunityHilfe
PlayDrop logoPlayDrop Studio
ErstellenSpieltauschVerdienenLernenConnectorsAssetsCommunityHilfe
Anmelden
Echtzeit-Spielserver
Dokumentation

Hier starten

ÜbersichtDein erstes SpielPlayDrop-SpieleFAQ

Mit Cloud erstellen

Cloud-ErstellungTarife & Generierungen

KI-App verbinden

Alle ConnectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Veröffentlichen und teilen

Aus deiner KI-App veröffentlichenEinfache HTML-SpielePakete und .playVeröffentlichen und importierenSpieldateienSichtbarkeit und ReichweiteBilder und Videos für den SpieleintragGenres und TagsLokalisierungSofortspiele

Spielerlebnis

Laden, Pause und AudioVollbild und sichere BereicheCloud-SpielständeLokale Partys und Controller

Zusammen spielen

Teilen, Freunde und EinladungenBestenlistenErfolgeOnline-Partys und SprachchatEchtzeit-Spielserver

Verdienen

MonetarisierungCredits & Belohnungen

Assets

Spiel-AssetsKI-Asset-GenerierungEigene Formate und Spielerkreationen

Referenz

Client-SDKServer-SDKcatalogue.jsonFehler und WiederherstellungFehlerbehebung
DokumentationEchtzeit-Spielserver
Zusammen spielen

Echtzeit-Spielserver auf PlayDrop: Colyseus und MongoDB

Gehosteter Colyseus-0.17-Server mit MongoDB-Datenbank für dein Spiel: Verbindung per SDK aus dem Browser, Test mit zwei Spielern und die Grenzen.

PlayDrop kann die Serverseite deines Spiels hosten: einen Standard-Colyseus-Server mit eigener MongoDB-Datenbank, verifizierten Spielern und ohne Infrastruktur, die du betreiben musst. Nutze ihn für Echtzeit-Matches, rundenbasierte Spiele, gemeinsame Welten und alles, bei dem Schummeln unmöglich sein muss. Ein Server ist optional; dein Spiel kann auch einen Server aufrufen, den du selbst hostest.

Server schreiben

Exportiere eine rooms-Map aus einem einzigen ES-Modul. PlayDrop startet den Server; rufe nicht listen() auf und definiere kein onAuth, weil PlayDrop jeden Spieler vor onJoin verifiziert.

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) };

Verbinde dich innerhalb des Raum-Lebenszyklus mit MongoDB, nie auf Modulebene: PLAYDROP_MONGO_URL existiert nur zur Laufzeit. Lege Indizes für deine Abfragen an.

Server deklarieren

Bündle den Server in eine Datei und lass den Katalog darauf verweisen:

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

Lade ihn in einem Paket hoch; der einfache HTML-Weg kann keinen Server mitbringen.

Regeln der gehosteten Laufzeitumgebung

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), MongoDB-Treiber 7.5, auf Node.js 24.22.1.
  • Ein eigenständiges ES-Modul von höchstens 2 MiB. Es darf nur colyseus, @colyseus/core, @colyseus/schema, mongodb und @playdrop/server importieren; bündle alles andere mit.
  • Bis zu 2 Raumtypen, 8 Spieler pro Raum, 4 Stunden pro Raum, 30 Nachrichten pro Sekunde und Spieler und 512 KiB pro Nachricht.
  • Kein Internetzugang: Nur MongoDB und PlayDrop-Dienste sind erreichbar.
  • Spieler müssen angemeldet sein.
  • Eine Datenbank pro Spiel, die über Versionen hinweg erhalten bleibt und auf den Speicherplatz des Creators angerechnet wird. Sende ihre Adresse oder Zugangsdaten niemals an einen Browser.

Aus dem Browser verbinden

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

join kümmert sich um die Party-Plätze und die Anmeldung von PlayDrop; siehe Online-Partys. Für mehr Kontrolle auf niedriger Ebene liefert sdk.multiplayer.getConnection() das Objekt { endpoint, token, expiresAt } für den offiziellen Colyseus-Client aus sdk.libs.colyseus.load().

Server-SDK

@playdrop/server ergänzt vertrauenswürdige Plattformaufrufe: Freunde und Spielkarten (playdrop.social), Kaufprüfung (playdrop.shop), KI-Generierung auf Kosten des Creators (playdrop.ai) und Raum-Sprachchat (playdrop.multiplayer.forRoom). Sie funktionieren nur bei hochgeladenen Spielen. Siehe die Referenz zum Server-SDK.

Testen

Führe während der Entwicklung Colyseus 0.17 und MongoDB lokal aus und verbinde deinen lokalen Client mit deinem lokalen Server. Um den gehosteten Server zu testen, lade eine private Version hoch und öffne https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1, dann denselben Link mit player=2 in einem zweiten Fenster. Jedes Fenster spielt als eigener Testspieler von dir. Veröffentliche die getestete Version mit publish_game_version, sobald sie funktioniert.

Plane Verbindungsabbrüche ein: Die Wiederverbindung von Colyseus hält einen Platz für kurze Zeit frei, und der Zustand des Raums sollte es einem zurückkehrenden Spieler erlauben weiterzuspielen.

Verwandte Anleitungen

  • Online-Partys und SprachchatFreunde online zusammen spielen lassen: Partygrößen deklarieren, Party-Fenster öffnen, mit sdk.multiplayer.join reservierte Räume betreten, Sprachchat steuern.
  • Server-SDKReferenz für gehostete Spielserver: Laufzeitregeln, verifizierter PlayDropPlayer, playdrop.social, playdrop.shop, playdrop.ai und playdrop.multiplayer.
  • Pakete und .playBuild-Ordner, ZIP oder .play mit catalogue.json im Stammverzeichnis anlegen, Medien und Server deklarieren und mit prepare_catalogue_upload hochladen.
ZurückOnline-Partys und Sprachchat in PlayDrop-SpielenWeiterBewertungen, Trinkgeld, In-Game-Käufe und Werbung in PlayDrop-Spielen
Markdown anzeigen
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Auf dieser Seite

Server schreibenServer deklarierenRegeln der gehosteten LaufzeitumgebungAus dem Browser verbindenServer-SDKTesten
Markdown anzeigen