PlayDrop logoPlayDrop Studio
CriarTroca de partidasGanharAprenderConectoresRecursosComunidadeAjuda
PlayDrop logoPlayDrop Studio
CriarTroca de partidasGanharAprenderConectoresRecursosComunidadeAjuda
Entrar
Grupos online e voz
Documentação

Comece aqui

Visão geralSeu primeiro jogoJogos do PlayDropPerguntas frequentes

Crie com o Cloud

Criação com CloudPlanos e gerações

Conecte seu app de IA

Todos os conectoresClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publique e compartilhe

Publicar pelo seu app de IAJogos em HTML simplesEmpacotamento e .playPublicação e importaçãoArquivos do jogoVisibilidade e alcanceArte e vídeo da listagemGêneros e tagsLocalizaçãoJogos instantâneos

Experiência de jogo

Carregamento, pausa e áudioTela cheia e áreas segurasSalvamentos na nuvemGrupos locais e controles

Jogue junto

Compartilhamento, amigos e convitesPlacaresConquistasGrupos online e vozServidores em tempo real

Ganhe

MonetizaçãoCréditos e recompensas

Assets

Assets de jogoGeração de assets com IAFormatos personalizados e criações dos jogadores

Referência

SDK de clienteSDK de servidorcatalogue.jsonErros e recuperaçãoSolução de problemas
DocumentaçãoGrupos online e voz
Jogue junto

Grupos online e chat de voz em jogos do PlayDrop

Amigos jogam juntos online: declare tamanhos de grupo, abra a janela de grupo do PlayDrop, entre em salas reservadas com sdk.multiplayer.join e controle a voz.

Um grupo do PlayDrop é um conjunto de amigos que passa de um jogo para outro junto. Quando um grupo inicia seu jogo, o PlayDrop reserva vagas para os membros em uma das salas do seu servidor, para que os amigos cheguem na mesma partida em vez de ficarem separados. O chat de voz roda no PlayDrop, não no seu jogo.

Do que você precisa

  • Um servidor de jogo em tempo real: os grupos jogam nas suas salas Colyseus.
  • Jogadores logados: as salas recusam convidados.
  • Estas declarações no catalogue.json:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

party.online lista os tamanhos exatos de grupo, até 4, que podem chegar juntos; [2, 4] exclui 3. É o tamanho do grupo que chega, não a capacidade da sala: dois grupos de quatro podem dividir uma sala de oito vagas. party exige o tipo party, e party.online exige online. roomVoice: true ativa a voz da sala e exige online.

Entre na sala certa

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

join usa a vaga reservada do jogador no grupo quando o PlayDrop iniciou um grupo; caso contrário, entra de forma independente. Se a entrada do grupo falhar, a chamada é rejeitada; ela nunca coloca o jogador em outra sala sem avisar. Um convidado recebe authentication_required e o PlayDrop mostra o login; chame join de novo a partir de sdk.me.onAuthChange. Mantenha a mesma sala entre as rodadas.

Depois de recarregar a página, sdk.multiplayer.reconnect(roomName, token) restaura a vaga reservada com um token de reconexão que você guardou de forma privada para este jogo, esta versão e este usuário. Descarte o token e chame join em caso de multiplayer_reconnect_expired, multiplayer_reconnect_unavailable ou party_reconnect_mismatch.

A janela do grupo

A partir de um botão, sdk.social.openParty({ mode: "online" }) abre a janela de grupo do PlayDrop, onde os jogadores convidam amigos e ligam ou desligam a voz. Um grupo existente é reaproveitado. openParty() abre o menu do grupo e openParty({ section: "voice" }) abre as configurações de voz; não combine mode e section. A promise é resolvida quando a janela fecha, inclusive quando o jogador cancela.

Leia o grupo com sdk.social.getParty() ou sdk.social.onPartyChange(callback), que entrega primeiro o estado atual: { partyId, leaderUserId, revision, members, launch }. launch.status é joining ou ready quando o grupo está jogando este jogo. Fazer parte do grupo, por si só, não significa que os jogadores estão na mesma sala; use join.

Os membros do grupo são gerenciados pelo PlayDrop: os jogos não podem adicionar nem remover membros do grupo nem controlar microfones, e os jogadores convidam amigos para o grupo por esta janela. Um jogo ainda pode enviar seu próprio card de convite ou de desafio a um amigo com sdk.social.sendMessage; veja compartilhamento, amigos e convites.

Voz da sala

Com roomVoice: true, todos em uma sala podem falar, sem nenhum código no servidor. Para mudar quem ouve quem, vincule a sala no seu servidor e defina uma política:

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

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

As políticas são all, team, proximity (com { range }) e off. setAudience(player, audience) substitui a regra para um jogador e updatePositions([{ player, position: { x, y, z } }]) alimenta a proximidade; passe null para limpar uma equipe ou uma substituição. O PlayDrop garante quem pode ouvir quem. No navegador, sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) só ajusta o volume e a posição estéreo.

A voz depende do consentimento dos jogadores, do silenciamento e dos bloqueios, além da versão do host e da liberação gradual do recurso.

Pausa

A cápsula do grupo não pausa o jogo. A pausa do PlayDrop para o seu cliente, mas a sala continua conectada e o seu servidor continua rodando. A pausa de um jogador não pode interromper a partida dos outros; implemente no servidor qualquer pausa da partida.

Teste

Envie uma versão privada e depois abra o link de teste em duas janelas, com player=1 e player=2, como descrito em servidores de jogo em tempo real. Grupos locais com controles são um modo separado: veja grupos locais e controles.

Guias relacionados

  • Servidores em tempo realRode um servidor Colyseus 0.17 hospedado com um banco MongoDB para o seu jogo, conecte o navegador com o SDK, teste com dois jogadores e conheça os limites.
  • Grupos locais e controlesLeia controles físicos e de celular do PlayDrop com sdk.device, acompanhe as posições dos jogadores locais e declare suporte a controles e tamanhos de grupo.
  • Compartilhamento, amigos e convitesCompartilhe um jogo com imagem ou clipe, leia os dados de abertura, escolha amigos, envie cards de convite e desafio no PlayDrop Chat e recomende outros jogos.
AnteriorConquistas para jogos do PlayDropPróximoServidores de jogo em tempo real no PlayDrop: Colyseus e MongoDB
Ver Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Nesta página

Do que você precisaEntre na sala certaA janela do grupoVoz da salaPausaTeste
Ver Markdown