Priorize o posicionamento de sessões de jogo - Amazon GameLift Servers

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

Priorize o posicionamento de sessões de jogo

O Amazon GameLift Servers usa um algoritmo para determinar como priorizar os destinos de uma fila e determinar onde posicionar uma nova sessão de jogo. O algoritmo é baseado em um conjunto ordenado de critérios. Você pode usar a ordem de prioridades padrão ou personalizá-la. É possível editar a ordem prioritária de uma fila a qualquer momento.

Ordem de prioridades padrão

  1. Latência — Se a solicitação de posicionamento da sessão de jogo incluir dados de latência específicos da localização dos jogadores, o Amazon GameLift Servers calcula a latência média do jogador em cada local e tenta colocar uma sessão de jogo em um local da frota com a menor média.

  2. Custo — se uma solicitação não incluir dados de latência ou se várias frotas tiverem a mesma latência, o Amazon GameLift Servers avaliará o custo de hospedagem de cada frota. O custo de hospedagem de uma frota varia com base no tipo de frota (spot ou sob demanda), tipo de instância e localização.

  3. Destino: se várias frotas têm latência e custos iguais, o Amazon GameLift Servers prioriza frotas com base no ordem de destino conforme listado na configuração da fila.

  4. Localização — Para filas com frotas com vários locais, se todos os outros critérios forem iguais, o Amazon GameLift Servers priorizará as localizações da frota com base na ordem alfabética.

Personalize como uma fila prioriza os posicionamentos das sessões de jogo

Você pode escolher personalizar como uma fila prioriza os critérios de posicionamento. A fila aplica a priorização personalizada a todas as solicitações de posicionamento de sessão de jogo que recebe.

nota

Se você criar uma configuração de prioridade personalizada e não incluir todos os quatro critérios, o Amazon GameLift Servers anexará automaticamente os critérios ausentes na ordem padrão.

Para personalizar a configuração de prioridade de uma fila

Use o console do Amazon GameLift Servers ou o AWS Command Line Interface (AWS CLI) para criar uma configuração de prioridade personalizada.

Console

No console do Amazon GameLift Servers, você pode personalizar as prioridades de uma fila ao criar uma nova fila ou atualizar uma fila existente. Escolha uma Região do AWS para trabalhar.

Abra a barra de navegação esquerda do console e escolha Filas. Na página Filas, selecione uma fila existente e escolha Editar.

  1. Vá para a seção Prioridade de posicionamento da sessão de jogo. Arraste e solte cada critério de prioridade para criar o pedido desejado.

  2. Vá para a seção Ordem de localização. Adicione os locais que você deseja priorizar. Essa lista é útil quando a fila tem frotas com vários locais. No mínimo, você deve especificar um local. Os locais que você especificar aqui são priorizados primeiro, seguidos por todos os outros locais nos destinos da fila.

  3. Escolha Salvar alterações.

AWS CLI

Use o comando update-game-session-queue com a opção de --priority-configuration para personalizar a ordem de prioridade de uma fila. O Amazon GameLift Servers atualiza uma fila na sua região da AWS padrão atual ou você pode adicionar uma etiqueta --region para especificar uma região da AWS diferente.

O exemplo a seguir adiciona ou atualiza a configuração de prioridade de uma fila especificada.

aws gamelift update-game-session-queue \ --name "example-queue-with-priority" --priority-configuration PriorityOrder="COST','LOCATION","DESTINATION",LocationOrder="us-east-1","us-east-2","ca-central-1","us-west-2" \

Priorize os posicionamentos por latência do jogador

Se você quiser oferecer aos seus jogadores a melhor experiência possível e garantir o mínimo de latência, siga as etapas a seguir ao configurar seu sistema de posicionamento de sessões de jogo:

  • Configure sua fila para priorizar a latência ao escolher onde colocar as sessões de jogo. A latência é, por padrão, na parte superior da lista de prioridades. Você também pode personalizar a configuração de prioridade da fila e escolher onde colocar a latência em ordem de prioridade.

  • Configure políticas de latência do player para sua fila. As políticas de latência permitem que você defina limites rígidos sobre a quantidade de latência permitida na colocação de uma sessão de jogo. Se o Amazon GameLift Servers não conseguir realizar uma sessão de jogo sem exceder os limites, a solicitação de colocação expirará e falhará. Você pode configurar uma única política de latência ou criar uma série de políticas que relaxem gradualmente o limite de latência ao longo do tempo. Com uma série de políticas, você pode especificar limites de latência inicial muito baixos e ainda acomodar jogadores com latências mais altas após um pequeno atraso. Para detalhes sobre a criação de políticas de latência, consulte Crie uma política de latência do jogador.

  • Ao fazer solicitações de posicionamento de sessão de jogo (consulte StartGameSessionPlacement), inclua dados de latência para cada jogador. Os dados de latência do jogador incluem um valor para cada local possível em que uma sessão de jogo pode ser realizada. Por exemplo, para uma fila que coloca sessões de jogo em Regiões da AWS us-east-2 e ca-central-1, os dados de latência podem ter a seguinte aparência:

    "PlayerLatencies": [ { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "us-east-2" }, { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "ca-central-1" }, { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "us-east-2" }, { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "ca-central-1" } ]

    Para obter medições precisas de latência, use os sinalizadores de ping UDP do Amazon GameLift Servers. Esses endpoints permitem medir a latência real da rede UDP entre dispositivos de jogadores e cada um dos possíveis locais de hospedagem, resultando em decisões de posicionamento mais precisas do que o uso de pings ICMP. Para obter mais informações sobre o uso de sinalizadores de ping UDP para medir a latência, consulte Sinalizadores de ping UDP.

Priorize os posicionamentos por localização

Você pode configurar uma fila para fazer posicionamentos de sessões de jogo com base em uma lista priorizada de localizações geográficas. A localização é um dos critérios que determina como uma fila escolhe onde colocar uma nova sessão de jogo. Por padrão, a localização é priorizada em quarto lugar, depois da latência, custo e destino.

Para o posicionamento da sessão de jogo, destino e localização têm significados um pouco diferentes:

  • Destino se refere a uma frota específica e inclui todos os recursos de hospedagem da frota, onde quer que estejam implantados. Ao priorizar por destino, o Amazon GameLift Servers pode fazer um posicionamento em qualquer local da frota. As frotas gerenciadas em vários locais e as frotas Anywhere podem ter recursos de hospedagem implantados em um ou mais locais.

  • A localização se refere a uma posição geográfica específica em que os recursos de hospedagem de uma frota são implantados. Uma frota pode ter vários locais, que podem incluir Regiões da AWS, Zonas Locais ou locais personalizados (para uma frota Anywhere). Uma frota gerenciada em um único local tem um local e é sempre uma Região da AWS. Uma frota multilocal gerenciada tem uma região de origem e pode ter locais remotos. Uma frota Anywhere tem um ou mais locais personalizados.

Ao priorizar os posicionamentos por local, o Amazon GameLift Servers procura qualquer destino de fila que inclua o local prioritário e busca um recurso de hospedagem disponível. Se houver vários destinos com a localização prioritária, o Amazon GameLift Servers passa para os próximos critérios de prioridade (custo, latência, destino).

Existem várias maneiras de influenciar como os locais de uma fila são priorizados.

  • Configure como a fila lida com todas as solicitações de posicionamento da sessão do jogo:

    • Adicione uma configuração de prioridade à fila. A configuração prioritária de uma fila inclui uma lista ordenada de locais. Você pode especificar um ou mais locais a serem priorizados. Essa lista não exclui nenhum local, ela simplesmente diz ao Amazon GameLift Servers onde procurar primeiro um recurso de hospedagem disponível. Um uso comum de uma lista ordenada de locais é quando você deseja canalizar a maior parte do tráfego para uma ou mais localizações geográficas específicas e usar locais adicionais como capacidade de backup. Adicione uma configuração de prioridade chamando UpdateGameSessionQueue.

    • Adicione uma configuração de filtro à fila. Uma configuração de filtro é uma lista de permissões para a fila. Ele diz ao Amazon GameLift Servers para ignorar todos os locais que não estão na lista ao procurar um recurso de hospedagem disponível. Há dois usos comuns para uma configuração de filtro. Primeiro, para frotas com vários locais, você pode usar um filtro para excluir alguns dos locais da frota. Em segundo lugar, talvez você queira proibir temporariamente as colocações em um determinado local; por exemplo, um local pode estar enfrentando problemas transitórios. Como você pode atualizar a configuração do filtro de uma fila a qualquer momento, você pode facilmente adicionar e remover locais conforme necessário. Adicione uma configuração de filtro chamando UpdateGameSessionQueue.

  • Use instruções especiais para solicitações individuais de colocação:

    • Inclua uma lista de substituição de prioridade na solicitação de colocação de sessão de jogo. Você pode fornecer uma lista alternativa de prioridades de locais com qualquer solicitação StartGameSessionPlacement. A lista efetivamente substitui a priorização configurada da fila para locais somente para aquela solicitação. Isso não afeta nenhuma outra solicitação. Esse recurso de substituição tem alguns requisitos:

      • Use uma lista de substituição somente com uma fila que tenha uma configuração de prioridade estabelecida com LOCATION como primeira prioridade.

      • Não inclua dados de latência do jogador na mesma solicitação de posicionamento. Incluir dados de latência cria conflitos ao priorizar locais que o Amazon GameLift Servers não pode resolver.

      • Decida como você deseja que o Amazon GameLift Servers proceda se não conseguir encontrar um recurso disponível na lista de substituição prioritária. Escolha entre voltar para os outros locais da fila ou limitar os posicionamentos à lista de substituição. Por padrão, o Amazon GameLift Servers volta à tentativa de posicionamento em outros locais da fila.

      • Atualize a configuração do filtro da fila conforme necessário, como adicionar locais na lista de substituição. A lista de substituição não invalida a lista de filtros.