Skip to main content
En un escenario multijugador sencillo, un jugador de tu juego puede jugar en línea con amigos. Este tema describe los pasos básicos que debes implementar para admitir este escenario mediante Multiplayer Manager.

Pasos para enviar y aceptar una invitación

Los siguientes pasos usan Multiplayer Manager para enviar una invitación al amigo de un usuario de modo que ese amigo pueda unirse a un juego en curso.
  1. Inicializar Multiplayer Manager
  2. Crear la sesión de sala agregando usuarios locales
  3. Enviar invitaciones a amigos
  4. Aceptar invitaciones
  5. Unirse a una sesión de juego desde la sala
Los pasos 1, 2, 3 y 5 se realizan en el dispositivo que realiza la invitación. El paso 4 normalmente se inicia en el dispositivo del invitado, tras el inicio de la aplicación mediante la activación de protocolo. Para obtener más información, consulta Jugar a un juego con amigos (diagrama de flujo).

Inicializar Multiplayer Manager

El objeto de sesión de sala se crea automáticamente cuando Multiplayer Manager se inicializa con un nombre de plantilla de sesión válido. Las plantillas de sesión se definen en la configuración del servicio.
La instancia de la sesión de sala en el servicio no se crea hasta que se agrega un usuario.

API de C plana

Para obtener más información, consulta XblMultiplayerManagerInitialize. Volver al principio de este tema.

Crear la sesión de sala agregando usuarios locales

Agrega a la sesión de sala los usuarios de los servicios XBOX que han iniciado sesión localmente. Se hospeda una nueva sala cuando se agrega el primer usuario. Todos los demás usuarios se agregan a la sala existente como usuarios secundarios. Multiplayer Manager anuncia la sala en el shell para que los amigos se unan. Solo puedes enviar invitaciones, establecer propiedades de la sala y acceder a los miembros de la sala mediante lobby() después de haber agregado al usuario local. Cuando un usuario local se une a la sala, se recomienda establecer su dirección de conexión y las propiedades personalizadas. Debes repetir este proceso para todos los usuarios que han iniciado sesión localmente. Volver al principio de este tema.

Agregar un único usuario local

API de C plana

Para obtener más información, consulta lo siguiente: Volver al principio de este tema.

Agregar varios usuarios locales

API de C plana

Para obtener más información, consulta lo siguiente: Los cambios se procesan por lotes en la siguiente llamada a XblMultiplayerManagerDoWork. Multiplayer Manager genera un evento XblMultiplayerEventType::UserAdded cada vez que se agrega un usuario a la sesión de sala. Se recomienda comprobar el código de error del evento para ver si ese usuario se agregó correctamente. En caso de error, un mensaje de error proporciona detalles sobre los motivos del error. Multiplayer Manager realiza las siguientes funciones para crear la sesión de sala agregando usuarios locales.
  • Registrar las suscripciones de actividad en tiempo real y multijugador en el servicio multijugador de los servicios XBOX.
  • Crear la sesión de sala.
  • Unir a todos los jugadores locales como activos.
  • Cargar la dirección segura de dispositivo (SDA).
  • Establecer las propiedades de los miembros.
  • Registrarse para los eventos de cambio de sesión.
  • Establecer la sesión de sala como sesión activa.
Volver al principio de este tema.

Enviar invitaciones a amigos

Muestra la interfaz de usuario estándar de XBOX en la que el jugador puede seleccionar amigos o jugadores recientes para invitarlos al juego. Cuando el jugador confirma su selección, Multiplayer Manager envía las invitaciones a los jugadores seleccionados. Los juegos también pueden usar el método XblMultiplayerManagerLobbySessionInviteUsers para enviar invitaciones a un conjunto de personas definidas por sus identificadores de usuario de los servicios XBOX. Este método es útil si usas tu propia interfaz de usuario del juego en lugar de la interfaz de usuario estándar de XBOX.

API de C plana

Para obtener más información, consulta XblMultiplayerManagerLobbySessionInviteUsers. Multiplayer Manager realiza las siguientes funciones para enviar invitaciones a amigos.
  • Muestra la interfaz de usuario invocable por el título (TCUI) estándar de XBOX
  • Envía una invitación directamente a los jugadores seleccionados
Volver al principio de este tema.

Aceptar invitaciones

Cuando un jugador invitado acepta una invitación de juego o se une al juego de un amigo mediante una interfaz de usuario del shell, el juego se inicia en su dispositivo. En los juegos basados en el Microsoft Game Development Kit (GDK), después de que se inicie el juego, escucha los eventos de invitación llamando a XGameActivationRegisterForEvent. En los juegos basados en el Software Development Kit de XBOX One y en la Plataforma universal de Windows (UWP), después de que se inicie el juego, Multiplayer Manager puede usar los argumentos del evento de activación de protocolo para unirse a la sala. Si el usuario invitado no se agrega mediante XblMultiplayerManagerLobbySessionAddLocalUser, XblMultiplayerManagerJoinLobby generará un error y proporcionará el xuid para el que se envió la invitación al llamar a XblMultiplayerEventArgsXuid con el evento JoinLobbyCompleted. Después de unirte a la sala, se recomienda establecer la dirección de conexión del miembro local y las propiedades personalizadas del miembro. También puedes establecer el host mediante XblMultiplayerManagerLobbySessionSetSynchronizedHost si no existe ninguno. Por último, Multiplayer Manager une automáticamente al usuario a la sesión de juego si ya hay un juego en curso y hay espacio para el invitado. El título recibe la notificación mediante el evento JoinGameCompleted, que proporciona un código de error y un mensaje adecuados. Los resultados de error o de éxito se controlan mediante el evento JoinLobbyCompleted.

API de C plana

Para obtener más información, consulta lo siguiente: Multiplayer Manager realiza las siguientes funciones para aceptar invitaciones.
  • Registrar las suscripciones de actividad en tiempo real y multijugador.
  • Unirse a la sesión de sala.
  • Limpieza del estado de sala existente.
  • Unir a todos los jugadores locales como activos.
  • Cargar la SDA.
  • Establecer las propiedades de los miembros.
  • Registrarse para los eventos de cambio de sesión.
  • Establecer la sesión de sala como sesión activa.
  • Unirse a la sesión de juego (si existe).
  • Usar un identificador de transferencia.
Volver al principio de este tema.

Unirse a una sesión de juego desde la sala

Después de que se hayan aceptado las invitaciones y el host esté listo para empezar a jugar, puedes iniciar un nuevo juego que incluya a los miembros de la sesión de sala llamando a XblMultiplayerManagerJoinGameFromLobby. Los resultados de error o de éxito se controlan mediante el evento JoinGameCompleted.

API de C plana

Para obtener más información, consulta XblMultiplayerManagerJoinGameFromLobby. Multiplayer Manager realiza las siguientes funciones para unirse a una sesión de juego desde la sala.
  • Crear la sesión de juego.
  • Unir a todos los jugadores locales como activos.
  • Cargar la SDA.
  • Establecer las propiedades de los miembros.
  • Registrarse para los eventos de cambio de sesión.
  • Anunciar el juego mediante la sesión de sala.
Volver al principio de este tema.
Última modificación el 28 de agosto de 2026