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

# Visão geral dos conceitos de multiplayer

> Principais termos e conceitos de multiplayer do XBOX, incluindo sessões multiplayer, MPSD, modelos de sessão, matchmaking SmartMatch e qualidade de serviço (QoS).

O sistema Multiplayer inclui a sessão multiplayer, o Multiplayer Session Directory (MPSD), o matchmaking SmartMatch e a qualidade de serviço (QoS).

Este tópico descreve vários termos e conceitos importantes de multiplayer que são usados com frequência na documentação dos serviços do XBOX.
Entendê-los bem ajuda você a compreender como funciona o multiplayer dos serviços do XBOX.

## Sessão multiplayer

Uma *sessão multiplayer* representa um grupo de jogadores dos serviços do XBOX e as propriedades associadas a eles.
A sessão é criada e mantida pelos títulos. Ela é representada como um documento JSON seguro que fica na nuvem dos serviços do XBOX.

O próprio documento da sessão contém informações sobre os jogadores dos serviços do XBOX conectados à sessão, quantas vagas estão disponíveis, metadados personalizados (para a sessão e para cada membro da sessão) e outras informações relacionadas à sessão de jogo.

Cada sessão é baseada em um *modelo de sessão*. Ele é definido pelo desenvolvedor do jogo e configurado na configuração dos serviços do XBOX de uma instância do título.

Um título pode criar e atualizar uma sessão, mas não pode excluí-la diretamente.
Em vez disso, depois que todos os jogadores são removidos de uma sessão, o serviço Multiplayer dos serviços do XBOX exclui a sessão automaticamente após um tempo limite especificado.

Os títulos podem optar por usar várias sessões, mas uma implementação multiplayer típica usa as duas sessões a seguir.

* **Sessão de lobby:** representa um grupo de amigos que desejam permanecer juntos ao longo de um jogo; por exemplo, várias rodadas, níveis e mapas.

* **Sessão de jogo:** representa as pessoas que estão jogando em uma instância de sessão específica de um jogo, como uma rodada, uma partida ou um nível. Essa sessão pode incluir membros de várias sessões de lobby que ingressaram juntos na instância da sessão, normalmente por meio de um serviço de matchmaking.

Para obter informações detalhadas sobre sessões multiplayer, consulte [Tópicos avançados de sessões multiplayer](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details.md).

### Cenário de exemplo

Neste cenário de exemplo, Tereza quer jogar um jogo multiplayer com seus amigos, Sergio e Alejandra.

1. Tereza inicia um jogo e, em seguida, convida Sergio e Alejandra para o jogo dela.
2. Depois que eles ingressam, Tereza, Sergio e Alejandra estão todos em uma sessão de lobby.
3. Nessa sessão, eles decidem jogar uma partida online com outras pessoas.
   1. O jogo cria uma sessão de jogo. Ele usa o serviço de matchmaking dos serviços do XBOX para preencher as vagas restantes com outros jogadores dos serviços do XBOX.
   2. Suponha que Ermal e Miguel sejam combinados com eles, e os cinco joguem a rodada juntos.
4. Quando a rodada termina, Tereza, Sergio e Alejandra saem da sessão de jogo, mas continuam juntos na sessão de lobby (sem Ermal e Miguel). Os três amigos podem optar por jogar outra rodada ou mudar para um modo de jogo diferente.

### Membro da sessão

Um *membro da sessão* é um jogador dos serviços do XBOX que faz parte de uma sessão.

### Árbitro

Um *árbitro* é um console ou dispositivo que gerencia o estado da sessão de um jogo.
Por exemplo, o árbitro seria responsável por divulgar uma sessão de jogo ao matchmaking para encontrar mais jogadores.

O árbitro é definido pelo título.
O árbitro e o host do jogo podem ser o mesmo, mas isso não é essencial.

### Host da sessão

O *host da sessão* é o console ou dispositivo que executa a simulação da jogabilidade em títulos criados com uma arquitetura de rede ponto a ponto baseada em host.
Esse console ou dispositivo normalmente é o mesmo que o árbitro, mas isso não é essencial.

## Multiplayer Session Directory (MPSD)

O serviço Multiplayer dos serviços do XBOX opera na nuvem dos serviços do XBOX. O serviço centraliza os metadados do sistema multiplayer de um jogo entre vários clientes.
O sistema que acompanha esses metadados é conhecido como *Multiplayer Session Directory (MPSD)*.

Você pode pensar no MPSD como uma biblioteca de sessões de jogo ativas.
Seu jogo pode adicionar, pesquisar, modificar ou remover sessões ativas relacionadas ao seu título.
O MPSD também gerencia o estado das sessões e as atualiza quando necessário.

O MPSD permite que os títulos compartilhem as informações básicas necessárias para conectar um grupo de jogadores.
Ele garante que a funcionalidade das sessões seja sincronizada e consistente.
O MPSD se coordena com o shell e com o sistema operacional do console XBOX One (ou posterior) no envio e na aceitação de convites e na entrada por meio do gamercard.

### Identificadores de sessão

Uma *sessão* é identificada de forma exclusiva no MPSD pela combinação de alguns dados. Eles são os seguintes.

* O identificador de configuração de serviço (SCID) do título
* O nome do modelo de sessão usado para criar a sessão
* O nome da sessão

Um *identificador de sessão* é um objeto JSON que contém uma referência a uma sessão específica existente no MPSD.
Os identificadores de sessão permitem que os membros dos serviços do XBOX ingressem em sessões existentes.

Cada identificador de sessão inclui um GUID que identifica o identificador de forma exclusiva, o que permite aos títulos referenciar a sessão usando um único GUID.

Os identificadores de sessão são os seguintes.

#### Identificador de convite

Um *identificador de convite* é passado a um membro quando ele é convidado para um jogo.
O identificador de convite contém informações que permitem ao jogo do membro convidado ingressar na sessão correta.

#### Identificador de pesquisa

Um *identificador de pesquisa* inclui metadados adicionais sobre a sessão e permite que os títulos pesquisem sessões que atendam aos critérios selecionados.

#### Identificador de atividade

Um *identificador de atividade* permite que os membros vejam o que outros membros de sua rede social estão jogando. Esse identificador pode ser usado para ingressar no jogo de um amigo.

#### Identificador de correlação

Um *identificador de correlação* funciona efetivamente como um alias para uma sessão, permitindo que um jogo se refira a uma sessão usando apenas o ID do identificador de correlação.

#### Identificador de transferência

Um *identificador de transferência* é usado para mover jogadores de uma sessão para outra.

### Convites

Os serviços do XBOX oferecem um sistema de convites com suporte do serviço Multiplayer.
Esse serviço permite que os jogadores convidem outros jogadores para suas sessões de jogo.
Os jogadores convidados recebem um convite de jogo. O título usa essas informações para ingressar em uma sessão e uma experiência multiplayer existentes.

Os títulos controlam o fluxo de convites e quando os convites podem ser enviados.
Os convites podem ser enviados pelo jogador por meio do shell ou diretamente pelo título.

O texto de notificação de um convite pode ser definido dinamicamente por um título para fornecer mais informações ao jogador convidado.
Os convites também podem incluir dados adicionais para o título que não ficam visíveis para o jogador e podem ser usados para transportar informações adicionais.

### Entrada em andamento

Além dos convites, os serviços do XBOX também oferecem uma opção no shell para que os jogadores ingressem em uma sessão de jogabilidade ativa de amigos ou de outros jogadores conhecidos.
Isso possibilita outro caminho para uma sessão de jogo ativa e também é controlado pelo MPSD.

Os títulos controlam quando as sessões podem receber entradas e qual sessão expor para entrada em andamento.

### Ativação de protocolo

Se Tereza enviar um convite para Alejandra ingressar no jogo dela, Alejandra receberá uma notificação no dispositivo, que ela pode aceitar ou recusar.

Se Alejandra aceitar o convite, o sistema operacional tentará iniciar o jogo, caso ele ainda não esteja em execução. O sistema operacional dispara um evento de ativação que contém informações sobre o motivo pelo qual o jogo foi ativado e quaisquer detalhes adicionais. (No caso de um convite, por exemplo, os detalhes incluem o ID do jogador que convidou o membro e a sessão para a qual o membro foi convidado.)

O processo de tratamento desse evento é conhecido como *ativação de protocolo*. Ele indica que o jogo deve entrar automaticamente em um estado específico, detalhado nos argumentos do evento de ativação.
Se o membro estiver ingressando em um jogo multiplayer, o ID do identificador de sessão será especificado como um dos argumentos.

No caso de Alejandra, aceitar o convite deve iniciar o jogo automaticamente (se necessário) e colocá-la na mesma sessão de jogo em que Tereza está. Isso é feito sem que Alejandra precise realizar nenhuma outra ação.

A ativação de protocolo pode ser disparada ao aceitar um convite, ao ingressar no jogo de outro membro por meio do cartão de perfil dele ou ao selecionar uma conquista com link profundo.

## Matchmaking SmartMatch

*SmartMatch* é o nome do serviço dos serviços do XBOX para matchmaking anônimo.
Esse serviço combina jogadores do mesmo jogo com base em um conjunto configurável de regras de partida.

O serviço de matchmaking trabalha em estreita colaboração com o MPSD e usa sessões para a entrada e a saída do matchmaking.
O matchmaking é realizado no serviço, o que permite aos títulos oferecer facilmente outras experiências durante o fluxo de matchmaking; por exemplo, o modo single-player dentro do título.

Indivíduos ou grupos que desejam entrar no matchmaking criam uma sessão de tíquete de partida e, em seguida, solicitam ao serviço de matchmaking que encontre outros jogadores com quem montar uma partida.
Isso resulta na criação de um "tíquete de partida" temporário que permanece no serviço de matchmaking (em um hopper de partida) por um período de tempo.

O serviço de matchmaking escolhe as sessões que jogarão juntas com base na configuração de regras, nas estatísticas armazenadas para cada jogador e em quaisquer informações adicionais fornecidas no momento da requisição de partida.
Em seguida, o serviço cria uma sessão de destino da partida que contém todos os jogadores combinados e notifica os títulos dos jogadores sobre a partida.

Quando a sessão de destino estiver pronta, os títulos podem realizar verificações de QoS para confirmar que o grupo pode jogar junto ou adicionar jogadores à sessão para começar a jogabilidade.
Durante o processo de QoS e a jogabilidade combinada, os títulos mantêm o estado da sessão atualizado no MPSD e recebem notificações do MPSD sobre alterações na sessão.
Essas alterações incluem jogadores entrando ou saindo e alterações no árbitro da sessão.

### Sessão de tíquete da partida

Uma sessão de tíquete da partida representa os clientes dos jogadores que desejam formar uma partida.
Normalmente, ela é criada com base em um grupo de jogadores que estão juntos em um lobby ou em outros agrupamentos de jogadores específicos do título.
Em alguns casos, a sessão de tíquete pode ser uma sessão de jogo já em andamento que está procurando mais jogadores.

### Tíquete de partida

Enviar uma sessão de tíquete ao matchmaking resulta na criação de um tíquete de partida que acompanha a tentativa de matchmaking.
Atributos podem ser adicionados ao tíquete; por exemplo, o mapa do jogo ou o nível do jogador.
Esses atributos, junto com os atributos dos jogadores na sessão de tíquete, são usados para determinar a partida.

### Hoppers

*Hoppers* são locais lógicos onde os tíquetes de partida são reunidos e que são especificados no início do matchmaking.
Somente tíquetes do mesmo hopper podem ser combinados.

Um título pode ter vários hoppers. No entanto, ele só pode iniciar o matchmaking em um hopper por vez.
Por exemplo, um título pode criar um hopper em que a habilidade do jogador é o item mais importante para a combinação.
O título pode usar outro hopper em que os jogadores só são combinados se tiverem comprado o mesmo conteúdo baixável.

Você configura os hoppers de matchmaking na configuração do serviço.

## Qualidade de serviço (QoS)

Quando os jogadores jogam um jogo multiplayer online, a qualidade do jogo é afetada pela qualidade da comunicação de rede entre os dispositivos que hospedam os jogos.
Uma rede ruim pode resultar em experiências de jogo indesejáveis, como lag ou quedas de conexão, devido à latência ou à largura de banda insuficiente.

QoS refere-se à medição da força de uma conexão online (latência e largura de banda) entre os jogadores para garantir que todos tenham uma qualidade de conexão de rede suficiente.
Isso é especialmente importante para jogadores combinados durante o matchmaking, a fim de garantir uma boa experiência em relação às conexões de rede.
A QoS é menos aplicável a convites, em que amigos jogam juntos e geralmente estão dispostos a aceitar as consequências de uma conexão ruim.

Você pode configurar a sessão para tratar a QoS automaticamente com base em critérios específicos. Seu jogo também pode fazer a medição da QoS sempre que alguém ingressar na sessão.


## Related topics

- [Visão geral dos convites](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/invites/live-multiplayer-invites-overview.md)
- [Conceitos de multiplayer](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts-nav.md)
- [Introdução à chamada direta do serviço Multiplayer](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/concepts/live-intro-calling-mp-directly.md)
- [Página de visão geral dos builds](https://docs.xbox.com/pt-BR/services/playfab/multiplayer/servers/build-overview.md)
- [Página de visão geral dos servidores](https://docs.xbox.com/pt-BR/services/playfab/multiplayer/servers/build-server-overview.md)
