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

Amazon GameLift Serversusa um algoritmo para determinar como priorizar os destinos de uma fila e determinar onde colocar 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. Você pode 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, 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, Amazon GameLift Servers avaliará o custo de hospedagem de cada frota. O custo de hospedagem de uma frota varia de acordo com o tipo de frota (spot ou sob demanda), tipo de instância e localização.

  3. Destino — Se várias frotas tiverem latência e custos iguais, Amazon GameLift Servers priorizará as frotas com base na 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, 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, 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 Amazon GameLift Serversconsole ou o AWS Command Line Interface (AWS CLI) para criar uma configuração de prioridade personalizada.

Console

No Amazon GameLift Serversconsole, você pode personalizar as prioridades de uma fila ao criar uma nova fila ou atualizar uma fila existente. Selecione uma AWS região 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 todos 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 update-game-session-queuecomando com a --priority-configuration opção de personalizar a ordem de prioridade de uma fila. Amazon GameLift Serversatualiza uma fila na sua AWS região padrão atual, ou você pode adicionar uma --region tag para especificar uma AWS região diferente.

O exemplo de solicitação 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 as colocações de acordo com a 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. Por padrão, a latência está no topo da lista de prioridades. Você também pode personalizar a configuração de prioridade da sua 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 não Amazon GameLift Servers 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 obter detalhes sobre a criação de políticas de latência, consulteCrie 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 de 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 Amazon GameLift Servers beacons de ping UDP. Esses endpoints permitem medir a latência real da rede UDP entre os dispositivos do player 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 beacons 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 determinam 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, do custo e do 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, 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 em qualquer lugar). Uma frota gerenciada em um único local tem um local e é sempre um Região da AWS. Uma frota gerenciada em vários locais 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, 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, Amazon GameLift Servers passe para os próximos critérios de prioridade (custo, latência, destino).

Há várias maneiras de influenciar a forma como as localizações de uma fila são priorizadas.

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

    • Adicione uma configuração prioritária à fila. A configuração prioritária de uma fila inclui uma lista ordenada de locais. Você pode especificar um ou mais locais para priorizar. Essa lista não exclui nenhum local, ela simplesmente diz 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 prioritária ligando UpdateGameSessionQueue.

    • Adicione uma configuração de filtro à fila. Uma configuração de filtro é uma lista de permissões para a fila. Ele diz 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 prioritária em uma solicitação de colocação em uma sessão de jogo. Você pode fornecer uma lista alternativa de prioridades de locais com qualquer StartGameSessionPlacementsolicitação. Essa lista substitui efetivamente 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 LOCATION como primeira prioridade.

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

      • Decida como você Amazon GameLift Servers deseja proceder se ele 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, 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.