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

# Configurando filas de matchmaking

> Configure filas do PlayFab Matchmaking com regras, equipes, atributos e políticas de expansão no Game Manager para definir como os jogadores são combinados.

## Visão geral

A configuração de partidas gira em torno de filas, que representam um local onde os tíquetes aguardam para serem combinados entre si. Cada fila tem uma configuração geral sobre o que é necessário para uma partida. Além disso, ela pode conter um conjunto de regras que impõem restrições adicionais sobre como os tíquetes são combinados.

## Configuração da fila

No nível da fila, a configuração descreve os requisitos básicos sobre como os tíquetes são combinados dentro de uma fila e como você obtém informações estatísticas sobre a fila.

### Nome da fila

O nome de uma fila específica. Ele tem entre 1 e 64 caracteres (inclusive) e diferencia maiúsculas de minúsculas. Ele é alfanumérico, com sublinhados e hifens, e começa com uma letra ou um número. Geralmente, o nome de uma fila representa uma forma de jogar, como "4v4CaptureTheFlag" ou "UnrankedRace". Ao criar um tíquete de matchmaking, você deve especificar o nome da fila para identificar em qual fila ele deve entrar.

### Tamanho da partida

O intervalo de jogadores permitidos em uma partida. O tamanho mínimo da partida deve ser maior ou igual a dois. O tamanho máximo da partida deve ser menor ou igual a 100. Ao usar equipes, esse limite é 32.

Além disso, mesmo que um tíquete sozinho já atenda aos requisitos mínimos de uma partida, ele não retorna uma partida encontrada até ser combinado com pelo menos um outro tíquete. Se um tíquete já atender ao requisito máximo de uma partida, no entanto, ele será rejeitado.

### Estatísticas disponíveis para os jogadores

Este recurso determina quais estatísticas da fila são expostas aos jogadores por meio da [API GetQueueStatistics](xref:titleid.playfabapi.com.multiplayer.matchmaking.getqueuestatistics). Os servidores sempre têm acesso a todas as estatísticas. Para obter mais informações, confira [Exibindo estatísticas da fila no seu título](/pt-BR/services/playfab/multiplayer/matchmaking/display-statistics).

Há duas opções que você pode controlar nesta configuração:

1. **Mostrar o número de jogadores em matchmaking** - Se o número de jogadores aguardando uma partida é exposto aos jogadores. Os títulos podem usar esta opção para ocultar a popularidade relativa do modo ou para manter a contagem de jogadores oculta por motivos comerciais.
2. **Mostrar as estatísticas de tempo para formar a partida** - Se as estatísticas de tempo para formar a partida (média e percentis) são expostas aos jogadores.

### Equipes

Uma fila pode incluir uma configuração de equipes para que o serviço de partidas atribua os jogadores a equipes. Regras adicionais específicas de equipe podem ser usadas para controlar como a atribuição de equipes é feita. Além disso, o serviço de partidas garante que jogadores que entram juntos no mesmo tíquete não sejam atribuídos a equipes diferentes.

Você pode ter duas ou mais equipes definidas em uma fila.

* **Nome da equipe** - O nome usado para esta equipe. Os nomes de equipe têm entre 1 e 64 caracteres (inclusive) e diferenciam maiúsculas de minúsculas. Eles são alfanuméricos, com sublinhados e hifens, e começam com uma letra ou um número. Além disso, devem ser exclusivos dentro de uma fila.
* **Tamanho da equipe** - Número mínimo e máximo de jogadores que podem estar na equipe. O matchmaking tenta formar equipes com o maior número possível de jogadores, até o máximo.

Além de definir as equipes e seus tamanhos, outras regras podem ser habilitadas para ajudar a lidar com as equipes no matchmaking. Para obter informações sobre regras específicas de equipe, confira [Tipos de regras de equipe](#tipos-de-regras-de-equipe).

## Configuração de regras

As regras podem ser definidas opcionalmente para uma fila. Quando configuradas, elas ajudam o algoritmo de matchmaking a determinar quais tíquetes devem ser combinados. Cada regra se aplica a um único atributo nos metadados do jogador. Você pode ter no máximo 20 regras definidas para uma única fila.

Há muitos tipos de regras. Cada uma contém alguns elementos configuráveis comuns e elementos específicos daquele tipo de regra. Além disso, muitas regras permitem uma expansão, na qual as regras se tornam menos restritivas ao longo do tempo.

### Elementos comuns das regras

Os elementos a seguir costumam ser usados por todas as regras.

* **Nome da regra** - O nome deve ter entre 1 e 255 caracteres (inclusive), é alfanumérico, com sublinhados e hifens, e deve começar com uma letra ou um número. Os nomes de regra devem ser exclusivos dentro de uma fila.
* **Peso** - Uma forma de modificar a importância de uma regra. Em geral, as regras fornecem tanto uma restrição quanto uma forma de ordenar os tíquetes restantes qualificados. O peso é um multiplicador que modifica a importância da regra para fins de ordenação. Para obter mais informações, confira [Entendendo o peso das regras no matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/rule-weights).
* **Origem do atributo** - As regras geralmente atuam sobre as informações fornecidas a elas. Este campo descreve duas opções para a origem dessas informações:

  1. **Usuário** - Os atributos são enviados junto com os jogadores na solicitação de criação ou de ingresso no tíquete.
  2. **Entidade de jogador** - Os atributos são recuperados da entidade de jogador associada ao jogador. Você pode definir esses atributos por meio da [API SetObjects](xref:titleid.playfabapi.com.data.object.setobjects). NÃO use esta origem ao usar tipos de entidade externos.
* **Caminho do atributo** - O caminho para chegar ao atributo. Ao usar a origem de atributo Usuário, ele é simplesmente o nome do atributo. Ao usar a origem de atributo
  Entidade de jogador, ele é um [JSONPath](https://github.com/json-path/JsonPath) que recupera um item específico da entidade, como `$.playerSkill.Mean`.
* **Comportamento quando o atributo não é especificado** - Se uma regra exigir um atributo, mas nenhum for especificado, a regra poderá ser configurada com um de dois comportamentos:

  1. Ela pode fornecer um valor padrão para o atributo.
  2. Ela pode usar esse sinal como forma de indicar que o tíquete atende a qualquer restrição imposta pela regra. Esse comportamento pode ser útil se, por exemplo, alguns jogadores expressarem uma preferência e outro jogador estiver disposto a jogar com qualquer pessoa. O jogador sem preferência pode deixar de fornecer um atributo e ser combinado com quaisquer outros jogadores.

### Tipos de regras padrão

Cada um dos tipos de regra a seguir é listado junto com sua finalidade, alguns usos comuns e qualquer configuração específica que a regra possa exigir.

| Tipo de regra | Descrição | Usos comuns | Campos específicos da regra |
| - | - | - | - |
| Igualdade de cadeia de caracteres | Garante que um atributo de cadeia de caracteres seja o mesmo em todos os tíquetes de uma partida. | Exige que versões de build ou outros itens específicos correspondam | nenhum |
| Diferença | Garante que a diferença absoluta de um atributo numérico entre quaisquer dois tíquetes de uma partida seja menor que uma diferença máxima configurada. | Agrupa jogadores por habilidade, experiência ou outras comparações numéricas | Função de mesclagem - Selecione como vários valores de jogadores são mesclados em um único valor que representa o tíquete. As opções são mínimo, máximo e média. O padrão é média. |
| Interseção de conjuntos | Garante que, para um determinado atributo que seja uma lista de cadeias de caracteres, todos os tíquetes de uma partida compartilhem pelo menos tantos valores quanto o configurado. | Conteúdo baixável (DLC) ou seleção de mapa | Tamanho mínimo da interseção - Número mínimo de itens compartilhados para uma partida. |
| Total da partida | Garante que a soma de um atributo numérico de todos os jogadores de uma partida esteja dentro de um intervalo configurado. | Seleção de funções, emulação de matchmaking de host/servidor, ajuste das restrições de número de jogadores ao longo do tempo | Total mín./máx. - A soma do atributo deve estar dentro desses limites inclusivos. |
| Seleção de região | Garante que a latência até um datacenter comum para todos os usuários da partida seja menor que um valor máximo configurado. | Necessária para a integração com servidores multijogador | Latência máxima - Somente datacenters dentro dessa latência máxima são qualificados para uma partida. |

### Tipos de regras de equipe

As regras de equipe só podem ser definidas se houver equipes na configuração da fila. Elas fornecem mais formas de exigir equilíbrio entre as equipes. As seguintes regras de equipe estão disponíveis:

| Tipo de regra | Descrição | Usos comuns | Campos específicos da regra |
| - | - | - | - |
| Diferença entre equipes | Garante que as equipes incluídas em uma partida estejam dentro de uma diferença configurada para um atributo específico (como habilidades). É semelhante a uma regra de diferença padrão, exceto que os valores comparados são o valor médio de cada equipe. | Equilibrar habilidades entre equipes | nenhum |
| Equilíbrio de tamanho de equipe | Garante que a diferença no número de jogadores entre a maior e a menor equipe não exceda um limite. Por exemplo, esta regra pode ser usada para criar uma fila em que partidas 3v3 e 4v4 são permitidas, mas uma 3v4 não. | Equilíbrio do número de jogadores entre equipes | Diferença de tamanho de equipe permitida - O quão desiguais as equipes podem ser, medido pela diferença no número de jogadores atribuídos a cada uma. |
| Similaridade de tamanho de tíquete de equipe | Garante que todas as equipes tenham um grupo grande ou que nenhuma tenha. Um grupo grande é definido como pelo menos metade do tamanho máximo da equipe. | Impede que grupos (equipes pré-formadas) sejam combinados com um grupo de jogadores solo. | nenhum |

### Expansões e tornar-se opcional

As regras podem se tornar opcionais ou menos restritivas ao longo do tempo, permitindo que tíquetes que aguardam por algum tempo ampliem a busca por uma possível partida. Há dois métodos para controlar esse comportamento:

1. **Segundos até se tornar opcional** - Simplesmente indica por quanto tempo a regra fica ativa. A regra deixa de restringir as partidas entre os tíquetes que aguardam esse tempo.

2. **Processo de expansão** - As regras ajustam gradualmente seus limites configurados ao longo do tempo. Por exemplo, uma regra de diferença pode exigir partidas dentro de uma diferença máxima específica. À medida que um tíquete aguarda, a regra pode expandir a diferença máxima. Essa expansão permite um intervalo cada vez maior para o tíquete. Ela permite que o tíquete seja combinado mesmo que não haja oponentes perfeitos disponíveis.

As expansões podem ser **lineares** ou **personalizadas**. Em uma expansão linear, um valor cresce ao longo do tempo, usando uma alteração fixa após cada intervalo de tempo. Os itens personalizados em uma expansão linear são:

* **Segundos entre expansões** - Quanto tempo decorre entre cada alteração das restrições da regra.
* **Delta** - A alteração do valor.
* **Limite** - O valor final. A regra nunca se expande além desse ponto.

Em uma expansão personalizada, a regra pode usar um valor arbitrário cada vez que altera suas restrições. Os seguintes campos são usados:

* **Segundos entre expansões** - Quanto tempo decorre entre cada alteração das restrições da regra
* **Um ou mais campos personalizados** que modificam uma regra durante a expansão. Cada campo é delimitado por ponto e vírgula para representar um valor diferente usado no intervalo de cada expansão. A palavra "null" pode ser usada no lugar de um valor para indicar que a regra não está ativa durante esse intervalo.

O campo exato modificado depende da regra. A tabela a seguir descreve quais regras têm quais tipos de expansão e quais campos a expansão modifica.

| Tipo de regra | Expansão linear permitida? | Expansão personalizada permitida? | Atributo modificado durante a expansão |
| - | - | - | - |
| Igualdade de cadeia de caracteres | não | sim | Se a regra está ativa ou não |
| Diferença | sim | sim | Diferença máxima permitida |
| Interseção de conjuntos | sim | sim | Interseção mínima necessária |
| Total da partida | não | sim | Totais mínimo e máximo necessários |
| Seleção de região | sim | sim | Latência máxima permitida |
| Diferença entre equipes | sim | sim | Diferença permitida nos valores das equipes |
| Equilíbrio de tamanho de equipe | sim | sim | Diferença permitida no número de jogadores por equipe |
| Similaridade de tamanho de tíquete de equipe | não | não | n/d |

Para obter mais informações sobre casos de uso e exemplos de configuração, confira [Exemplos de cenários e configurações de matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/config-examples).


## Related topics

- [Matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/index.md)
- [Início rápido de matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/quickstart.md)
- [Início rápido do SDK de Matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [Como o matchmaking funciona](/pt-BR/services/playfab/multiplayer/matchmaking/how-matchmaking-works.md)
- [Entendendo o peso das regras no matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/rule-weights.md)
