Não é recomendável usar FindLobbies para implementar matchmaking em segundo plano. Recomendamos fortemente usar o recurso de matchmaking nesse cenário. Caso contrário, você precisará lidar com as colisões de jogadores que tentam ingressar nos mesmos lobbies por meio de filtragem, classificação e outras técnicas, como o uso de valores de randomização nos seus campos de dados de pesquisa.
Entender a relação entre as propriedades de pesquisa do lobby e a localização de lobbies
Os jogadores tornam seus lobbies detectáveis definindo propriedades de pesquisa. Os jogadores encontram esses lobbies detectáveis chamando FindLobbies com cadeias de caracteres de consulta para filtrar e classificar os resultados da pesquisa com base nas propriedades de pesquisa definidas nos lobbies ativos no momento. Os lobbies que correspondem a essas consultas são retornados ao jogador que fez a chamada. Para obter mais informações sobre como definir propriedades de pesquisa, confira Criar lobbies pesquisáveisComo usar FindLobbies
Ao chamar FindLobbies, você pode usar o parâmetro de filtro para restringir sua consulta e retornar apenas os resultados de pesquisa que correspondam a um conjunto de critérios com base nas propriedades de pesquisa personalizadas do lobby. Além disso, você pode usar o parâmetro de classificação para classificar os resultados retornados pelo serviço com base nas propriedades de pesquisa. Isso é útil, pois o serviço retorna apenas um número limitado de resultados de pesquisa. A classificação garante que você veja os resultados de pesquisa mais relevantes.Cenários comuns
Estas são algumas formas comuns de usar a funcionalidade FindLobbies nos títulos.- Localizar lobbies de sessões de jogo de um modo de jogo específico do seu título
- Localizar lobbies de sessões de jogo que seus amigos estão hospedando
- Localizar lobbies de sessões de jogo com vagas suficientes para todos os jogadores locais
- Localizar lobbies nos quais você já está para recuperar uma conexão após uma falha inesperada do cliente ou do servidor de jogo.
Chaves de pesquisa compatíveis
Somente um conjunto restrito de chaves pode ser usado ao definir propriedades de pesquisa personalizadas.- Para propriedades de cadeia de caracteres, as seguintes chaves são compatíveis: string_key1, string_key2, […] string_key30
- Para propriedades numéricas, as seguintes chaves são compatíveis: number_key1, number_key2, […] number_key30
Construir cadeias de caracteres de consulta para FindLobbies
As cadeias de caracteres de consulta das APIs FindLobbies são estruturadas em uma sintaxe semelhante ao OData. O tamanho máximo da cadeia de caracteres de filtro é de 600 caracteres. Estes operadores OData podem ser usados para compor cadeias de caracteres de consulta. Os operadores diferenciam maiúsculas de minúsculas.Ao comparar propriedades de cadeia de caracteres, coloque o valor comparado entre aspas simples. Por exemplo, “string_key1 eq ‘SOME STRING VALUE’”. As propriedades numéricas não precisam de aspas.
A definição do SDK para essas constantes está documentada aqui.
Classificação
Cadeia de caracteres no estilo OData que contém a classificação desta consulta em ordem crescente (“asc”) ou decrescente (“desc”). As cláusulas OrderBy podem ser usadas para qualquer uma das chaves numéricas de pesquisa ou das chaves de pesquisa predefinidas que são numéricas. Para classificar pela proximidade de um número, o moniker distance pode ser usado para classificar pela distância em relação à chave numérica de pesquisa especificada. Não é possível usar ordem crescente ou decrescente com a classificação por distância. Este campo só oferece suporte a uma cláusula de classificação ou a uma cláusula de distância. Se nenhuma classificação for fornecida ou se for necessário um desempate para a classificação especificada, a classificação padrão será decrescente com base no horário de criação.Exemplo de localização de lobbies usando o SDK de Lobby e Matchmaking
Neste exemplo, o jogador quer localizar todos os lobbies com os seguintes requisitos:- O modo de jogo é “DeathMatch”
- O estilo de competição é “Ranked”
- O nível de habilidade do jogador está dentro dos limites mínimo e máximo de habilidade do lobby.
- Lobbies com níveis de habilidade ideais mais próximos do nível de habilidade do jogador devem aparecer primeiro
