PlayDrop logoPlayDrop Studio
CréerÉchange de partiesGagnerApprendreConnecteursRessourcesCommunautéAide
PlayDrop logoPlayDrop Studio
CréerÉchange de partiesGagnerApprendreConnecteursRessourcesCommunautéAide
Se connecter
Serveurs de jeu temps réel
Documentation

Commencez ici

Vue d’ensembleVotre premier jeuJeux PlayDropFAQ

Créer avec Cloud

Création CloudOffres et générations

Connecter votre app d’IA

Tous les connecteursClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publier et partager

Publier depuis votre app d’IAJeux HTML simplesPaquets et .playPublication et importFichiers de jeuVisibilité et audienceIllustrations et vidéos de la ficheGenres et tagsLocalisationJeux instantanés

Expérience de jeu

Chargement, pause et audioPlein écran et zones sûresSauvegardes cloudGroupes locaux et manettes

Jouer ensemble

Partage, amis et invitationsClassementsSuccèsGroupes en ligne et voixServeurs de jeu temps réel

Gains

MonétisationCrédits et récompenses

Ressources

Ressources de jeuGénération de ressources par IAFormats personnalisés et créations

Référence

SDK clientSDK serveurcatalogue.jsonErreurs et repriseDépannage
DocumentationServeurs de jeu temps réel
Jouer ensemble

Serveurs de jeu temps réel sur PlayDrop : Colyseus et MongoDB

Faites héberger un serveur Colyseus 0.17 avec base MongoDB pour votre jeu, connectez le navigateur avec le SDK, testez à deux joueurs et connaissez les limites.

PlayDrop peut héberger la partie serveur de votre jeu : un serveur Colyseus standard avec sa propre base de données MongoDB, des joueurs vérifiés et aucune infrastructure à gérer. Utilisez-le pour les matchs en temps réel, les jeux au tour par tour, les mondes partagés et tout ce sur quoi un joueur ne doit pas pouvoir tricher. Un serveur est facultatif ; votre jeu peut aussi appeler un serveur que vous hébergez vous-même.

Écrivez le serveur

Exportez un mappage rooms depuis un seul module ES. PlayDrop démarre le serveur : n’appelez pas listen() et ne définissez pas onAuth, car PlayDrop vérifie chaque joueur avant 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) };

Connectez-vous à MongoDB pendant le cycle de vie de la salle, jamais au niveau du module : PLAYDROP_MONGO_URL n’existe qu’à l’exécution. Créez des index pour vos requêtes.

Déclarez-le

Regroupez le serveur dans un seul fichier et indiquez-le dans le catalogue :

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

Envoyez-le dans un paquet ; la voie HTML simple ne peut pas inclure de serveur.

Règles de l’environnement hébergé

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), pilote MongoDB 7.5, sur Node.js 24.22.1.
  • Un seul module ES autonome de 2 MiB maximum. Il ne peut importer que colyseus, @colyseus/core, @colyseus/schema, mongodb et @playdrop/server ; intégrez tout le reste dans le fichier.
  • Jusqu’à 2 types de salles, 8 joueurs par salle, 4 heures par salle, 30 messages par seconde par joueur et 512 KiB par message.
  • Aucun accès à Internet : seuls MongoDB et les services PlayDrop sont accessibles.
  • Les joueurs doivent être connectés.
  • Une base de données par jeu, conservée d’une version à l’autre et comptabilisée dans le stockage du créateur. N’envoyez jamais son adresse ni ses identifiants à un navigateur.

Connectez le navigateur

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

join gère les places des groupes PlayDrop et la connexion des joueurs ; consultez groupes en ligne. Pour un contrôle de plus bas niveau, sdk.multiplayer.getConnection() renvoie { endpoint, token, expiresAt } pour le client Colyseus officiel issu de sdk.libs.colyseus.load().

SDK serveur

@playdrop/server ajoute des appels de confiance à la plateforme : amis et cartes de jeu (playdrop.social), vérification des achats (playdrop.shop), génération par IA payée par le créateur (playdrop.ai) et voix de salle (playdrop.multiplayer.forRoom). Ils ne fonctionnent que dans les jeux envoyés sur PlayDrop. Consultez la référence du SDK serveur.

Tester

Pendant le développement, exécutez Colyseus 0.17 et MongoDB en local et connectez votre client local à votre serveur local. Pour tester le serveur hébergé, envoyez une version privée et ouvrez https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1, puis le même lien avec player=2 dans une seconde fenêtre. Chaque fenêtre joue avec un joueur de test distinct qui vous appartient. Publiez la version testée avec publish_game_version quand tout fonctionne.

Prévoyez les déconnexions : la reconnexion de Colyseus garde une place pendant un court moment, et l’état de la salle doit permettre à un joueur qui revient de continuer.

Guides associés

  • Groupes en ligne et voixFaites jouer des amis ensemble en ligne : tailles de groupe, fenêtre de groupe PlayDrop, salles réservées avec sdk.multiplayer.join et voix de salle.
  • SDK serveurServeurs de jeu hébergés par PlayDrop : règles d’exécution, PlayDropPlayer vérifié, playdrop.social, playdrop.shop, playdrop.ai et playdrop.multiplayer.
  • Paquets et .playOrganisez un dossier, ZIP ou .play compilé avec catalogue.json à la racine, déclarez médias de fiche et serveurs, puis envoyez avec prepare_catalogue_upload.
PrécédentGroupes en ligne et chat vocal dans les jeux PlayDropSuivantAvis, pourboires, achats intégrés et publicités dans les jeux PlayDrop
Voir le Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Sur cette page

Écrivez le serveurDéclarez-leRègles de l’environnement hébergéConnectez le navigateurSDK serveurTester
Voir le Markdown