> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Información general sobre la API de Multiplayer Manager

> Información general sobre los métodos y clases más importantes de la API de XBOX Multiplayer Manager, incluidas las sesiones de sala, las sesiones de juego, los miembros y los eventos multijugador.

Este tema describe los métodos más importantes de la API de Multiplayer Manager.

Para obtener información detallada sobre la API, consulta la [documentación de referencia](/reference/live/gc-reference-live-toc).

Para ver ejemplos de cómo usar estas API en una aplicación, consulta el [ejemplo NetRumble (tema con NDA)](https://learn.microsoft.com/gaming/gdk/docs/services/gdk-dev/development-downloads/gdk-samples-list).

## Espacio de nombres

Multiplayer Manager se incluye en el siguiente espacio de nombres.

| Lenguaje | Espacio de nombres                     |
| -------- | -------------------------------------- |
| C        | Prefijo `XblMultiplayerManager*`       |
| C++      | `xbox::services::multiplayer::manager` |

Debes comprender las siguientes clases principales.

* [Información general sobre la API de Multiplayer Manager]()
  * [Espacio de nombres](#namespace)
  * [Clase Multiplayer Manager ](#multiplayer-manager-class)<a name="multiplayer-manager-class" />
  * [Clase Multiplayer Event ](#multiplayer-event-class)<a name="multiplayer-event-class" />
  * [Clase Multiplayer Member ](#multiplayer-member-class)<a name="multiplayer-member-class" />
  * [Clase Multiplayer Lobby Session ](#multiplayer-lobby-session-class)<a name="multiplayer-lobby-session-class" />
  * [Clase Multiplayer Game Session ](#multiplayer-game-session-class)<a name="multiplayer-game-session-class" />

## Clase Multiplayer Manager <a name="multiplayer-manager-class" />

Multiplayer Manager es una clase singleton que contiene un único objeto de sesión de sala y un único objeto de sesión de juego.

Como mínimo, debes llamar a los métodos [XblMultiplayerManagerInitialize](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerinitialize) y [XblMultiplayerManagerDoWork](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerdowork) de esta clase para que Multiplayer Manager funcione.

La siguiente tabla describe algunos de los métodos y propiedades de uso más común, aunque no todos. Para obtener una lista completa y descriptiva de los miembros, consulta la [documentación de referencia](/reference/live/gc-reference-live-toc).

| C                                                                                                                                        | C++                      | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Métodos**                                                                                                                              |                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [XblMultiplayerManagerInitialize](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerinitialize)               | `initialize()`           | Inicializa Multiplayer Manager. Debes llamar a este método antes de usar Multiplayer Manager.                                                                                                                                                                                                                                                                                                                                                                           |
| [XblMultiplayerManagerDoWork](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerdowork)                       | `do_work()`              | Actualiza los estados de sesión visibles para la aplicación. Debes llamar a este método al menos una vez por fotograma. Tu juego debe controlar los eventos multijugador que devuelve el método.                                                                                                                                                                                                                                                                        |
| [XblMultiplayerManagerJoinLobby](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoinlobby)                 | `join_lobby()`           | Proporciona una manera de unirse a la sesión de sala de un amigo mediante un `handleId` que identifica de forma única la sala a la que el usuario quiere unirse, o cuando el usuario acepta una invitación que hace que el título se active mediante protocolo.                                                                                                                                                                                                         |
| [XblMultiplayerManagerJoinGameFromLobby](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingamefromlobby) | `join_game_from_lobby()` | Se une a la sesión de juego de la sala si existe una y si hay espacio. Si la sesión no existe, crea una nueva sesión de juego con los miembros existentes de la sala. Esto no migra las propiedades existentes de la sesión de sala a la sesión de juego. Después de unirte, puedes establecer las propiedades o el host mediante las API `*SetSynchronizedProperties`. El título debe llamar a esta API en todos los clientes que quieran unirse a la sesión de juego. |
| [XblMultiplayerManagerJoinGame](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingame)                   | `join_game()`            | Se une a una sesión de juego existente dado un nombre de sesión único global, que normalmente se obtiene a través de servicios de emparejamiento de terceros. Puedes pasar la lista de identificadores de usuario de XBOX que quieres que formen parte del juego.                                                                                                                                                                                                       |
| [XblMultiplayerManagerFindMatch](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerfindmatch)                 | `find_match()`           | Usa el emparejamiento de los servicios XBOX para encontrar un juego y unirse a él.                                                                                                                                                                                                                                                                                                                                                                                      |
| [XblMultiplayerManagerLeaveGame](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerleavegame)                 | `leave_game()`           | Abandona un juego y devuelve al miembro y a todos los miembros locales a la sala.                                                                                                                                                                                                                                                                                                                                                                                       |
| **Propiedades**                                                                                                                          |                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `LobbySession`                                                                                                                           | `lobby_session()`        | Un identificador de un objeto que representa la sesión de sala.                                                                                                                                                                                                                                                                                                                                                                                                         |
| `GameSession`                                                                                                                            | `game_session()`         | Un identificador de un objeto que representa la sesión de juego.                                                                                                                                                                                                                                                                                                                                                                                                        |

## Clase Multiplayer Event <a name="multiplayer-event-class" />

| Lenguaje | Clase                                                                                            |
| -------- | ------------------------------------------------------------------------------------------------ |
| C        | [XblMultiplayerEvent](/reference/live/xsapi-c/multiplayer_manager_c/structs/xblmultiplayerevent) |
| C++      | `multiplayer_event`                                                                              |

Cuando llamas a [XblMultiplayerManagerDoWork](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerdowork), Multiplayer Manager devuelve una lista de eventos que representan los cambios en las sesiones desde la última vez que llamaste a `XblMultiplayerManagerDoWork`. Estos eventos incluyen cambios como que un miembro se ha unido a una sesión, que un miembro ha abandonado una sesión, que las propiedades de un miembro han cambiado o que el cliente host ha cambiado.

Para ver una lista de todos los tipos de evento posibles, consulta la enumeración [XblMultiplayerEventType](/reference/live/xsapi-c/multiplayer_manager_c/enums/xblmultiplayereventtype).

Cada [XblMultiplayerEvent](/reference/live/xsapi-c/multiplayer_manager_c/structs/xblmultiplayerevent) devuelto incluye un `EventArgsHandle`. Debes usarlo para obtener los `args` adecuados para el tipo de evento. Por ejemplo, si el [XblMultiplayerEventType](/reference/live/xsapi-c/multiplayer_manager_c/enums/xblmultiplayereventtype) es `MemberJoined`, llamarías a [XblMultiplayerEventArgsMembersCount](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayereventargsmemberscount) y a [XblMultiplayerEventArgsMembers](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayereventargsmembers).

Tu juego debe controlar cada uno de los eventos según sea necesario después de llamar a [XblMultiplayerManagerDoWork](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerdowork).

## Clase Multiplayer Member <a name="multiplayer-member-class" />

| Lenguaje | Clase                                                                                                            |
| -------- | ---------------------------------------------------------------------------------------------------------------- |
| C        | [XblMultiplayerManagerMember](/reference/live/xsapi-c/multiplayer_manager_c/structs/xblmultiplayermanagermember) |
| C++      | `multiplayer_member`                                                                                             |

Esta clase representa a un jugador en una sesión de sala o de juego. Contiene propiedades sobre el miembro, como el identificador de usuario de XBOX del jugador, la dirección de conexión de red del jugador y propiedades personalizadas de cada jugador.

## Clase Multiplayer Lobby Session <a name="multiplayer-lobby-session-class" />

| Lenguaje | Clase                                        |
| -------- | -------------------------------------------- |
| C        | Prefijo `XblMultiplayerManagerLobbySession*` |
| C++      | `multiplayer_lobby_session`                  |

Esta clase crea una sesión persistente que se usa para administrar a los usuarios locales de este dispositivo y a los amigos invitados que quieren jugar juntos. Una sesión de sala debe contener al menos un miembro para que Multiplayer Manager realice cualquier acción multijugador. Puedes crear inicialmente una nueva sesión de sala llamando al método [XblMultiplayerManagerLobbySessionAddLocalUser](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionaddlocaluser).

La siguiente tabla describe algunos de los métodos y propiedades de uso más común de esta clase, aunque no todos. Para obtener una lista completa y descriptiva de los miembros de la clase, consulta la [documentación de referencia](/reference/live/gc-reference-live-toc).

| C                                                                                                                                                                                                                                                                                                                                           | C++                                                  | Descripción                                                                                                                                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Métodos**                                                                                                                                                                                                                                                                                                                                 |                                                      |                                                                                                                                                                                                                                                              |
| [XblMultiplayerManagerLobbySessionAddLocalUser](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionaddlocaluser)                                                                                                                                                                                      | `add_local_user()`                                   | Agrega un usuario local (un jugador que ha iniciado sesión en el dispositivo local) a la sesión de sala. Si es el primer miembro agregado a una sesión de sala, este método crea una nueva sesión de sala.                                                   |
| [XblMultiplayerManagerLobbySessionRemoveLocalUser](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionremovelocaluser)                                                                                                                                                                                | `remove_local_user()`                                | Quita un miembro especificado de la sesión de sala y de juego.                                                                                                                                                                                               |
| [XblMultiplayerManagerLobbySessionInviteFriends](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninvitefriends)                                                                                                                                                                                    | `invite_friends()`                                   | Abre una interfaz de usuario estándar de XBOX que permite al jugador seleccionar amigos de su lista de amigos y, después, invita a esos jugadores al juego.                                                                                                  |
| [XblMultiplayerManagerLobbySessionInviteUsers](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninviteusers)                                                                                                                                                                                        | `invite_users()`                                     | Invita al juego a los jugadores de XBOX especificados.                                                                                                                                                                                                       |
| [XblMultiplayerManagerLobbySessionSetLocalMemberConnectionAddress](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetlocalmemberconnectionaddress)                                                                                                                                                | `set_local_member_connection_address()`              | Establece la dirección de red del miembro local. Los juegos pueden usar esta dirección de red para establecer comunicaciones de red entre los miembros.                                                                                                      |
| [XblMultiplayerManagerLobbySessionSetLocalMemberProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetlocalmemberproperties)                                                                                                                                                              | `set_local_member_properties()`                      | Establece una propiedad personalizada para un miembro local. La propiedad se almacena en una cadena JSON.                                                                                                                                                    |
| [XblMultiplayerManagerLobbySessionDeleteLocalMemberProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessiondeletelocalmemberproperties)                                                                                                                                                        | `delete_local_member_properties()`                   | Quita una propiedad personalizada de un miembro local.                                                                                                                                                                                                       |
| [XblMultiplayerManagerLobbySessionSetProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetproperties) / [XblMultiplayerManagerLobbySessionSetSynchronizedProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetsynchronizedproperties) | `set_properties()` / `set_synchronized_properties()` | Establece una propiedad personalizada para la sesión de sala. La propiedad se almacena en una cadena JSON. Si la propiedad se comparte entre dispositivos y varios dispositivos pueden actualizarla al mismo tiempo, usa la versión sincronizada del método. |
| [XblMultiplayerManagerGameSessionIsHost](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionishost)                                                                                                                                                                                                    | `is_host()`                                          | Indica si el dispositivo actual actúa como host de la sala.                                                                                                                                                                                                  |
| [XblMultiplayerManagerGameSessionSetSynchronizedHost](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetsynchronizedhost)                                                                                                                                                                          | `set_synchronized_host()`                            | Establece el host de la sala.                                                                                                                                                                                                                                |
| **Propiedades**                                                                                                                                                                                                                                                                                                                             |                                                      |                                                                                                                                                                                                                                                              |
| [XblMultiplayerManagerLobbySessionLocalMembers](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionlocalmembers)                                                                                                                                                                                      | `local_members()`                                    | La colección de miembros que han iniciado sesión en el dispositivo local.                                                                                                                                                                                    |
| [XblMultiplayerManagerLobbySessionMembers](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionmembers)                                                                                                                                                                                                | `members()`                                          | La colección de miembros que están en la sesión de sala.                                                                                                                                                                                                     |
| [XblMultiplayerManagerLobbySessionSetProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetproperties)                                                                                                                                                                                    | `properties()`                                       | Un objeto JSON que representa una colección de propiedades de la sesión de sala.                                                                                                                                                                             |
| [XblMultiplayerManagerLobbySessionHost](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionhost)                                                                                                                                                                                                      | `host()`                                             | El miembro host de la sala.                                                                                                                                                                                                                                  |

## Clase Multiplayer Game Session <a name="multiplayer-game-session-class" />

| Lenguaje | Clase                                       |
| -------- | ------------------------------------------- |
| C        | Prefijo `XblMultiplayerManagerGameSession*` |
| C++      | `multiplayer_game_session`                  |

La sesión de juego representa el grupo de miembros de los servicios XBOX que participan en una instancia de juego real. Esto puede incluir a jugadores que se han emparejado mediante servicios de emparejamiento.

Para iniciar una nueva sesión de juego que incluya miembros de la sesión de sala, llama a [XblMultiplayerManagerJoinGameFromLobby](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingamefromlobby). Si quieres usar el emparejamiento de los servicios XBOX, llama a [XblMultiplayerManagerFindMatch](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerfindmatch). Si usas un servicio de emparejamiento de terceros, llama a [XblMultiplayerManagerJoinGame](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingame).

La siguiente tabla describe algunos de los métodos y propiedades de uso más común de Multiplayer Manager, aunque no todos. Para obtener una lista completa y descriptiva de los miembros de la clase, consulta la referencia de API de esta clase.

| C                                                                                                                                                                                                                                                                                                                                       | C++                                                  | Descripción                                                                                                                                                                                                                                                   |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Métodos**                                                                                                                                                                                                                                                                                                                             |                                                      |                                                                                                                                                                                                                                                               |
| [XblMultiplayerManagerGameSessionSetProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetproperties) / [XblMultiplayerManagerGameSessionSetSynchronizedProperties](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetsynchronizedproperties) | `set_properties()` / `set_synchronized_properties()` | Establece una propiedad personalizada para la sesión de juego. La propiedad se almacena en una cadena JSON. Si la propiedad se comparte entre dispositivos y varios dispositivos pueden actualizarla al mismo tiempo, usa la versión sincronizada del método. |
| [XblMultiplayerManagerGameSessionIsHost](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionishost)                                                                                                                                                                                                | `is_host()`                                          | Indica si el dispositivo actual actúa como host del juego.                                                                                                                                                                                                    |
| [XblMultiplayerManagerGameSessionSetSynchronizedHost](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetsynchronizedhost)                                                                                                                                                                      | `set_synchronized_host()`                            | Establece el host del juego.                                                                                                                                                                                                                                  |
| **Propiedades**                                                                                                                                                                                                                                                                                                                         |                                                      |                                                                                                                                                                                                                                                               |
| [XblMultiplayerManagerGameSessionMembers](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionmembers)                                                                                                                                                                                              | `members()`                                          | La colección de miembros que están en la sesión de juego.                                                                                                                                                                                                     |
| [XblMultiplayerManagerGameSessionPropertiesJson](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionpropertiesjson)                                                                                                                                                                                | `properties()`                                       | Un objeto JSON que representa una colección de propiedades de la sesión de juego.                                                                                                                                                                             |
| [XblMultiplayerManagerGameSessionHost](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionhost)                                                                                                                                                                                                    | `host()`                                             | El miembro host del juego.                                                                                                                                                                                                                                    |


## Related topics

- [Información general sobre Multiplayer Manager](/es/services/xbox-services/multiplayer/mpm/live-multiplayer-manager-overview.md)
- [Conceptos de Multiplayer Manager](/es/services/xbox-services/multiplayer/mpm/concepts/live-mm-concepts-nav.md)
- [Información general sobre la API XBOX Achievements Manager](/es/services/xbox-services/player-data/achievements/achievements-manager/live-achievements-manager-overview.md)
- [Información general sobre la predicción de abandono](/es/services/playfab/data-analytics/learn-data/churn-prediction/overview.md)
- [Información general sobre la configuración del servidor de juego](/es/services/playfab/live-service-management/game-configuration/index.md)
