PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
Accedi
Gruppi online e voce
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
DocumentazioneGruppi online e voce
Gioca insieme

Gruppi online e chat vocale nei giochi PlayDrop

Fai giocare gli amici insieme online: dimensioni dei gruppi, finestra del gruppo di PlayDrop, stanze riservate con sdk.multiplayer.join e voce della stanza.

Un gruppo PlayDrop è un insieme di amici che si sposta da un gioco all’altro insieme. Quando un gruppo avvia il tuo gioco, PlayDrop riserva i posti ai suoi membri in una delle stanze del tuo server, così gli amici arrivano nella stessa partita invece di essere divisi. La chat vocale funziona in PlayDrop, non nel tuo gioco.

Cosa ti serve

  • Un server di gioco in tempo reale: i gruppi giocano nelle tue stanze Colyseus.
  • Giocatori che hanno effettuato l’accesso: le stanze rifiutano gli ospiti.
  • Queste dichiarazioni in catalogue.json:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

party.online elenca le dimensioni esatte dei gruppi, fino a 4, che possono arrivare insieme; [2, 4] esclude 3. È la dimensione del gruppo in arrivo, non la capienza della stanza: due gruppi da quattro possono condividere una stanza da otto posti. party richiede il tipo party e party.online richiede online. roomVoice: true attiva la voce della stanza e richiede online.

Entra nella stanza giusta

js
if (!sdk.me.isLoggedIn) {
  await sdk.me.promptLogin();
}
const room = await sdk.multiplayer.join("game", { mode: "versus" });

join usa il posto riservato al giocatore nel gruppo quando è stato PlayDrop ad avviare un gruppo, altrimenti entra in modo indipendente. Se l’ingresso di un gruppo non riesce, la chiamata viene rifiutata; non sposta mai il giocatore in un’altra stanza senza dirlo. Un ospite riceve authentication_required e PlayDrop mostra l’accesso; entra di nuovo da sdk.me.onAuthChange. Mantieni la stessa stanza tra un round e l’altro.

Dopo un ricaricamento, sdk.multiplayer.reconnect(roomName, token) ripristina il posto riservato con un token di riconnessione che hai salvato in privato per questo gioco, questa versione e questo utente. Scarta il token e chiama join in caso di multiplayer_reconnect_expired, multiplayer_reconnect_unavailable o party_reconnect_mismatch.

La finestra del gruppo

Da un pulsante, sdk.social.openParty({ mode: "online" }) apre la finestra del gruppo di PlayDrop, dove i giocatori invitano gli amici e attivano o disattivano la voce. Un gruppo esistente viene riutilizzato. openParty() apre il menu del gruppo e openParty({ section: "voice" }) apre le impostazioni della voce; non combinare mode e section. La promise si risolve quando la finestra si chiude, anche in caso di annullamento.

Leggi il gruppo con sdk.social.getParty() oppure sdk.social.onPartyChange(callback), che fornisce per primo lo stato attuale: { partyId, leaderUserId, revision, members, launch }. launch.status vale joining o ready quando il gruppo sta giocando a questo gioco. Far parte dello stesso gruppo non significa che i giocatori condividano una stanza; usa join.

L’appartenenza al gruppo è gestita da PlayDrop: i giochi non possono aggiungere o rimuovere membri del gruppo né controllare i microfoni, e i giocatori invitano gli amici nel gruppo da questa finestra. Un gioco può comunque inviare a un amico una propria carta di invito o di sfida con sdk.social.sendMessage; vedi condivisione, amici e inviti.

Voce della stanza

Con roomVoice: true, tutti in una stanza possono parlare, senza codice server. Per cambiare chi sente chi, collega la stanza sul tuo server e imposta una regola:

js
import { playdrop } from "@playdrop/server";

const platform = playdrop.multiplayer.forRoom(this);
platform.voice.setPolicy("team");
platform.voice.setTeam(client.auth, "red");

Le regole sono all, team, proximity (con { range }) e off. setAudience(player, audience) imposta un’eccezione per un giocatore e updatePositions([{ player, position: { x, y, z } }]) fornisce i dati per la prossimità; passa null per rimuovere una squadra o un’eccezione. È PlayDrop a imporre chi può sentire chi. Nel browser, sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) regola solo il volume e il bilanciamento stereo.

La voce dipende dal consenso dei giocatori, dall’audio disattivato e dai blocchi, oltre che dalla build dell’host e dal rilascio graduale.

Pausa

La capsula del gruppo non mette in pausa il gioco. La pausa di PlayDrop ferma il tuo client, ma la stanza resta connessa e il tuo server continua a funzionare. La pausa di un giocatore non deve fermare la partita per gli altri; implementa sul server un’eventuale pausa della partita.

Prova

Carica una versione privata, poi apri il link di prova in due finestre con player=1 e player=2, come descritto in server di gioco in tempo reale. I gruppi locali con i controller sono una modalità separata: vedi gruppi locali e controller.

Guide correlate

  • Server in tempo realeEsegui un server Colyseus 0.17 ospitato con un database MongoDB, collegati dal browser con l’SDK, prova con due giocatori e conosci i limiti.
  • Gruppi locali e controllerLeggi i gamepad fisici e i telefoni usati come controller con sdk.device, segui i posti dei giocatori locali, dichiara controller e dimensioni dei gruppi locali.
  • Condivisione, amici e invitiCondividi un gioco con immagine o clip, leggi i dati di avvio, scegli amici, invia carte di invito e sfida nella Chat di PlayDrop e consiglia altri giochi.
PrecedenteObiettivi per i giochi PlayDropSuccessivoServer di gioco in tempo reale su PlayDrop: Colyseus e MongoDB
Vedi il Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

In questa pagina

Cosa ti serveEntra nella stanza giustaLa finestra del gruppoVoce della stanzaPausaProva
Vedi il Markdown