PlayDrop logoPlayDrop Studio
CrearIntercambio de partidasGanarAprenderConectoresRecursosComunidadAyuda
PlayDrop logoPlayDrop Studio
CrearIntercambio de partidasGanarAprenderConectoresRecursosComunidadAyuda
Iniciar sesión
Grupos en línea y voz
Documentación

Empieza aquí

ResumenTu primer juegoJuegos de PlayDropPreguntas frecuentes

Crea con Cloud

Creación con CloudPlanes y generaciones

Conecta tu app de IA

Todos los conectoresClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publica y comparte

Publicar desde tu app de IAJuegos HTML simplesEmpaquetado y .playPublicar e importarArchivos del juegoVisibilidad y alcanceImágenes y vídeo de la fichaGéneros y etiquetasLocalizaciónJuegos instantáneos

Experiencia de juego

Carga, pausa y audioPantalla completa y zonas segurasPartidas guardadas en la nubeGrupos locales y mandos

Juega en grupo

Compartir, amigos e invitacionesClasificacionesLogrosGrupos en línea y vozServidores en tiempo real

Gana

MonetizaciónCréditos y recompensas

Recursos

Recursos de juegoGeneración de recursos con IAFormatos personalizados y creaciones de jugadores

Referencia

SDK de clienteSDK de servidorcatalogue.jsonErrores y recuperaciónSolución de problemas
DocumentaciónGrupos en línea y voz
Juega en grupo

Grupos en línea y chat de voz en juegos de PlayDrop

Deja que tus amigos jueguen en línea: declara tamaños de grupo, abre la ventana de grupo, entra en salas reservadas con sdk.multiplayer.join y gestiona la voz.

Un grupo de PlayDrop es un conjunto de amigos que pasan juntos de un juego a otro. Cuando un grupo inicia tu juego, PlayDrop reserva plazas para sus miembros en una de las salas de tu servidor, para que los amigos lleguen a la misma partida en lugar de quedar separados. El chat de voz funciona en PlayDrop, no en tu juego.

Qué necesitas

  • Un servidor de juego en tiempo real: los grupos juegan en tus salas de Colyseus.
  • Jugadores con la sesión iniciada: las salas rechazan a los invitados.
  • Estas declaraciones en catalogue.json:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

party.online enumera los tamaños exactos de grupo, hasta 4, que pueden llegar juntos; [2, 4] excluye el 3. Es el tamaño del grupo que llega, no la capacidad de la sala: dos grupos de cuatro pueden compartir una sala de ocho plazas. party requiere el tipo party y party.online requiere online. roomVoice: true activa la voz de sala y requiere online.

Entra en la sala correcta

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

join ocupa la plaza reservada del jugador cuando PlayDrop ha lanzado un grupo y, si no, entra por su cuenta. Si falla la entrada de un grupo, se rechaza; nunca coloca al jugador en otra sala sin avisar. Un invitado recibe authentication_required y PlayDrop muestra el inicio de sesión; vuelve a entrar desde sdk.me.onAuthChange. Conserva la misma sala entre rondas.

Tras una recarga, sdk.multiplayer.reconnect(roomName, token) recupera la plaza reservada con un token de reconexión que hayas guardado de forma privada para este juego, versión y usuario. Descarta el token y llama a join ante multiplayer_reconnect_expired, multiplayer_reconnect_unavailable o party_reconnect_mismatch.

La ventana de grupo

Desde un botón, sdk.social.openParty({ mode: "online" }) abre la ventana de grupo de PlayDrop, donde los jugadores invitan a sus amigos y activan o desactivan la voz. Si ya existe un grupo, se reutiliza. openParty() abre el menú del grupo y openParty({ section: "voice" }) abre los ajustes de voz; no combines mode y section. La promesa se resuelve cuando se cierra la ventana, también si se cancela.

Lee el grupo con sdk.social.getParty() o sdk.social.onPartyChange(callback), que entrega primero el estado actual: { partyId, leaderUserId, revision, members, launch }. launch.status es joining o ready cuando el grupo está jugando a este juego. Pertenecer al grupo no significa por sí solo que los jugadores compartan sala; usa join.

Los miembros del grupo los gestiona PlayDrop: los juegos no pueden añadir ni quitar miembros ni controlar micrófonos, y los jugadores invitan a sus amigos al grupo desde esta ventana. Aun así, un juego puede enviar su propia tarjeta de invitación o de desafío a un amigo con sdk.social.sendMessage; consulta compartir, amigos e invitaciones.

Voz de sala

Con roomVoice: true, todos los que están en una sala pueden hablar, sin código de servidor. Para cambiar quién oye a quién, vincula la sala en tu servidor y define una política:

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

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

Las políticas son all, team, proximity (con { range }) y off. setAudience(player, audience) crea una excepción para un jugador y updatePositions([{ player, position: { x, y, z } }]) alimenta la proximidad; pasa null para borrar un equipo o una excepción. Es PlayDrop quien impone quién puede oír a quién. En el navegador, sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) solo ajusta el volumen y la panorámica.

La voz está sujeta al consentimiento, el silencio y los bloqueos de los jugadores, y depende de la versión del host y del despliegue.

Pausa

La cápsula del grupo no pausa el juego. La pausa de PlayDrop detiene tu cliente, pero la sala sigue conectada y tu servidor sigue funcionando. La pausa de un jugador no debe detener la partida de los demás; implementa cualquier pausa de partida en el servidor.

Prueba

Sube una versión privada y abre el enlace de prueba en dos ventanas con player=1 y player=2, como se explica en servidores de juego en tiempo real. Los grupos locales con mandos son un modo aparte: consulta grupos locales y mandos.

Guías relacionadas

  • Servidores en tiempo realEjecuta un servidor Colyseus 0.17 alojado con base de datos MongoDB, conéctate desde el navegador con el SDK, prueba con dos jugadores y conoce los límites.
  • Grupos locales y mandosLee mandos físicos y mandos de teléfono de PlayDrop con sdk.device, sigue las posiciones de los jugadores locales y declara mandos y tamaños de grupo local.
  • Compartir, amigos e invitacionesComparte un juego con una imagen o un clip, lee los datos de lanzamiento, elige amigos, envía invitaciones y desafíos en PlayDrop Chat y recomienda otros juegos.
AnteriorLogros para juegos de PlayDropSiguienteServidores de juego en tiempo real en PlayDrop: Colyseus y MongoDB
Ver Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

En esta página

Qué necesitasEntra en la sala correctaLa ventana de grupoVoz de salaPausaPrueba
Ver Markdown