> ## 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.

# Uso conjunto de lobby y matchmaking

> Aprenda a combinar PlayFab Lobby y Matchmaking, incluidos los lobbies organizados, para crear escenarios multijugador que agrupen a los jugadores y coordinen las sesiones de juego.

Al diseñar juegos multijugador, el matchmaking y los lobbies suelen usarse juntos para ayudar a las personas a formar grupos para jugar juntas.

PlayFab Lobby y PlayFab Matchmaking le ayudan a implementar una amplia variedad de escenarios multijugador.

En este artículo se describe la relación entre estos dos servicios y se muestra cómo se pueden usar juntos para implementar el siguiente [escenario de juego](#example-scenario).

## Descripción de la relación entre Lobby y Matchmaking

Lobby y Matchmaking funcionan a la perfección juntos para crear una experiencia de matchmaking multijugador coherente para su título.

* Matchmaking reúne a un conjunto de jugadores que buscan participar en una sesión de juego.
* Después de que el matchmaking identifique un conjunto de jugadores, Lobby les proporciona un medio de comunicación para coordinar la unión a una sesión de juego juntos.
  * Entre los escenarios comunes del lobby se incluyen compartir la información de conexión del servidor de juego, compartir las IP de los clientes para juegos entre pares (peer-to-peer) y compartir las configuraciones de los jugadores.

### Lobbies organizados

Los títulos pueden usar los "lobbies organizados" (Arranged Lobbies) para facilitar la creación de lobbies para los jugadores que se agrupan mediante matchmaking.

Después de que el ticket de matchmaking empareje correctamente a un grupo de jugadores, el ticket de matchmaking contiene un **lobbyArrangementString**. Cada jugador puede entonces pasar la cadena de organización a **PFMultiplayerJoinArrangedLobby** para unirse al mismo lobby.

## Escenario de ejemplo

Un jugador quiere jugar con otras personas. El jugador inicia una partida multijugador, invita a amigos y espera a que otros se unan.

### Especificaciones de diseño

* La partida está abierta para que se una cualquiera.
* El conjunto inicial de jugadores se rellena mediante matchmaking.
* El propietario del lobby puede invitar a amigos a unirse.
* Cuando se alcanza el número requerido de jugadores, todos los jugadores del lobby reciben un mensaje que les pregunta si están listos para empezar la partida. Tienen un minuto para responder. La partida comienza después de que todos los jugadores hayan confirmado que están listos para empezar.
* Si algunos jugadores del lobby no confirmaron su estado de listos para jugar, el propietario del lobby puede quitarlos como jugadores inactivos y usar el matchmaking para encontrar nuevos jugadores que los sustituyan rápidamente.
* Cuando un jugador se desconecta inesperadamente durante la partida, el título debe encontrar un sustituto para el jugador desconectado mediante matchmaking usando el relleno de servidor (backfill).
* Cuando la partida termina, todos los jugadores vuelven al lobby. Los jugadores reciben los logros de equipo por igual. Pueden quedarse para empezar otra partida juntos o abandonar el lobby.

### Implementación

En esta sección se describe cómo usar Matchmaking y Lobby para implementar las [especificaciones de diseño](#design-specifications).

* [Crear un lobby formado por matchmaking](#create-a-match-made-lobby)
* [Enviar invitaciones a amigos](#send-invites-to-friends)
* [Permitir que las personas encuentren la partida y se unan a ella](#allow-people-to-find-and-join-game)
* [Obtener la confirmación de los jugadores para empezar la partida](#get-player-confirmation-to-start-game)
* [Quitar y reemplazar a los jugadores inactivos](#remove-and-replace-inactive-players)
* [Gestionar una partida finalizada](#handle-a-finished-game)

### Crear un lobby formado por matchmaking

Cree un lobby público para un grupo de jugadores emparejados mediante matchmaking.

* Cada jugador crea un ticket de matchmaking con sus atributos de matchmaking especificados.
  * Para obtener más información, consulte [Especificar atributos de ticket](/services/playfab/multiplayer/matchmaking/ticket-attributes).
* Todos los tickets creados se agregan a una cola de matchmaking para emparejarse entre sí.
  * Los tickets se emparejan según reglas.
  * Las reglas se pueden definir en la configuración de la cola de matchmaking.
  * Para obtener más información, consulte [Configurar colas de matchmaking](/services/playfab/multiplayer/matchmaking/config-queues).
* Después del matchmaking, cada jugador se une al lobby formado por matchmaking mediante el **lobbyArrangementString** del ticket de matchmaking.
  * Al unirse al lobby organizado, especifique que el **accessPolicy** del lobby sea **Public** para que el lobby esté abierto.
  * Para obtener más información, consulte [Lobbies organizados](#arranged-lobbies).
* El primer jugador que se une al lobby organizado se convierte en el propietario del lobby.
* Las propiedades del lobby se pueden usar para especificar qué mapa de juego pretende usar una sesión de juego.
  * Para obtener más información, consulte [Propiedades del lobby](/services/playfab/multiplayer/lobby/lobby-properties).
* Use las propiedades de búsqueda para permitir que los jugadores encuentren este lobby y esta sesión de juego entre todos los lobbies activos de su título.
  * Para obtener más información, consulte [Propiedades de búsqueda](/services/playfab/multiplayer/lobby/define-search-keywords).

### Enviar invitaciones a amigos

Permita que el propietario del lobby seleccione amigos y envíe invitaciones.

* Obtenga la lista de amigos del propietario del lobby
* Muestre la interfaz de usuario del juego para permitir que el propietario del lobby seleccione a los amigos a los que invitar
* Envíe invitaciones dentro del juego a los amigos seleccionados.
  * Para obtener más información, consulte [Invitaciones de lobby](/services/playfab/multiplayer/lobby/lobby-invites).

### Permitir que las personas encuentren la partida y se unan a ella

Configure las propiedades de búsqueda del lobby para permitir que otros jugadores lo encuentren

* Muestre todos los lobbies en la interfaz de usuario del juego. Su título también debe proporcionar una forma de aceptar los términos de búsqueda del jugador.
* Use **PFMultiplayerFindLobbies** con los parámetros de búsqueda del jugador para devolver una lista de lobbies que coincidan con los criterios.
* Cuando un jugador seleccione unirse a una partida, use **PFMultiplayerJoinLobby** para agregar al jugador a la partida.

### Obtener la confirmación de los jugadores para empezar la partida

Informe a todos los jugadores del lobby de que la partida está lista para empezar

* Cuando el número requerido de jugadores esté en el lobby, muestre la interfaz de usuario del juego para que los jugadores confirmen que están listos para empezar a jugar.
* Permita que el propietario del lobby vea estas respuestas de confirmación.

### Quitar y reemplazar a los jugadores inactivos

El propietario del lobby tiene la capacidad de quitar a los jugadores inactivos o desconectados e iniciar el matchmaking para llenar los puestos restantes

* Si un jugador se desconecta o no respondió en el plazo establecido (un minuto), use **PFLobbyForceRemoveMember** para quitar al jugador.
* El propietario del lobby usa **CreateServerBackfillTicket** para crear un ticket de matchmaking. Los tickets creados con esta API tienen prioridad durante la búsqueda. Este enfoque minimiza la interrupción del juego. Para obtener más información, consulte [Uso de tickets de relleno de servidor](/services/playfab/multiplayer/matchmaking/backfill-tickets).
* Después de unirse al lobby de relleno, el propietario del lobby de la partida puede compartir la cadena de conexión del lobby original con los nuevos jugadores de relleno para que se unan al lobby original.
* Amplíe la hora de inicio de la partida cuando corresponda.

### Gestionar una partida finalizada

Cuando finaliza la partida, todos los jugadores vuelven a la pantalla del lobby para completar la sesión de juego.

* Los lobbies son transitorios, por lo que cualquier dato del lobby que deba conservarse debe ser retenido por cada jugador en este momento.
  * Por ejemplo, algunos escenarios de juego pueden beneficiarse de procesar los datos almacenados en las propiedades de los miembros y convertirlos en logros de los jugadores.
* Los jugadores que quieran seguir jugando con el mismo grupo permanecen en el lobby.
* Los jugadores que quieran dejar de jugar con el mismo grupo abandonan el lobby con **PFLobbyLeave** y reinician el proceso con un nuevo grupo de matchmaking.

## Consulte también

* [Crear un lobby](/services/playfab/multiplayer/lobby/create-a-lobby)
* [Invitaciones de lobby](/services/playfab/multiplayer/lobby/lobby-invites)
* [Propiedades de búsqueda](/services/playfab/multiplayer/lobby/define-search-keywords)
* [Propiedades del lobby](/services/playfab/multiplayer/lobby/lobby-properties)
* [Uso de tickets de relleno de servidor en Matchmaking](/services/playfab/multiplayer/matchmaking/backfill-tickets)


## Related topics

- [Mensajes en tiempo real de Lobby y Matchmaking](/es/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages.md)
- [Mensajes en tiempo real para las API de Lobby y Matchmaking](/es/services/playfab/multiplayer/real-time-messages/overview.md)
- [Rendimiento de los juegos en entornos de CPU híbridas](/es/build/gdk-and-engines/guides/hybrid-cpu-performance.md)
- [Inicio rápido del SDK de Matchmaking](/es/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [Buscar lobbies](/es/services/playfab/multiplayer/lobby/find-lobbies.md)
