PlayDrop
Nie udało się wczytać PlayDrop

Nie udało się pobrać wymaganej części strony. Spróbuj wczytać ją ponownie.

STYLESHEET_ERROR
PlayDrop logoPlayDrop Studio
TwórzPlayTradeZdobywajUcz sięKonektorySpołecznośćWsparcie
SDK serwera
Dokumentacja

Zacznij tutaj

PrzeglądTwoja pierwsza gra

Twórz z Cloud

Tworzenie w CloudPublikowanie i importPlany i generowaniaKredyty i nagrody

Połącz swojego agenta

Wszystkie konektoryClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Dokumentacja techniczna

Pliki grycatalogue.jsonSDK klientaSDK serweraRozwiązywanie problemówFAQ
DokumentacjaSDK serwera
Dokumentacja techniczna

Serwery gier PlayDrop: Colyseus, MongoDB i SDK serwera

Opcjonalny hostowany tryb wieloosobowy: prześlij Colyseus server.js z MongoDB, testuj z graczami testowymi i użyj SDK serwera dla znajomych i AI.

Serwer gry jest opcjonalny. Twoja gra może wywoływać dowolny serwer, który sam prowadzisz. Jeśli wolisz, PlayDrop hostuje standardowy serwer Colyseus z bazą danych MongoDB dla twojej gry: prześlij go jako server.js obok index.html przez PlayDrop Connector albo poproś PlayDrop Cloud, by go zbudował. Pakiet @playdrop/server też jest opcjonalny.

Napisz standardowy serwer Colyseus

js
import { Room, defineRoom } from "colyseus";
import { MongoClient } from "mongodb";

class GameRoom extends Room {
  async onCreate() {
    this.mongo = new MongoClient(process.env.PLAYDROP_MONGO_URL);
    await this.mongo.connect();
  }
  onJoin(client) {
    // client.auth to zweryfikowany gracz PlayDrop, na przykład client.auth.userId.
  }
  async onDispose() { await this.mongo?.close(); }
}

export const rooms = { game: defineRoom(GameRoom) };

Wyeksportuj mapę rooms z server.js i wypisz nazwy jej pokoi w catalogue.json jako "server": { "rooms": ["game"] }. PlayDrop uruchamia serwer, więc nie startuj własnego. Przechowuj dane za pomocą standardowego sterownika MongoDB przez PLAYDROP_MONGO_URL, w cyklu życia pokoju.

Zasady hostowanego serwera

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), sterownik MongoDB 7.5 i Node 22.
  • Jeden samodzielny moduł ES do 2 MiB. Może importować tylko colyseus, @colyseus/core, @colyseus/schema, mongodb i @playdrop/server; resztę kodu spakuj do pliku.
  • Do 2 typów pokoi, 8 graczy w pokoju, 4 godziny na pokój, 30 wiadomości na sekundę na gracza i 512 KiB na wiadomość.
  • Brak dostępu do internetu z serwera: osiągalne są tylko MongoDB i usługi PlayDrop.
  • Gracze muszą być zalogowani. PlayDrop weryfikuje każdego gracza przy dołączaniu; nie implementuj onAuth.
  • Jedna baza MongoDB na grę, zachowywana między wersjami i wliczana do twojego limitu miejsca. Nigdy nie wysyłaj jej danych uwierzytelniających do przeglądarki.

Połącz przeglądarkę i testuj

W przeglądarce sdk.multiplayer.getConnection() z SDK klienta zwraca adres serwera i token gracza; dołącz za pomocą klienta Colyseus (@colyseus/sdk 0.17). Podczas tworzenia uruchom lokalnie Colyseus 0.17 i MongoDB 8 i łącz się bezpośrednio z lokalnym serwerem. Aby przetestować hostowany serwer, prześlij wersję prywatną, a potem otwórz https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1 i ten sam link z player=2 w drugim oknie: każde okno gra jako osobne konto testowe. Gdy wszystko działa, ustaw wersję jako publiczną na stronie gry.

Opcjonalne SDK serwera: znajomi i AI

@playdrop/server dodaje playdrop.social (znajomi grający w tę grę i karty gier w czacie PlayDrop) oraz playdrop.ai (generowanie tekstu, obrazów, 3D, wideo, dźwięku, mowy i muzyki opłacane przez twórcę). Te wywołania działają tylko w przesłanych grach, nie w lokalnym środowisku deweloperskim. Pobieraj prywatne wygenerowane multimedia na serwerze przez playdrop.ai.tasks.downloadFile i wysyłaj bajty tylko zamierzonemu graczowi; prośby o mowę przyjmują najwyżej 40 słów.

Głos grupy i pokoju

await playdrop.social.getParty(client.auth) odczytuje aktualnie autoryzowane członkostwo w grupie. Nie ujawnia czatu grupy ani aktywności w innych grach i nie daje zarządzania grupą. Istniejące API społecznościowe zachowują swoje działanie.

Katalog deklarujący roomVoice: true zaczyna z polityką dla całego pokoju; do tej domyślnej nie jest potrzebne żadne wywołanie serwera. Aby ją dostosować, powiąż const platform = playdrop.multiplayer.forRoom(this) z rzeczywistym pokojem Colyseus. Użyj platform.voice.setPolicy("all" | "team" | "proximity" | "off", { range: 20 }), setTeam(client.auth, teamId), setAudience(client.auth, audience) i updatePositions([{ player: client.auth, position: { x, y, z } }]). Przekaż null, aby wyczyścić nadpisanie drużyny lub gracza. Bliskość wymaga świeżych autorytatywnych pozycji.

Zaufane środowisko łączy zmiany kwalifikowalności, rezerwuje zaakceptowanych obserwujących grupy po zwykłym dołączeniu lidera i sprząta uprawnienia. Gry nigdy nie wysyłają dźwięku, danych uwierzytelniających dostawcy ani próśb o mikrofon. Zachowaj ten sam pokój między rundami. Użyj istniejących prywatnych graczy testowych z kwalifikującym się twórcą, aby przetestować integrację przed publikacją; sama publikacja nie włącza wdrożenia.

PoprzedniSDK klienta PlayDrop dla gier przeglądarkowychNastępnyRozwiązywanie problemów z tworzeniem i publikacją w Cloud
Pokaż Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Na tej stronie

Napisz standardowy serwer ColyseusZasady hostowanego serweraPołącz przeglądarkę i testujOpcjonalne SDK serwera: znajomi i AIGłos grupy i pokoju
Pokaż Markdown