PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
Accedi
Server in tempo reale
Documentazione

Inizia da qui

PanoramicaIl tuo primo giocoGiochi PlayDropFAQ

Crea con Cloud

Creazione con CloudPiani e generazioni

Collega la tua app di IA

Tutti i connettoriClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Pubblica e condividi

Pubblica dalla tua app di IAGiochi in HTML semplicePacchetti e .playPubblica e importaFile di giocoVisibilità e pubblicoImmagini e video della schedaGeneri e tagLocalizzazioneGiochi Instant

Esperienza di gioco

Caricamento, pausa e audioSchermo intero e aree sicureSalvataggi cloudGruppi locali e controller

Gioca insieme

Condivisione, amici e invitiClassificheObiettiviGruppi online e voceServer in tempo reale

Guadagna

MonetizzazioneCrediti e ricompense

Asset

Asset di giocoAsset con l’IAFormati e creazioni

Riferimento

SDK clientSDK servercatalogue.jsonErrori e recuperoRisoluzione dei problemi
DocumentazioneServer in tempo reale
Gioca insieme

Server di gioco in tempo reale su PlayDrop: Colyseus e MongoDB

Esegui un server Colyseus 0.17 ospitato con un database MongoDB, collegati dal browser con l’SDK, prova con due giocatori e conosci i limiti.

PlayDrop può ospitare la parte server del tuo gioco: un server Colyseus standard con un proprio database MongoDB, giocatori verificati e nessuna infrastruttura da gestire. Usalo per partite in tempo reale, giochi a turni, mondi condivisi e tutto ciò su cui un giocatore non deve poter barare. Un server è facoltativo; il tuo gioco può anche chiamare un server che ospiti tu.

Scrivi il server

Esporta una mappa rooms da un unico modulo ES. PlayDrop avvia il server; non chiamare listen() e non definire onAuth, perché PlayDrop verifica ogni giocatore prima di 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) };

Collegati a MongoDB all’interno del ciclo di vita della stanza, mai a livello di modulo: PLAYDROP_MONGO_URL esiste solo durante l’esecuzione. Crea gli indici per le tue query.

Dichiaralo

Crea un bundle del server in un unico file e fai puntare il catalogo a quel file:

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

Caricalo in un pacchetto; il percorso in HTML semplice non può includere un server.

Regole dell’ambiente ospitato

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), driver MongoDB 7.5, su Node.js 24.22.1.
  • Un unico modulo ES autonomo di al massimo 2 MiB. Può importare solo colyseus, @colyseus/core, @colyseus/schema, mongodb e @playdrop/server; includi nel bundle tutto il resto.
  • Fino a 2 tipi di stanza, 8 giocatori per stanza, 4 ore per stanza, 30 messaggi al secondo per giocatore e 512 KiB per messaggio.
  • Nessun accesso a internet: sono raggiungibili solo MongoDB e i servizi di PlayDrop.
  • I giocatori devono aver effettuato l’accesso.
  • Un database per gioco, mantenuto tra le versioni e conteggiato nello spazio del creator. Non inviare mai il suo indirizzo o le sue credenziali a un browser.

Collegati dal 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 gestisce i posti del gruppo di PlayDrop e l’accesso; vedi gruppi online. Per un controllo di livello più basso, sdk.multiplayer.getConnection() restituisce { endpoint, token, expiresAt } per il client Colyseus ufficiale di sdk.libs.colyseus.load().

SDK server

@playdrop/server aggiunge chiamate affidabili alla piattaforma: amici e carte di gioco (playdrop.social), verifica degli acquisti (playdrop.shop), generazione con l’IA pagata dal creator (playdrop.ai) e voce della stanza (playdrop.multiplayer.forRoom). Funzionano solo sui giochi caricati. Vedi il riferimento dell’SDK server.

Prova

Durante lo sviluppo, esegui Colyseus 0.17 e MongoDB in locale e collega il tuo client locale al tuo server locale. Per provare il server ospitato, carica una versione privata e apri https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1, poi lo stesso link con player=2 in una seconda finestra. Ogni finestra gioca come un tuo giocatore di prova separato. Quando funziona, pubblica la versione testata con publish_game_version.

Prevedi le disconnessioni: la riconnessione di Colyseus tiene un posto per poco tempo, e lo stato della stanza dovrebbe permettere a un giocatore che rientra di continuare.

Guide correlate

  • Gruppi online e voceFai giocare gli amici insieme online: dimensioni dei gruppi, finestra del gruppo di PlayDrop, stanze riservate con sdk.multiplayer.join e voce della stanza.
  • SDK serverRiferimento per i server di gioco ospitati da PlayDrop: regole di esecuzione, il PlayDropPlayer verificato e playdrop.social, shop, ai e multiplayer.
  • Pacchetti e .playOrganizza una cartella compilata, uno ZIP o un .play con catalogue.json nella radice, dichiara scheda e server e caricalo con prepare_catalogue_upload.
PrecedenteGruppi online e chat vocale nei giochi PlayDropSuccessivoRecensioni, mance, acquisti nel gioco e annunci nei giochi PlayDrop
Vedi il Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

In questa pagina

Scrivi il serverDichiaraloRegole dell’ambiente ospitatoCollegati dal browserSDK serverProva
Vedi il Markdown