Pular para o conteúdo principal
Este tópico descreve como integrar o MPA aos serviços PlayFab Lobby e Match. Isso inclui práticas recomendadas e orientações gerais aplicáveis a outros serviços semelhantes de lobby e matchmaking.

Visão geral do design

Para integrar o MPA ao PlayFab Lobby e Match ou a serviços semelhantes, um título ou serviço do título precisa consultar as informações relevantes no estado do lobby e, em seguida, migrar essas informações para o serviço MPA. O serviço MPA não se destina a informações de estado de lobby ou de sessão.

Atividade

Para a Atividade do MPA, a fonte das informações deve ser as informações do lobby subjacente. Um título ou serviço precisa definir as informações relevantes nos campos de conteúdo da Atividade do MPA seguindo estas práticas recomendadas:
  • Frequência de atualização A migração de estado dos dados do lobby deve ser realizada em uma frequência razoável para refletir alterações, como atualizações nas informações de CurrentPlayers. As chamadas de atualização não devem exceder os limites de chamadas descritos em Limitação de taxa refinada. A Atividade do MPA também não deve ser excluída e recriada para atualizar informações.
  • Identidade de usuário do XBOX (XUID) O XUID de um jogador normalmente é uma informação não validada em serviços fora dos serviços do XBOX e não é o identificador principal de serviços entre redes. O PlayFab Lobby usa um ID de entidade de usuário do PlayFab entre redes para os jogadores, que pode ser convertido em um XUID para o usuário ativo por meio de chamadas de API ou de serviço. Para obter mais detalhes, consulte o Tutorial: obter um perfil de jogador do PlayFab. Somente esse XUID resolvido deve ser considerado seguro. O XUID de outros jogadores não pode ser recuperado dessa forma. Como solução, os XUIDs podem ser fornecidos como propriedades de cadeia de caracteres personalizadas de um jogador no Lobby. Essas cadeias de caracteres não devem ser consideradas seguras e devem sempre ser validadas por meio do serviço PlayFab usando PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult para comparar o ID de entidade de usuário do PlayFab esperado e o real de um XUID. Uma incompatibilidade indica um XUID incorreto. Para todos os serviços, XUIDs fornecidos como cadeias de caracteres não seguras não são seguros e podem levar a ataques de representação sem validação.
  • Cadeia de conexão Para integrar com o serviço PlayFab Lobby, a cadeia de conexão de uma atividade do MPA deve ser definida como a cadeia de conexão do Lobby, que pode ser recuperada por meio de PFLobbyGetConnectionString. Outros serviços devem usar uma cadeia de entrada equivalente.
  • Refletindo a disponibilidade de entrada no lobby Uma Atividade se destina a permitir que os jogadores ingressem em experiências de jogabilidade e precisa corresponder à disponibilidade de entrada do estado do lobby subjacente. Uma Atividade deixa de aceitar entradas automaticamente quando está cheia (CurrentPlayers atinge o valor de MaxPlayers). Títulos que desejam impedir temporariamente as entradas em uma Atividade também podem usar esse comportamento. Uma Atividade só deve ser excluída quando nenhuma entrada futura for possível. Observe que alterar a configuração de privacidade da Atividade apenas restringe as entradas, mas não pode bloquear todas elas. Devido à latência das entradas por meio de Atividades, os títulos devem sempre considerar fluxos em que as entradas são feitas em sessões cheias ou que não aceitam entradas e fornecer os erros apropriados ao jogador.
  • Refletindo alterações de privacidade O estado e as alterações da privacidade da atividade por meio das Join Restrictions devem espelhar a Access Policy definida para o PlayFab Lobby subjacente. O mesmo se aplica a serviços semelhantes e pode exigir o mapeamento de valores de privacidade.

Convites

Para os Convites do MPA, a fonte recomendada também deve ser as informações do lobby subjacente. Essa abordagem recomendada é mais confiável do que um convite para uma malha de rede como o PlayFab Party e pode fornecer informações de estado por meio dos dados do lobby imediatamente. Para integrar com o serviço PlayFab Lobby, a cadeia de conexão de um convite do MPA deve ser definida como a cadeia de conexão do Lobby. Essa cadeia de caracteres pode ser recuperada por meio de PFLobbyGetConnectionString. Além disso, o valor apropriado de entrada multiplataforma deve ser definido para o convite.

Jogadores recentes

O uso da funcionalidade de Jogadores recentes do MPA não está estreitamente vinculado ao lobby subjacente e pode ser orientado pela lógica do título. As chamadas de jogadores recentes não devem exceder os limites de chamadas descritos em Limitação de taxa refinada. Como prática recomendada, a atividade de jogadores recentes deve ser agrupada em lotes dentro de um intervalo de tempo razoável para respeitar os limites de chamadas. Não se espera que o relato de jogadores recentes por um título seja imediato, e o envio em lote é preferível.

Matchmaking

A integração do PlayFab Match ou de serviços de matchmaking semelhantes não exige nenhuma funcionalidade direta do MPA. Os títulos podem querer atualizar a disponibilidade de entrada de uma Atividade do MPA durante o matchmaking se nenhuma entrada for possível. Como prática recomendada, o PlayFab Match deve ser usado em conjunto com o PlayFab Lobby. Assim como na identidade de usuário do lobby, o PlayFab Match usa um ID de entidade de usuário do PlayFab entre redes para os jogadores, que pode ser convertido em um XUID para o usuário ativo por meio de chamadas de API ou de serviço. O XUID de outros jogadores não pode ser recuperado dessa forma. Como solução semelhante à do lobby, os XUIDs podem ser fornecidos como propriedades de cadeia de caracteres personalizadas de um jogador no Lobby. Essas cadeias de caracteres não devem ser consideradas seguras e devem sempre ser validadas por meio do serviço PlayFab, comparando o ID de entidade de usuário do PlayFab esperado e o real de um XUID, conforme descrito acima para o PlayFab Lobby. Uma incompatibilidade indica um XUID incorreto. Para o matchmaking, XUIDs fornecidos como cadeias de caracteres não seguras não são seguros e podem levar a ataques de representação sem validação.

Práticas recomendadas gerais

O serviço MPA foi projetado como um ponto de integração leve para a funcionalidade do XBOX sobre serviços de lobby ou de partidas, como o PlayFab Lobby e Match. Essa integração pode ser leve e realizada apenas em pontos de conexão específicos para refletir as informações necessárias e as atualizações relevantes nas funcionalidades de Atividade, Convites e Jogadores recentes. Além disso, a integração do serviço MPA também deve considerar os pontos de extremidade de serviço para serviço. Dependendo do jogo e da arquitetura multiplayer e de servidores, chamadas diretas de serviço para serviço podem ser drasticamente mais simples e confiáveis do que chamadas de cliente. Isso geralmente se aplica a títulos MMO. Assim como as informações de XUID armazenadas em cadeias de caracteres personalizadas como parte do PlayFab Lobby e Match, quaisquer outras informações de identidade personalizadas devem sempre ser consideradas não seguras e validadas antes do uso. A falta de validação pode levar a ataques de representação, especialmente quando a jogabilidade inclui plataformas com mais acesso e proteções de usuário.
Última modificação em 8 de outubro de 2026