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

# Introdução à chamada direta do serviço Multiplayer

> Introdução à chamada direta da API do Multiplayer 2015 e do MPSD em vez de usar o Multiplayer Manager, incluindo sessões, convites e SmartMatch.

<Note>
  Este tópico aborda o uso direto das APIs multiplayer. Para obter uma visão geral dos recursos multiplayer ao desenvolver títulos usando o Microsoft Game Development Kit (GDK), consulte os tópicos a seguir.

  * [Visão geral do multiplayer (tópico sob NDA)](/pt-BR/services/xbox-services/multiplayer/overviews/multiplayer-intro)
  * [Orientações de design de multiplayer para XBOX e PC (tópico sob NDA)](/pt-BR/services/xbox-services/multiplayer/overviews/multiplayer-design-guidance-xbox-pc-gdk)
  * [Orientações de design de multiplayer multiplataforma (tópico sob NDA)](/pt-BR/services/xbox-services/multiplayer/overviews/multiplayer-design-guidance-cross-platform)
</Note>

## Sobre o sistema Multiplayer

O Multiplayer 2015 otimiza o uso direto do Multiplayer Session Directory (MPSD) e das sessões de jogo. Ele oferece melhor suporte a várias sessões simultâneas para um único título ou jogador e atualiza a XBOX Services API (XSAPI) para permitir que os títulos:

* Divulguem a atividade atual de um jogador e sua disponibilidade para receber entradas.
* Enviem convites para sessões, junto com cadeias de contexto visíveis para o jogador (especificadas pelo título).
* Descubram sessões e ingressem nelas por meio do código do título.
* Mantenham conexões web socket com o MPSD para receber notificações breves (shoulder taps) sobre alterações nas sessões; por exemplo, atualizações que refletem assinaturas de eventos de alteração e alterações de estado da conexão. O MPSD também usa conexões web socket para detectar rapidamente desconexões de clientes e agir sobre elas.
* Usem o matchmaking SmartMatch.

## Componentes, interfaces e arquiteturas do multiplayer

### Componentes do Multiplayer 2015

O Multiplayer é um sistema composto por vários componentes. O Multiplayer 2015 é flexível o suficiente para funcionar com outros componentes, como servidores dedicados e sistemas de matchmaking externos.

#### Multiplayer Session Directory

O MPSD é um serviço que contém um conjunto de sessões. Uma *sessão* é definida como um documento seguro que fica na nuvem e representa um grupo de pessoas que estão jogando um jogo.

Para obter mais informações, consulte [Multiplayer Session Directory (MPSD)](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-nav).

#### API de cliente do multiplayer

A funcionalidade REST pode ser usada em chamadas diretas a partir dos seus títulos, mas recomendamos que você acesse o MPSD por meio da XSAPI. Para obter mais informações, consulte [Chamando o MPSD](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#calling-mpsd).

#### Sistema de parties do XBOX

No Multiplayer 2015, o sistema de parties do XBOX oferece suporte apenas a parties de chat como entidades externas. Os títulos podem interagir com o sistema de parties para descobrir os membros das parties de chat. Para obter mais informações, consulte [Parties compatíveis com o Multiplayer 2015](#parties-supported-by-2015-multiplayer) mais adiante neste tópico.

Agora, o sistema de parties oferece suporte a jogos diretamente por meio da sessão do MPSD, em vez de usar uma party de jogo. Cabe ao título usar sessões para permitir operações como a interação entre membros, a inclusão de jogadores em uma partida à medida que surgem vagas e o engajamento dos jogadores durante os períodos de espera.

### Interfaces do Multiplayer 2015

O Multiplayer 2015 usa várias interfaces com outros componentes do XBOX.

#### Sockets seguros do XBOX

O Multiplayer 2015 oferece suporte à comunicação de rede de baixo nível entre dispositivos usando os sockets seguros do XBOX e o Winsock. A funcionalidade de rede usa o Internet Protocol Security (IPSec) para que os títulos possam fornecer uma associação segura entre dispositivos.

#### Serviço Real-Time Activity dos serviços do XBOX

O Multiplayer 2015 usa o serviço Real-Time Activity (RTA) para que os títulos possam assinar alterações nas sessões do MPSD e detectar automaticamente desconexões de clientes. Para obter mais informações, consulte [Serviço Real-Time Activity (RTA)](/pt-BR/services/xbox-services/fundamentals/rta/live-rta-nav).

#### Serviço de matchmaking SmartMatch dos serviços do XBOX

O serviço de matchmaking SmartMatch forma grupos de jogadores com base nas preferências e nos dados dos jogadores e nas informações fornecidas durante o matchmaking. Para obter mais informações, consulte a [visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview).

#### Serviço Reputation dos serviços do XBOX

O serviço Reputation gerencia as estatísticas de reputação dos jogadores e permite o matchmaking filtrado por reputação. O Multiplayer 2015 usa o serviço Reputation por meio do matchmaking SmartMatch. Para obter mais informações, consulte [Reputação](/pt-BR/services/xbox-services/community/reputation/live-reputation-nav).

### Arquiteturas típicas do Multiplayer 2015

Esta seção apresenta as arquiteturas mais típicas do Multiplayer 2015.

#### Arquitetura ponto a ponto

Na arquitetura ponto a ponto, o título usa o MPSD e o matchmaking SmartMatch para descobrir os endereços dos pares. Em seguida, o título usa os endereços para conectar os pares usando os sockets seguros do XBOX, conforme mostrado no diagrama a seguir. Para obter mais informações, consulte [Introdução aos Windows Sockets](/pt-BR/build/console-features/networking/game-mesh/winsock-intro-networking).

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Mult2015ArchPeer.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=7ddc938f62adc92a9703ecfd74a3bc7b" alt="Diagrama que mostra a arquitetura ponto a ponto" width="742" height="241" data-path="images/gdk/services/Mult2015ArchPeer.png" />

#### Arquitetura cliente/servidor

Na arquitetura cliente/servidor, o título usa o MPSD e o matchmaking SmartMatch para descobrir os endereços dos servidores dedicados. Em seguida, o título usa os endereços para se conectar ao servidor dedicado usando os sockets seguros do XBOX, conforme mostrado no diagrama a seguir. Para obter mais informações, consulte [Introdução aos Windows Sockets](/pt-BR/build/console-features/networking/game-mesh/winsock-intro-networking).

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Mult2015ArchClientServer.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=ad1bfe552f2f3203ee2bd57a5fa8e974" alt="Diagrama que mostra a arquitetura cliente/servidor" width="742" height="241" data-path="images/gdk/services/Mult2015ArchClientServer.png" />

<Note>
  Instâncias de servidores do Azure PlayFab podem ser os servidores na arquitetura cliente/servidor. Para obter mais informações, consulte [Multiplayer Servers](https://learn.microsoft.com/gaming/playfab/features/multiplayer/servers/).
</Note>

<a id="parties-supported-by-2015-multiplayer" />

## Parties compatíveis com o Multiplayer 2015

O Multiplayer 2015 para XBOX One (ou posterior) não expõe a "party de jogo" como uma construção no nível do sistema. No entanto, ele oferece suporte à "party de chat" no nível do sistema, assim como o Multiplayer 2014. E, usando sessões do MPSD, seus títulos ainda podem oferecer experiências aos jogadores semelhantes às que usavam a party de jogo.

### Party de chat

Uma *party de chat* é um grupo de pessoas que estão conversando entre si, gerenciado pelo jogador por meio do aplicativo Party do XBOX One. Os jogadores podem estar em uma party de chat enquanto jogam em uma sessão de jogo ou enquanto realizam outra atividade no console. No entanto, não há vínculos entre os jogadores da party de chat e outras atividades desses jogadores.

A party de chat é exposta pela classe `PartyChat`, que permite ao título examinar o estado da party de chat. Por exemplo, um título pode enumerar os membros da party de chat usando o método `PartyChat.GetPartyChatViewAsync`.

### Implementando recursos semelhantes à party de jogo

No Multiplayer 2014, a party de jogo servia a vários propósitos. Ela permitia que um título:

* Divulgasse a atividade atual de um jogador e sua disponibilidade para receber entradas.
* Enviasse convites para sessões.
* Descobrisse sessões e ingressasse nelas.
* Recebesse notificações sobre determinadas alterações nas sessões registradas na party.
* Usasse o matchmaking SmartMatch.
* Mantivesse um grupo de pessoas juntas ao longo de várias sessões de jogo.

O Multiplayer 2015 oferece suporte a todos esses recursos diretamente por meio das sessões do MPSD.

## Terminologia do multiplayer

| Termo | Descrição |
| - | - |
| Jogador ativo | Um jogador definido com o estado Active na sessão. O título define um jogador com esse estado quando ele está participando de uma partida. Para obter mais informações, consulte a seção [Estados de usuário da sessão](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details#session-user-states) no tópico "Tópicos avançados de sessões multiplayer". |
| Árbitro | O único console em uma sessão de jogo que gerencia o estado da sessão do MPSD de uma partida, por exemplo, divulgando a sessão de jogo ao matchmaking para encontrar mais jogadores. O árbitro é definido pelo título. O árbitro nem sempre é o host do jogo. Para obter mais informações, consulte a seção [Árbitro da sessão](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details#session-arbiter) no tópico "Tópicos avançados de sessões multiplayer". |
| Jogo combinado | Um tipo de jogo criado apenas por meio de um jogador convidando outros jogadores para ingressar, sem nenhum envolvimento do matchmaking. |
| Party de chat | Um grupo de pessoas que estão conversando juntas. As pessoas podem estar envolvidas na mesma atividade ou em atividades diferentes, como jogos, música ou aplicativos. Para obter mais informações, consulte [Parties compatíveis com o Multiplayer 2015](#parties-supported-by-2015-multiplayer) anteriormente neste tópico. |
| Convite de jogo | Um convite para ingressar em uma sessão de jogo. |
| Sessão de jogo | Uma sessão em que os jogadores estão realmente jogando juntos. Todos os cenários multiplayer, como o matchmaking ou a entrada em um lobby, acabam em uma sessão de jogo. A sessão costuma ser divulgada como a atividade atual dos jogadores para permitir entradas. Ela também é usada para criar a lista de jogadores recentes. Para obter mais informações, consulte [Tópicos avançados de sessões multiplayer](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details). |
| Host da sessão de jogo | O console que executa a simulação da jogabilidade em títulos criados com uma arquitetura de rede ponto a ponto baseada em host. Esse console normalmente é o mesmo que o árbitro, mas não precisa ser. |
| Identificador (ou identificador de sessão) | Uma referência a uma sessão do MPSD que tem estado e comportamento adicionais associados. Para obter mais informações, consulte a seção [Identificadores do MPSD para sessões](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-handles-to-sessions) no tópico "Visão geral do Multiplayer Session Directory". |
| Jogador inativo | Um jogador definido com o estado Inactive na sessão. O título define um jogador com esse estado quando um jogo é suspenso ou fica inativo de alguma outra forma, conforme definido pelo título. Em alguns casos, o MPSD também pode definir um jogador como inativo, mas essa é principalmente uma responsabilidade do título. Para obter mais informações, consulte a seção [Estados de usuário da sessão](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details#session-user-states) no tópico "Tópicos avançados de sessões multiplayer". |
| Hopper | Um conjunto de tíquetes de partida orientado por lógica. Um título pode ter vários hoppers, mas somente os tíquetes do mesmo hopper podem ser combinados. Por exemplo, um título pode criar um hopper em que a habilidade do jogador é o item mais importante para a combinação. Ele pode usar outro hopper em que os jogadores só são combinados se tiverem comprado o mesmo conteúdo baixável. Para obter mais informações sobre onde os hoppers se encaixam no fluxo de trabalho do SmartMatch, consulte a [visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview) |
| Entrada em andamento | O conceito de ingressar na partida de outro jogador depois que a jogabilidade começou. Os jogadores podem ingressar na partida de um amigo por meio do gamercard do amigo. Em seguida, o título pode mover esses jogadores para a sessão de jogo no momento apropriado. |
| Sessão de lobby | Uma sessão auxiliar para os jogadores convidados que estão aguardando para ingressar em uma sessão de jogo. Para obter mais informações, consulte [Tópicos avançados de sessões multiplayer](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details). |
| Sessão de destino da partida | Uma sessão de partida configurada durante o matchmaking SmartMatch para representar a partida. Para obter mais informações, consulte a [visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview). |
| Sessão de tíquete da partida | Uma sessão de partida preliminar configurada durante o matchmaking SmartMatch. Para obter mais informações, consulte a [visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview). |
| Sessão do MPSD | Um documento seguro que fica no MPSD, na nuvem dos serviços do XBOX. Ele contém um grupo de jogadores que podem estar conectados enquanto executam um título no XBOX One (ou posterior), junto com metadados sobre os jogadores e o jogo deles. Para obter mais informações, consulte [Tópicos avançados de sessões multiplayer](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details). |
| Multiplayer Session Directory (MPSD) | O serviço executado na nuvem que o sistema Multiplayer usa para armazenar e recuperar sessões. Para obter mais informações, consulte [Multiplayer Session Directory (MPSD)](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-nav). |
| Aplicativo Party | Um aplicativo snap do sistema do XBOX One (ou posterior) que permite aos jogadores ver e gerenciar suas parties. |
| Sessão de servidor | Uma sessão de jogo criada por servidores, como os servidores multiplayer do PlayFab. Consulte [Tópicos avançados de sessões multiplayer](/pt-BR/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details). |
| Shoulder tap | Uma notificação do MPSD a um título informando que ocorreu uma alteração potencialmente interessante no serviço. O shoulder tap é um lembrete rápido, muitas vezes menos informativo do que uma notificação comum. Para obter mais informações, consulte a seção [Tratamento de notificações de alteração e detecção de desconexão do MPSD](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-change-notification-handling-and-disconnect-detection) no tópico "Visão geral do Multiplayer Session Directory". |
| Matchmaking SmartMatch | Um recurso de matchmaking dos serviços do XBOX disponível para títulos do XBOX One (ou posterior), implementado pelo serviço de matchmaking. Usando o MPSD e o matchmaking, o título faz uma requisição de partida e é notificado mais tarde de que um grupo combinado foi encontrado. Para obter mais informações, consulte a [visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview). |

## Novidades do Multiplayer 2015

<Warning>
  Se o seu título usa o Multiplayer 2015, não use as classes relacionadas a parties do Multiplayer 2014. Misturar a funcionalidade do Multiplayer 2015 com as classes relacionadas a parties causa um comportamento incoerente e nunca deve ser tentado.
</Warning>

### Novos conceitos do Multiplayer 2015

#### Conexões web socket com o MPSD

Agora o MPSD permite que os títulos mantenham conexões web socket. Essas conexões permitem que os clientes recebam notificações quando as sessões mudam.

Para obter mais informações, consulte a seção [Tratamento de notificações de alteração e detecção de desconexão do MPSD](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-change-notification-handling-and-disconnect-detection) no tópico "Visão geral do Multiplayer Session Directory".

#### Identificadores de sessão do MPSD

O Multiplayer 2015 adiciona suporte aos identificadores de sessão do MPSD, que são referências a sessões que podem incluir dados tipados. Para obter mais informações, consulte:

* A seção [Identificadores de sessão](/pt-BR/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts#session-handles) no tópico "Visão geral dos conceitos de multiplayer".
* A seção [Identificadores do MPSD para sessões](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-handles-to-sessions) no tópico "Visão geral do Multiplayer Session Directory".

## Diferenças entre as funções de sessão do MPSD do XBOX 360 e do XBOX One

| Função | XBOX 360 | XBOX One |
| - | - | - |
| **Obter informações da sessão de jogo** | `XSessionGetDetails`, `XSessionSearchByID` ou o título faz o acompanhamento. | O título solicita as informações da sessão ao MPSD. |
| **Migrar o host** | Quando necessário, o título chama `XSessionMigrateHost`. | Dependendo da causa da migração, o título pode atribuir um novo host para a sessão ou criar uma nova sessão do MPSD. |
| **Sessões com vários jogadores** | É complicado lidar com mais de uma sessão por vez; por exemplo, `XNetReplaceKey` em comparação com `XNetUnregisterKey`. | A sessão baseada em serviço torna o gerenciamento de uma sessão mais limpo e simplifica o tratamento de várias sessões. |
| **Saídas e desconexões** | O título precisa tratar a desconexão e a saída de forma diferente com `XCloseHandle` ou `XSessionDelete`. | O MPSD simplifica o tratamento de saídas e desconexões. Os tempos limite são definidos na configuração do jogo. |
| **Matchmaking** | As consultas de matchmaking são baseadas no cliente. | O matchmaking é baseado em serviço, o que permite melhor qualidade das partidas e matchmaking em segundo plano mais fácil dentro do título. |

### Sessões

No XBOX 360, uma sessão representava uma instância de jogabilidade. Os jogadores procuravam sessões no serviço de matchmaking e informavam estatísticas ao final de uma sessão.

Para todas as plataformas de destino posteriores ao XBOX 360 (incluindo o Windows PC), uma sessão é mais genérica e representa um grupo de jogadores.

Uma sessão é necessária para qualquer conectividade de rede entre clientes do XBOX e contém informações que devem ser compartilhadas entre todos os jogadores da sessão. Alguns exemplos dessas informações incluem o número de jogadores permitidos na sessão, o endereço seguro de cada console na sessão e os dados personalizados do jogo.

### Matchmaking do XBOX

No XBOX 360, os títulos faziam o matchmaking especificando um esquema de atributos e um conjunto de consultas para pesquisar nesses atributos. Em tempo de execução, o título escolhia hospedar uma sessão ou procurar uma.

Para todos os clientes do XBOX mais recentes, como o XBOX One (e posteriores) e o Windows PC, o matchmaking é baseado em servidor. Os jogadores e os títulos não decidem mais se vão hospedar ou procurar. Em vez disso, cada grupo de jogadores pré-formado cria uma sessão de "tíquete" e a envia ao serviço de matchmaking.

Em seguida, o serviço encontra outras sessões e combina os grupos para formar uma nova sessão de "destino". Os clientes são notificados da partida e fazem medições de qualidade de serviço (QoS) para validar a conectividade com os outros membros da sessão antes de começar a jogar.

## Confira também

[Multiplayer Session Directory (MPSD)](/pt-BR/services/xbox-services/multiplayer/mpsd/live-mpsd-nav)
[Visão geral do matchmaking](/pt-BR/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview)
[Serviço Real-Time Activity (RTA)](/pt-BR/services/xbox-services/fundamentals/rta/live-rta-nav)
[Reputação](/pt-BR/services/xbox-services/community/reputation/live-reputation-nav)


## Related topics

- [Conceitos de multiplayer](/pt-BR/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts-nav.md)
- [Conceitos](/pt-BR/services/xbox-services/multiplayer/concepts/index.md)
- [Conquistas baseadas em eventos vs. gerenciadas pelo título](/pt-BR/services/xbox-services/player-data/achievements/live-achievements-eb-vs-tm.md)
- [Usando conexões ponto a ponto diretas](/pt-BR/services/playfab/multiplayer/networking/concepts-direct-peer-connectivity.md)
- [Gerenciamento de sessões multiplayer de serviço para serviço](/pt-BR/services/xbox-services/fundamentals/s2s-auth-calls/s2s-calls/s2s-call-patterns/live-mpsd-service-to-service.md)
