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

# Usar o lobby e o matchmaking juntos

> Saiba como combinar o PlayFab Lobby e o Matchmaking, incluindo lobbies combinados, para criar cenários multijogador que agrupam jogadores e coordenam sessões de jogo.

Ao projetar jogos multijogador, o matchmaking e os lobbies costumam ser usados juntos para ajudar as pessoas a formar grupos para jogar juntas.

O PlayFab Lobby e o PlayFab Matchmaking ajudam você a implementar uma ampla variedade de cenários multijogador.

Este artigo descreve a relação entre esses dois serviços e mostra como eles podem ser usados juntos para implementar o seguinte [cenário de jogo](#example-scenario).

## Entender a relação entre o Lobby e o Matchmaking

O Lobby e o Matchmaking funcionam perfeitamente juntos para criar uma experiência coesa de matchmaking multijogador para o seu título.

* O Matchmaking reúne um conjunto de jogadores que querem participar de uma sessão de jogo.
* Depois que o matchmaking identifica um conjunto de jogadores, o Lobby oferece a eles um meio de comunicação para coordenar o ingresso conjunto em uma sessão de jogo.
  * Os cenários comuns do lobby incluem compartilhar informações de conexão do servidor de jogo, compartilhar IPs dos clientes para jogos ponto a ponto e compartilhar configurações dos jogadores.

<a id="arranged-lobbies" />

### Lobbies combinados

Os títulos podem usar "lobbies combinados" para facilitar a criação de lobbies para jogadores agrupados por meio do matchmaking.

Depois que o tíquete de matchmaking combina com êxito um grupo de jogadores, o tíquete de matchmaking contém uma **lobbyArrangementString**. Cada jogador pode então passar a cadeia de caracteres de combinação para **PFMultiplayerJoinArrangedLobby** para ingressar no mesmo lobby.

<a id="example-scenario" />

## Cenário de exemplo

Um jogador quer jogar com outras pessoas. O jogador inicia um jogo multijogador, convida amigos e aguarda que outros ingressem.

<a id="design-specifications" />

### Especificações de design

* O jogo está aberto para que todos ingressem.
* O conjunto inicial de jogadores é preenchido por meio do matchmaking.
* O proprietário do lobby pode convidar amigos para ingressar.
* Quando o número necessário de jogadores é atingido, todos os jogadores do lobby recebem uma mensagem perguntando se estão prontos para iniciar o jogo. Eles têm um minuto para responder. O jogo começa depois que todos os jogadores confirmam que estão prontos para começar.
* Se os jogadores do lobby não confirmarem que estão prontos para jogar, o proprietário do lobby poderá removê-los como jogadores inativos e usar o matchmaking para encontrar novos jogadores e substituí-los rapidamente.
* Quando algum jogador for desconectado inesperadamente durante o jogo, o título deverá encontrar um substituto para o jogador que caiu por meio do matchmaking usando o preenchimento de vagas do servidor.
* Quando o jogo terminar, todos os jogadores retornam ao lobby. Os jogadores recebem conquistas de equipe igualmente. Eles podem ficar para iniciar outro jogo juntos ou sair do lobby.

### Implementação

Esta seção descreve como usar o Matchmaking e o Lobby para implementar as [especificações de design](#design-specifications).

* [Criar um lobby formado por matchmaking](#create-a-match-made-lobby)
* [Enviar convites aos amigos](#send-invites-to-friends)
* [Permitir que as pessoas encontrem o jogo e ingressem nele](#allow-people-to-find-and-join-game)
* [Obter a confirmação dos jogadores para iniciar o jogo](#get-player-confirmation-to-start-game)
* [Remover e substituir jogadores inativos](#remove-and-replace-inactive-players)
* [Tratar um jogo concluído](#handle-a-finished-game)

<a id="create-a-match-made-lobby" />

### Criar um lobby formado por matchmaking

Crie um lobby público para um grupo de jogadores combinados pelo matchmaking.

* Cada jogador cria um tíquete de matchmaking com os atributos de matchmaking especificados.
  * Para saber mais, consulte [Especificar atributos do tíquete](/pt-BR/services/playfab/multiplayer/matchmaking/ticket-attributes).
* Todos os tíquetes criados são adicionados a uma fila de matchmaking para serem combinados entre si.
  * Os tíquetes são combinados com base em regras.
  * As regras podem ser definidas na configuração da fila de matchmaking.
  * Para saber mais, consulte [Configurar filas de matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/config-queues).
* Após o matchmaking, cada jogador ingressa no lobby formado por matchmaking por meio da **lobbyArrangementString** do tíquete de matchmaking.
  * Ao ingressar no lobby combinado, especifique que a **accessPolicy** do lobby é **Public** para torná-lo aberto.
  * Para obter mais informações, consulte [Lobbies combinados](#arranged-lobbies).
* O primeiro jogador a ingressar no lobby combinado se torna o proprietário do lobby.
* As propriedades do lobby podem ser usadas para especificar qual mapa de jogo uma sessão de jogo pretende usar.
  * Para obter mais informações, consulte [Propriedades do lobby](/pt-BR/services/playfab/multiplayer/lobby/lobby-properties).
* Use propriedades de pesquisa para permitir que os jogadores encontrem esse lobby e essa sessão de jogo entre todos os lobbies ativos do seu título.
  * Para obter mais informações, consulte [Propriedades de pesquisa](/pt-BR/services/playfab/multiplayer/lobby/define-search-keywords).

<a id="send-invites-to-friends" />

### Enviar convites aos amigos

Permita que o proprietário do lobby selecione amigos e envie convites.

* Obtenha a lista de amigos do proprietário do lobby
* Exiba a interface do usuário do jogo para permitir que o proprietário do lobby selecione os amigos a convidar
* Envie convites no jogo aos amigos selecionados.
  * Para obter mais informações, consulte [Convites de lobby](/pt-BR/services/playfab/multiplayer/lobby/lobby-invites).

<a id="allow-people-to-find-and-join-game" />

### Permitir que as pessoas encontrem o jogo e ingressem nele

Configure as propriedades de pesquisa do lobby para permitir que outros jogadores o encontrem

* Exiba todos os lobbies na interface do usuário do jogo. Seu título também deve oferecer uma forma de aceitar os termos de pesquisa do jogador.
* Use **PFMultiplayerFindLobbies** com os parâmetros de pesquisa do jogador para retornar uma lista de lobbies que correspondam aos critérios.
* Depois que um jogador optar por ingressar em um jogo, use **PFMultiplayerJoinLobby** para adicionar o jogador ao jogo.

<a id="get-player-confirmation-to-start-game" />

### Obter a confirmação dos jogadores para iniciar o jogo

Informe a todos os jogadores do lobby que o jogo está pronto para começar

* Quando o número necessário de jogadores estiver no lobby, exiba a interface do usuário do jogo para que os jogadores confirmem que estão prontos para começar a jogar.
* Permita que o proprietário do lobby veja essas respostas de confirmação.

<a id="remove-and-replace-inactive-players" />

### Remover e substituir jogadores inativos

O proprietário do lobby pode remover jogadores inativos ou desconectados e iniciar o matchmaking para preencher as vagas restantes

* Se um jogador se desconectar ou não responder dentro do período definido (um minuto), use **PFLobbyForceRemoveMember** para remover o jogador.
* O proprietário do lobby usa **CreateServerBackfillTicket** para criar um tíquete de matchmaking. Os tíquetes criados usando essa API recebem prioridade durante a pesquisa. Essa abordagem minimiza a interrupção da jogabilidade. Para saber mais, consulte [Usar tíquetes de preenchimento de vagas do servidor](/pt-BR/services/playfab/multiplayer/matchmaking/backfill-tickets).
* Depois de ingressar no lobby de preenchimento de vagas, o proprietário do lobby do jogo pode compartilhar a cadeia de conexão do lobby original com os novos jogadores de preenchimento, e eles podem ingressar no lobby original.
* Estenda o horário de início do jogo quando apropriado.

<a id="handle-a-finished-game" />

### Tratar um jogo concluído

Após o término do jogo, todos os jogadores retornam à tela do lobby para concluir a sessão de jogo.

* Os lobbies são transitórios, portanto quaisquer dados do lobby que devam ser persistidos precisam ser retidos por cada jogador nesse momento.
  * Por exemplo, alguns cenários de jogo podem se beneficiar do processamento dos dados armazenados nas propriedades de membro e da transformação desses dados em conquistas do jogador.
* Os jogadores que quiserem continuar jogando com o mesmo grupo permanecem no lobby.
* Os jogadores que quiserem parar de jogar com o mesmo grupo saem do lobby com **PFLobbyLeave** e reiniciam o processo com um novo grupo de matchmaking.

## Confira também

* [Criar um lobby](/pt-BR/services/playfab/multiplayer/lobby/create-a-lobby)
* [Convites de lobby](/pt-BR/services/playfab/multiplayer/lobby/lobby-invites)
* [Propriedades de pesquisa](/pt-BR/services/playfab/multiplayer/lobby/define-search-keywords)
* [Propriedades do lobby](/pt-BR/services/playfab/multiplayer/lobby/lobby-properties)
* [Usar tíquetes de preenchimento de vagas do servidor no Matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/backfill-tickets)


## Related topics

- [Início rápido do SDK de Matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [Notas de versão do PlayFab OnlineSubsystem para Unreal Engine](/pt-BR/services/playfab/multiplayer/networking/unreal-release-notes.md)
- [Lidando com casos de erro comuns](/pt-BR/services/playfab/multiplayer/matchmaking/error-cases.md)
- [Matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/index.md)
- [Visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview.md)
