- A medição da latência e da largura de banda entre consoles XBOX One (ou posteriores) ou entre consoles e servidores
- A avaliação das medições resultantes para determinar se a conexão de rede entre os nós é boa

Inicialização gerenciada
O Multiplayer Session Directory (MPSD) oferece suporte a um recurso chamado inicialização gerenciada, por meio do qual ele coordena o processo de inicialização da sessão de destino entre os clientes envolvidos em uma sessão. O MPSD acompanha automaticamente os estágios de inicialização e os tempos limite associados da sessão. O MPSD também avalia a conectividade entre os clientes, se necessário. A inicialização gerenciada é representada pela enumeração XblMultiplayerInitializationStage.É altamente recomendável que seu título use o matchmaking SmartMatch para aproveitar o recurso de inicialização gerenciada pelo MPSD.
Episódios e estágios da inicialização gerenciada
Uma sessão de destino passa pela inicialização gerenciada sempre que o matchmaking adiciona novos jogadores à sessão. O SmartMatch adiciona membros à sessão com o estado de usuário Reserved, o que significa que cada membro ocupa uma vaga, mas ainda não ingressou na sessão. Cada grupo de novos jogadores dispara um novo episódio de inicialização. Quando a inicialização é concluída, cada jogador é aprovado ou reprovado no processo. Um jogador que conclui a inicialização com êxito pode jogar usando a sessão de destino. Um jogador que falha deve ser reenviado ao matchmaking para ser combinado em outra sessão. Nos casos em que uma sessão é enviada ao matchmaking com o parâmetropreserveSession definido como Always, os membros preexistentes da sessão não passam pela inicialização, porque o MPSD pressupõe que eles estejam configurados corretamente.
Cada episódio de inicialização gerenciada consiste nos estágios a seguir.
- Entrada: os membros da sessão se gravam na sessão para mudar seu estado de usuário de
ReservedparaActive. Eles podem carregar dados básicos, como um endereço de dispositivo seguro. - Medição: em topologias baseadas em pares, os membros da sessão medem a QoS entre si e, em seguida, carregam os resultados na sessão.
- Avaliação: o MPSD avalia os resultados dos dois últimos estágios e, em seguida, determina se a sessão ou os membros foram inicializados com êxito.
Configurando a sessão de destino para a inicialização
O título pode configurar o processo de inicialização gerenciada usando constantes na sessão de destino que está sendo inicializada. Essas constantes são definidas em /constants/system no modelo de sessão com a versão 107. Recomendamos essa versão de modelo. Você pode fazer os dois tipos de definições de configuração a seguir.- Definições que configuram o processo de inicialização gerenciada como um todo
- Definições que configuram os requisitos de QoS
Se os requisitos de QoS não estiverem definidos na configuração de inicialização da sessão de destino, o estágio de medição durante a inicialização será ignorado.
Configurando a inicialização gerenciada como um todo
Para controlar a inicialização gerenciada de forma geral, defina os campos a seguir. Os campos a serem definidos para controlar a inicialização gerenciada fazem parte do objeto/constants/system/memberInitialization.
-
joinTimeout: especifica quanto tempo o MPSD aguarda a entrada de cada membro depois que o episódio de inicialização começa. O padrão é 10 segundos. -
measurementTimeout: especifica quanto tempo o MPSD aguarda que cada membro carregue os resultados da medição de QoS depois que o estágio de medição começa. O padrão é 30.000 segundos. -
membersNeededToStart: especifica o número de membros que devem concluir a inicialização com êxito para que o primeiro episódio de inicialização seja bem-sucedido. O padrão é 1.
Se esse limite não for atingido, todos os membros falharão na inicialização.
Configurando os requisitos de QoS
A QoS só é necessária durante a inicialização se o título usar uma topologia ponto a ponto ou par-host. Cada topologia corresponde a uma constante específica da topologia em /constants/system/.Configurando os requisitos de QoS para a topologia ponto a ponto
É raro que os títulos definam requisitos de QoS para a topologia ponto a ponto. Essas definições são muito restritivas e causam problemas para jogadores que têm conversões de endereços de rede (NATs) estritas.
peerToPeerRequirements.
Cada cliente deve conseguir se conectar a todos os outros clientes.
O objeto peerToPeerRequirements tem os campos pertinentes a seguir.
-
latencyMaximum: especifica a latência máxima entre dois clientes quaisquer -
bandwidthMinimum: especifica a largura de banda mínima entre dois clientes quaisquer
Configurando os requisitos de QoS para a topologia par-host
Você pode definir os requisitos de QoS da topologia par-host no objetopeerToHostRequirements.
Cada cliente deve conseguir se conectar a um único host comum.
Se esse objeto estiver configurado e a inicialização for bem-sucedida, o MPSD criará uma lista inicial de clientes que são possíveis hosts, conhecidos como candidatos a host.
Defina os campos a seguir.
-
latencyMaximum: especifica a latência máxima entre cada par e o host -
bandwidthDownMinimum: especifica a largura de banda mínima de download entre cada par e o host -
bandwidthUpMinimum: especifica a largura de banda mínima de upload entre cada par e o host -
hostSelectionMetric: especifica a métrica usada para selecionar o host
