

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como o Amazon GameLift Servers FlexMatch funciona
<a name="gamelift-match"></a>

Este tópico fornece uma visão geral do serviço Amazon GameLift Servers FlexMatch, incluindo os principais componentes de um sistema FlexMatch e como eles interagem.

É possível usar o FlexMatch com jogos que usam a hospedagem gerenciada do Amazon GameLift Servers ou com jogos que usam outra solução de hospedagem. Os jogos hospedados nos servidores do Amazon GameLift Servers, incluindo servidores do Amazon GameLift Servers Realtime em tempo real, usam o serviço Amazon GameLift Servers integrado para localizar automaticamente servidores de jogos disponíveis e iniciar sessões de jogo para os jogos. Os jogos que usam o FlexMatch como serviço independente, incluindo o Amazon Amazon GameLift Servers, devem se coordenar com o sistema de hospedagem existente para atribuir recursos de hospedagem e iniciar sessões de jogo para os jogos.

Para obter orientação detalhada sobre como configurar o FlexMatch para seus jogos, consulte [Conceitos básicos do FlexMatch](match-getting-started.md).

## Componentes de criação de partidas
<a name="gamelift-match-components"></a>

Um sistema de criação de partidas FlexMatch inclui alguns ou todos os seguintes componentes.

**Componentes do Amazon GameLift Servers**

Esses são os recursos do Amazon GameLift Servers que controlam como o serviço FlexMatch executa criação de partidas para seu jogo. Eles são criados e mantidos usando Amazon GameLift Servers ferramentas, incluindo o console e a AWS CLI ou, alternativamente, usando programaticamente o SDK for. AWS Amazon GameLift Servers
+ **Configuração de criação de partidas do FlexMatch (também chamado de criador de partidas)**: um criador de partidas é um conjunto de valores de configuração que personaliza o processo de criação de partidas do seu jogo. Um jogo pode ter vários matchmakers, cada um configurado para diferentes modos de jogo ou experiências, conforme necessário. Quando seu jogo envia uma solicitação de criação de partidas para o FlexMatch, ele especifica qual criador de partidas usar.
+ **Conjunto de regras de criação de partidas do FlexMatch**: um conjunto de regras contém todas as informações necessárias para avaliar os jogadores em possíveis jogos e aprovar ou rejeitar. O conjunto de regras define a estrutura da equipe de um jogo, declara os atributos do jogador que são usados para avaliação e fornece regras que descrevem os critérios para um jogo aceitável. As regras podem ser aplicadas a jogadores individuais, equipes ou a todo o jogo. Por exemplo, uma regra pode exigir que todos os jogadores do jogo escolham o mesmo mapa do jogo, ou pode exigir que todas as equipes tenham uma média de habilidade de jogador semelhante.
+ **Fila de sessões de jogos do Amazon GameLift Servers (somente para FlexMatch com hospedagem gerenciada pelo Amazon GameLift Servers)**: uma fila de sessões de jogo localiza os recursos de hospedagem disponíveis e inicia uma nova sessão de jogo para o jogo. A configuração da fila determina onde o Amazon GameLift Servers procura os recursos de hospedagem disponíveis e como selecionar o melhor host disponível para um jogo. 

**Componentes personalizados**

Os componentes a seguir abrangem a funcionalidade necessária para um sistema FlexMatch completo que você deve implementar com base na arquitetura do seu jogo.
+ **Interface do jogador para criação de partidas**: essa interface permite que os jogadores participem de um jogo. No mínimo, ele inicia uma solicitação de criação de partidas por meio do componente de serviço de criação de partidas do cliente e fornece dados específicos do jogador, como nível de habilidade e dados de latência, conforme necessário para o processo de criação de partidas.
**nota**  
Como prática recomendada, a comunicação com o serviço FlexMatch deve ser feita por um serviço de backend, não por um cliente de jogo. 
+ **Serviço de criação de partidas do cliente**: Este serviço preenche as solicitações de junção do jogador a partir da interface do jogador, gera solicitações de criação de partidas, e as envia para o serviço FlexMatch. Para solicitações em andamento, ele monitora eventos de criação de partidas, rastreia o status de criação de partidas e age conforme necessário. Dependendo de como você gerencia a hospedagem da sessão de jogo no seu jogo, esse serviço pode devolver as informações de conexão da sessão de jogo aos jogadores. Esse componente usa o AWS SDK com a Amazon GameLift Servers API para se comunicar com o FlexMatch serviço.
+ **Serviço de colocação de partidas (somente para o FlexMatch como serviço independente)**: esse componente funciona com seu sistema de hospedagem de jogos existente para localizar os recursos de hospedagem disponíveis e iniciar novas sessões de jogo para jogos. O componente deve obter os resultados do matchmaking e extrair as informações necessárias para iniciar uma nova sessão de jogo, incluindo jogador IDs, atributos e atribuições de equipe para todos os jogadores na partida. 

# Processo de combinação do FlexMatch
<a name="gamelift-match-howitworks"></a>

Este tópico descreve a sequência de eventos em um cenário básico de criação de partidas e as interações entre os vários componentes do seu jogo e o serviço FlexMatch. 

**Etapa 1: Solicitar criação de partidas para jogadores**  
Um jogador usando seu cliente de jogo clica no botão “Entrar no jogo”. Essa ação faz com que o serviço de criação de partidas do seu cliente envie uma solicitação de criação de partidas para o FlexMatch. A solicitação identifica o criador de partidas do FlexMatch a ser usado ao atender à solicitação. A solicitação também inclui informações do jogador que seu matchmaker personalizado exige, como nível de habilidade, preferências de jogo ou dados de latência geográfica. É possível fazer solicitações de criação de partidas para um jogador ou vários jogadores.

**Etapa 2: Adicione solicitações ao pool de criação de partidas**  
Quando o FlexMatch recebe a solicitação de criação de partidas, ele gera um ticket de criação de partidas e o adiciona ao pool de ingressos do criador de partidas. O ticket permanece no grupo até que seja combinado ou um tempo limite máximo seja alcançado. Seu serviço de criação de partidas para clientes é notificado periodicamente sobre eventos de criação de partidas, incluindo mudanças no status do ticket.

**Etapa 3: definir uma partida**  
O criador de partidas do FlexMatch executa continuamente o seguinte processo em todos os tickets do pool:  

1. O matchmaker classifica o pool por idade do ingresso, então começa a construir uma possível jogo começando com o ingresso mais antigo. 

1. O matchmaker adiciona um segundo ticket ao possível jogo e avalia o resultado de acordo com suas regras personalizadas de criação de partidas. Se o possível jogo for aprovado na avaliação, os jogadores do ticket serão designados para uma equipe. 

1. O matchmaker adiciona o próximo ticket em sequência e repete o processo de avaliação. Quando todas as vagas dos jogadores estiverem preenchidas, o jogo estará pronto.
O criação de partidas para jogos grandes (41 a 200 jogadores) usa uma versão modificada do processo descrito acima para que possa criar jogos em um período de tempo razoável. Em vez de avaliar cada ticket individualmente, o matchmaker divide um pool de ingressos pré-classificado em possíveis jogos e, em seguida, equilibra cada jogo com base na característica do jogador que você especificou. Por exemplo, um matchmaker pode pré-classificar os tickets com base em locais semelhantes de baixa latência e, em seguida, usar o balanceamento pós-jogo para garantir que as equipes sejam igualadas de acordo com a habilidade do jogador.

**Etapa 4: Relatar resultados de criação de partidas**  
Quando um jogo aceitável é encontrado, todos os tickets combinados são atualizados e um evento bem-sucedido de criação de partidas é gerado para cada ingresso combinado.   
+ FlexMatch como serviço independente: seu jogo recebe os resultados do jogo em um evento de criação de partidas bem-sucedido. Os dados do resultado incluem uma lista de todos os jogadores combinados e suas atribuições de equipe. Se suas solicitações de jogo contiverem informações sobre a latência do jogador, os resultados também sugerem uma localização geográfica ideal para o jogo. 
+ FlexMatchcom uma solução de Amazon GameLift Servers hospedagem: os resultados da partida são automaticamente passados para uma Amazon GameLift Servers fila para colocação na sessão de jogo. O matchmaker determina qual fila é usada para posicionamento de sessão de jogo.

**Etapa 5: Inicie uma sessão de jogo para o jogo**  
Depois que um jogo proposto é formado com sucesso, uma nova sessão de jogo é iniciada. Seus servidores de jogo devem ser capazes de usar os dados do resultado do matchmaking, incluindo atribuições de jogadores IDs e equipes, ao configurar uma sessão de jogo para a partida.  
+ FlexMatch como um serviço independente: o serviço personalizado de colocação de jogos obtém dados de resultados de jogos de eventos de criação de partidas bem-sucedidos e se conecta ao seu sistema de colocação de sessões de jogo existente para localizar um recurso de hospedagem disponível para o jogo. Depois que um recurso de hospedagem é encontrado, o serviço de posicionamento de jogos se coordena com seu sistema de hospedagem existente para iniciar uma nova sessão de jogo e adquirir informações de conexão.
+ FlexMatchcom uma solução de Amazon GameLift Servers hospedagem: a fila da sessão de jogo localiza o melhor servidor de jogos disponível para a partida. Dependendo de como a fila está configurada, ela tenta posicionar a sessão do jogo com os recursos de menor custo e onde os jogadores terão baixa latência (se os dados de latência do jogador forem fornecidos). Depois que a sessão de jogo for concluída com sucesso, o serviço do Amazon GameLift Servers solicita que o servidor do jogo inicie uma nova sessão de jogo, transmitindo os resultados do criação de partidas e outros dados opcionais do jogo. 

**Etapa 6: Conectar jogadores à partida**  
Depois que uma sessão de jogo é iniciada, os jogadores se conectam à sessão, reivindicam sua designação de equipe e começam a jogar.   
+ FlexMatch como serviço independente: o jogo usa o sistema de gerenciamento de sessão de jogo existente para fornecer informações de conexão aos jogadores. 
+ FlexMatchcom uma solução de Amazon GameLift Servers hospedagem: em uma colocação bem-sucedida de uma sessão de jogo, FlexMatch atualiza todos os tíquetes correspondentes com informações de conexão da sessão de jogo e um ID de sessão do jogador. 