PlayDrop logoPlayDrop Studio
LuoPelivaihtoAnsaitseOpiConnectoritResurssitYhteisöTuki
PlayDrop logoPlayDrop Studio
LuoPelivaihtoAnsaitseOpiConnectoritResurssitYhteisöTuki
Kirjaudu sisään
Reaaliaikaiset pelipalvelimet
Dokumentaatio

Aloita tästä

YleiskatsausEnsimmäinen pelisiPlayDrop-pelitUKK

Luo Cloudilla

Luonti CloudillaTilaukset ja luontikerrat

Yhdistä tekoälysovellus

Kaikki connectoritClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Julkaise ja jaa

Julkaise tekoälysovelluksestaYksinkertaiset HTML-pelitPaketointi ja .playJulkaise ja tuoPelitiedostotNäkyvyys ja tavoittavuusPelisivun kuvat ja videoLajityypit ja tagitLokalisointiInstant-pelit

Pelikokemus

Lataus, tauko ja ääniKoko näyttö ja turva-alueetPilvitallennuksetPaikalliset ryhmät ja ohjaimet

Pelaa yhdessä

Jakaminen, ystävät ja kutsutTulostaulutSaavutuksetVerkkoryhmät ja puheReaaliaikaiset pelipalvelimet

Ansaitse

AnsaitseminenKrediitit ja palkinnot

Resurssit

Pelin resurssitTekoälyresurssitMukautetut muodot ja luomukset

Viitteet

Client SDKServer SDKcatalogue.jsonVirheet ja palautuminenVianmääritys
DokumentaatioReaaliaikaiset pelipalvelimet
Pelaa yhdessä

Reaaliaikaiset pelipalvelimet PlayDropissa: Colyseus ja MongoDB

Aja pelillesi isännöityä Colyseus 0.17 -palvelinta MongoDB-tietokannalla, yhdistä selaimesta SDK:lla, testaa kahdella pelaajalla ja tunne rajat.

PlayDrop voi isännöidä pelisi palvelinpuolen: tavallisen Colyseus-palvelimen omalla MongoDB-tietokannallaan, varmennetut pelaajat eikä ylläpidettävää infrastruktuuria. Käytä sitä reaaliaikaisiin otteluihin, vuoropohjaisiin peleihin, jaettuihin maailmoihin ja kaikkeen, missä pelaaja ei saa pystyä huijaamaan. Palvelin on valinnainen; pelisi voi myös kutsua itse isännöimääsi palvelinta.

Kirjoita palvelin

Vie rooms-olio yhdestä ES-moduulista. PlayDrop käynnistää palvelimen; älä kutsu listen() äläkä määrittele onAuth, koska PlayDrop varmentaa jokaisen pelaajan ennen onJoin-kutsua.

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

Yhdistä MongoDB:hen huoneen elinkaaren sisällä, ei koskaan moduulin tasolla: PLAYDROP_MONGO_URL on olemassa vain ajon aikana. Luo indeksit kyselyillesi.

Ilmoita se

Paketoi palvelin yhdeksi tiedostoksi ja osoita katalogi siihen:

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

Lataa se paketissa; yksinkertainen HTML-tapa ei voi sisältää palvelinta.

Isännöidyn ajoympäristön säännöt

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), MongoDB-ajuri 7.5, Node.js 24.22.1.
  • Yksi itsenäinen ES-moduuli, enintään 2 MiB. Se voi tuoda vain paketit colyseus, @colyseus/core, @colyseus/schema, mongodb ja @playdrop/server; paketoi kaikki muu mukaan.
  • Enintään 2 huonetyyppiä, 8 pelaajaa huonetta kohden, 4 tuntia huonetta kohden, 30 viestiä sekunnissa pelaajaa kohden ja 512 KiB viestiä kohden.
  • Ei internetyhteyttä: vain MongoDB ja PlayDropin palvelut ovat tavoitettavissa.
  • Pelaajien on oltava kirjautuneita.
  • Yksi tietokanta peliä kohden, säilyy versiosta toiseen ja lasketaan tekijän tallennustilaan. Älä koskaan lähetä sen osoitetta tai tunnistetietoja selaimeen.

Yhdistä selaimesta

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

join hoitaa PlayDropin ryhmäpaikat ja kirjautumisen; katso verkkoryhmät. Matalamman tason hallintaa varten sdk.multiplayer.getConnection() palauttaa { endpoint, token, expiresAt } virallista Colyseus-asiakasohjelmaa varten, jonka saat kutsulla sdk.libs.colyseus.load().

Server SDK

@playdrop/server lisää luotetut alustakutsut: ystävät ja pelikortit (playdrop.social), ostojen varmennus (playdrop.shop), tekijän maksama tekoälyluonti (playdrop.ai) ja huoneen puhe (playdrop.multiplayer.forRoom). Ne toimivat vain palveluun ladatuissa peleissä. Katso server SDK -viite.

Testaa

Kehityksen aikana aja Colyseus 0.17:ää ja MongoDB:tä paikallisesti ja yhdistä paikallinen asiakasohjelmasi paikalliseen palvelimeesi. Testataksesi isännöityä palvelinta lataa yksityinen versio ja avaa https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1 ja sitten sama linkki arvolla player=2 toisessa ikkunassa. Kumpikin ikkuna pelaa omana testipelaajanasi. Julkaise testattu versio kutsulla publish_game_version, kun se toimii.

Suunnittele yhteyskatkoja varten: Colyseuksen uudelleenyhdistäminen pitää paikan varattuna lyhyen ajan, ja huoneen tilan pitäisi antaa palaavan pelaajan jatkaa.

Liittyvät oppaat

  • Verkkoryhmät ja puheAnna ystävien pelata yhdessä: ilmoita ryhmäkoot, avaa ryhmäikkuna, liity varattuihin huoneisiin sdk.multiplayer.join-kutsulla ja hallitse huoneen puhetta.
  • Server SDKPlayDropin isännöimien pelipalvelinten viite: ajoympäristön säännöt, varmennettu PlayDropPlayer sekä social-, shop-, ai- ja multiplayer-palvelinrajapinnat.
  • Paketointi ja .playJärjestä pelikansio, ZIP tai .play niin, että catalogue.json on juuressa, ilmoita pelisivun media ja palvelimet ja lataa prepare_catalogue_upload-kutsulla.
EdellinenVerkkoryhmät ja puhechat PlayDrop-peleissäSeuraavaArvostelut, tipit, pelin sisäiset ostot ja mainokset PlayDrop-peleissä
Näytä Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Tällä sivulla

Kirjoita palvelinIlmoita seIsännöidyn ajoympäristön säännötYhdistä selaimestaServer SDKTestaa
Näytä Markdown