Criar uma frota Amazon GameLift Servers Anywhere - Amazon GameLift Servers

Criar uma frota Amazon GameLift Servers Anywhere

Este tópico descreve como criar uma frota do Amazon GameLift Servers Anywhere. Com uma frota Anywhere, você pode usar os principais recursos de gerenciamento de sessões de jogos do Amazon GameLift Servers enquanto hospeda sessões de jogos com seus próprios recursos de computação. Crie uma frota Anywhere para o hardware on-premises ou outros recursos baseados em nuvem.

As frotas Anywhere são comumente usadas junto com as frotas gerenciadas do Amazon GameLift Servers em uma solução de hospedagem híbrida. Elas também fornecem ambientes de teste úteis ao desenvolver um jogo para hospedagem com o Amazon GameLift Servers. Consulte estes tópicos para saber mais sobre quando e como incorporar frotas do Amazon GameLift Servers Anywhere em uma solução de hospedagem de jogos:

Como as frotas Anywhere são autogerenciadas, a configuração de uma frota exige algum trabalho adicional. Para preparar uma frota Anywhere para hospedar sessões de jogo e jogadores, é necessário concluir as seguintes tarefas:

Antes de começar

Antes de criar uma frota Anywhere, execute as tarefas a seguir. Para obter orientações mais detalhadas, consulte Roteiro de desenvolvimento para hospedagem com o Amazon GameLift Servers Anywhere ou Roteiro de desenvolvimento para hospedagem híbrida com o Amazon GameLift Servers.

  • Integre o código de servidor de jogos com o SDK versão 5.x (ou superior) do servidor do Amazon GameLift Servers. Não é necessário concluir todas as tarefas de integração de jogos, apenas aquelas necessárias para a compilação de um servidor de jogos. Uma prática comum é configurar sua máquina local como uma frota Anywhere e usar uma interface de linha de comandos para testar a integração do servidor de jogos (consulte Configurar testes locais com o Amazon GameLift Servers Anywhere). É possível incorporar componentes adicionais (como um cliente de jogo habilitado para o Amazon GameLift Servers) ao desenvolvê-los.

  • Empacote o software de servidor de jogos para instalação nos recursos de computação da frota Anywhere. O pacote deve incluir a compilação integrada do servidor de jogos e todo o software de suporte necessário para executar o servidor.

  • Decida se quer usar o Amazon GameLift Servers Agent com a frota Anywhere. O Agent é uma ferramenta de gerenciamento de processos no computador que automatiza algumas das principais tarefas relacionadas ao gerenciamento de processos e recursos de computação do servidor para uso com o Amazon GameLift Servers. Para obter mais informações, consulte Trabalhar com o Amazon GameLift Servers Agent.

Criar uma política personalizada

Crie um local personalizado para representar o local físico dos recursos de computação. Ao criar uma frota Anywhere, é preciso ter pelo menos um local personalizado já definido. Você pode criar locais personalizados e adicioná-los a uma frota existente a qualquer momento.

Como criar um local personalizado

Use o console do Amazon GameLift Servers ou a AWS Command Line Interface (AWS CLI) para criar um local personalizado.

Console

No console do Amazon GameLift Servers, use o painel de navegação para abrir a página Locais. Escolha Criar local para abrir a caixa de diálogo Criar.

  1. Na caixa de diálogo, insira o Nome do local. Como prática recomendada, use um nome que descreva um local significativo para um conjunto de recursos computacionais. Podem ser localizações geográficas, nome de um data center ou outro identificador de localização. O Amazon GameLift Serversacrescenta o nome do local personalizado com o custom-.

  2. (Opcional) Adicione tags ao local personalizado. Cada tag consiste de uma chave e um valor opcional, que podem ser definidos. Atribua tags aos recursos da AWS que você deseja categorizar de maneiras úteis, como por finalidade, proprietário ou ambiente. Escolha Adicionar nova tag para cada tag a ser adicionada.

  3. Escolha Criar.

AWS CLI

Crie um local personalizado usando o comando create-location. Forneça um valor location-name, que deve começar com custom-. Como prática recomendada, use um nome que descreva um local significativo para um conjunto de recursos computacionais. Podem ser localizações geográficas, nome de um data center ou outro identificador de localização.

aws gamelift create-location \ --location-name custom-location-1

Output

{ "Location": { "LocationName": "custom-location-1", "LocationArn": "arn:aws:gamelift:us-east-1:111122223333:location/custom-location-1" } }

Criar uma frota Anywhere

Crie uma frota Anywhere para um conjunto de recursos de computação que você possui. Uma nova frota Anywhere começa vazia; adicione recursos de computação à frota registrando-os.

Na criação, uma nova frota Anywhere passa rapidamente pelos status de frota de NEW para ACTIVE. Você pode adicionar recursos de computação à frota depois que ela atinge o status ACTIVE.

Como criar uma frota Anywhere

Use o console do Amazon GameLift Servers ou a AWS Command Line Interface (AWS CLI) para criar uma frota Anywhere.

Console

No console do Amazon GameLift Servers, use o painel de navegação para abrir a página Frotas. Escolha Criar frota para iniciar o fluxo de trabalho de criação da frota.

Etapa 1 Escolha o tipo de computação

Selecione a opção Anywhere e escolha Avançar.

Etapa 2 Defina os detalhes da frota

Nessa etapa, especifique algumas configurações principais para toda a frota.

  1. Preencha a seção Detalhes da frota:

    1. Insira o Nome de uma frota. Recomendamos usar um padrão de nomenclatura de frota que facilite a identificação dos tipos de frota ao visualizar listas de frotas.

    2. Forneça uma breve Descrição da frota.

  2. Defina esses Detalhes adicionais opcionais conforme necessário. Você pode atualizar essas configurações da frota posteriormente.

    1. Ao criar uma frota para testes de produção ou pré-produção, use essa configuração para especificar um valor de Custo por hora para os recursos de computação da frota. O Amazon GameLift Servers pode usar essas informações durante o processo de posicionamento da sessão de jogo para selecionar recursos de hospedagem com base no custo.

    2. Se você quiser combinar dados de métricas dessa frota e de outras, especifique um nome de Grupo de métricas. Use o mesmo nome de grupo de métricas para todas as frotas que deseja combinar. Visualize as métricas do grupo de métricas para ver os dados agregados.

  3. Adicione tags opcionais ao local personalizado. Cada tag consiste de uma chave e um valor opcional, que podem ser definidos. Atribua tags aos recursos da AWS que você deseja categorizar de maneiras úteis, como por finalidade, proprietário ou ambiente. Escolha Adicionar nova tag para cada tag a ser adicionada.

  4. Escolha Avançar para continuar o fluxo de trabalho.

Etapa 3 Selecione locais personalizados

Nessa etapa, identifique o local físico dos recursos de computação que você planeja adicionar a essa frota. É possível especificar um ou mais locais agora e adicionar ou remover locais posteriormente, conforme necessário.

  1. Em Locais personalizados, selecione um ou mais locais para os recursos de computação da frota. A lista inclui todos os locais personalizados que foram definidos na Região da AWS selecionada no momento. Para definir um novo local personalizado que você deseja adicionar à frota, escolha Criar local.

  2. Escolha Avançar para continuar o fluxo de trabalho.

Etapa 4 Revise e crie

Revise as configurações antes de criar a frota.

Quando estiver pronto para implantar a nova frota, escolha Criar. O Amazon GameLift Servers inicia imediatamente o processo de ativação da frota, atribuindo um ID exclusivo e colocando a frota no status NEW. Você pode rastrear o progresso da frota na página Frotas.

AWS CLI

Use o comando create-fleet para criar uma frota com o tipo de recurso de computação ANYWHERE. Forneça um nome e pelo menos um local personalizado. O Amazon GameLift Servers cria o recurso de frota Anywhere na padrão atual Região da AWS (ou você pode adicionar uma tag --region para especificar uma Região da AWS diferente).

O exemplo de solicitação a seguir cria uma frota com as configurações mínimas necessárias. Substitua FleetName e custom-location pelas próprias informações.

aws gamelift create-fleet \ --name FleetName \ --compute-type ANYWHERE \ --locations "Location=custom-location"

Exemplo de resposta

{ "FleetAttributes": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "Name": "HardwareAnywhere", "CreationTime": "2023-02-23T17:57:42.293000+00:00", "Status": "ACTIVE", "MetricGroups": [ "default" ], "CertificateConfiguration": { "CertificateType": "DISABLED" }, "ComputeType": "ANYWHERE" } }

Na criação, uma nova frota Anywhere passa rapidamente para o status de frota ACTIVE. Você pode adicionar recursos de computação à frota depois que ela atinge o status ACTIVE.

Observe que a resposta não inclui os locais da frota. Você pode recuperar todos os detalhes da frota chamando describe-fleet-attributes e describe-fleet-location-attributes.

Adicionar um recurso de computação à frota

Para adicionar um recurso de computação a uma frota e prepará-lo para hospedar sessões de jogo, execute as seguintes tarefas:

  • Registre o recurso de computação com a frota. O registro informa ao Amazon GameLift Servers quais recursos de hospedagem física fazem parte da frota.

  • Solicite um token de autenticação para o recurso de computação. Cada servidor de jogos executado no recurso de computação precisa desse token para se conectar ao serviço do Amazon GameLift Servers. Os tokens de autenticação são temporários e devem ser atualizados regularmente.

nota

Se estiver implantando o software do servidor de jogos com o Amazon GameLift Servers Agent, você poderá ignorar essa etapa. O Agent registra automaticamente cada recurso de computação e mantém um token de autenticação válido para o recurso de computação. Consulte Trabalhar com o Amazon GameLift Servers Agent.

Você pode registrar um recurso de computação e solicitar um token de autenticação usando a AWS CLI ou fazendo chamadas programáticas para o AWS SDK do Amazon GameLift Servers. Essas ações não estão disponíveis por meio do console do Amazon GameLift Servers.

Como prática recomendada, sugerimos automatizar essas duas tarefas adicionando um script de inicialização a cada recurso de computação. O script de inicialização chama automaticamente os comandos register-compute e get-compute-auth-token. Você também pode automatizar tarefas para atualizar regularmente o token de autenticação durante toda a vida útil do recurso de computação e cancelar o registro ao desligá-lo.

Cada uma das ações de inicialização retorna valores específicos do recurso de computação que é preciso armazenar nele. Quando um processo de servidor de jogos é iniciado no recurso de computação, ele deve passar esses valores como parâmetros do servidor ao inicializar uma conexão com o serviço do Amazon GameLift Servers (consulte Parâmetros do servidor na referência do SDK do servidor). Recomendamos que você defina esses valores específicos do recurso de computação (ou os locais armazenados) como variáveis de ambiente. Se você estiver usando o Amazon GameLift Servers Agent, essa tarefa será realizada automaticamente. Os valores específicos do recurso de computação são os seguintes:

  • register-compute retorna um valor para GameLiftServiceSdkEndpoint. Defina esse valor para o parâmetro do servidor webSocketUrl.

  • compute-auth-token retorna o token de autenticação. Defina esse valor para o parâmetro do servidor authToken.

AWS CLI

As instruções a seguir descrevem como enviar manualmente cada solicitação usando a AWS CLI.

Como registrar um recurso de computação

Chame register-compute para registrar um recurso de computação. Identifique o ID da frota à qual adicionar o recurso de computação. Forneça as seguintes informações do recurso de computação: um nome significativo, endereço IP e localização. A localização do recurso de computação deve ser um local personalizado que já esteja associado à frota. Se você quiser usar um local personalizado diferente, use o console do Amazon GameLift Servers para atualizar a frota ou chame o comando create-fleet-locations da AWS CLI para adicionar um local personalizado à frota.

No exemplo a seguir, substitua os valores de espaço reservado para a computação e a frota. O valor fleet-id é retornado quando você cria uma frota Anywhere. Você pode recuperar todos os detalhes da frota chamando describe-fleet-attributes e describe-fleet-location-attributes.

aws gamelift register-compute \ --compute-name HardwareAnywhere \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --ip-address 10.1.2.3 \ --location custom-location-1

Exemplo de saída

{ "Compute": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-west-2:111122223333:compute/HardwareAnywhere", "IpAddress": "10.1.2.3", "ComputeStatus": "Active", "Location": "custom-location-1", "CreationTime": "2023-02-23T18:09:26.727000+00:00", "GameLiftServiceSdkEndpoint": "wss://us-west-2.api.amazongamelift.com" } }

Como solicitar um token de autenticação

Chame get-compute-auth-token para solicitar um token de autenticação válido. Registre um recurso de computação. Identifique o ID da frota e o nome do recurso de computação.

No exemplo a seguir, substitua os valores de espaço reservado para a computação e a frota. O valor fleet-id é retornado ao criar-se uma frota Anywhere. É possível recuperar todos os detalhes da frota chamando describe-fleet-attributes. Para encontrar informações dos recursos de computação, chame list-compute com o ID da frota para ver todos os recursos de computação registrados na frota.

aws gamelift get-compute-auth-token \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --compute-name HardwareAnywhere

Exemplo de saída

{ "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-east-1:111122223333:compute/HardwareAnywhere", "AuthToken": "0c728041-3e84-4aaa-b927-a0fb202684c0", "ExpirationTimestamp": "2023-02-23T18:47:54+00:00" }

Iniciar um servidor de jogos

Depois de criar uma frota Anywhere e adicionar um ou mais recursos de computação à frota, você estará com tudo pronto para começar a executar os servidores de jogos.

Etapa 1 Instale o software de servidor de jogos

Instale a compilação do servidor de jogos e todo o software dependente em cada recurso de computação da frota Anywhere. A compilação do servidor de jogos deve ser integrada ao SDK versão 5.x do servidor do Amazon GameLift Servers (ou superior) com a funcionalidade mínima necessária para se comunicar com o serviço do Amazon GameLift Servers.

Etapa 2 Prepare os recursos de computação para executar um servidor de jogos

Certifique-se de que cada recurso de computação esteja registrado e tenha um token de autenticação válido. Se estiver usando scripts para gerenciar essas tarefas, garanta que os scripts sejam executados em cada recurso de computação antes de iniciar qualquer processo do servidor de jogos.

Se você implantou o Amazon GameLift Servers Agent com o software de servidor de jogos, verifique se o executável do Agent foi iniciado.

Etapa 3 Inicie um processo de servidor de jogos

Execute uma instância do executável do servidor de jogos em uma computação. Se a compilação do servidor de jogos estiver devidamente integrada, o processo do servidor de jogos chamará a ação InitSDK() do SDK do servidor com um conjunto de parâmetros de servidor válidos. Quando o processo de servidor estiver pronto para hospedar uma sessão de jogo, ele chamará ProcessReady().

nota

Se tiver implantado o software do servidor de jogos com o Amazon GameLift Servers Agent, você poderá ignorar essa etapa. O Agent inicia automaticamente os processos do servidor de jogos com base nas instruções de runtime fornecidas por você.

É possível monitorar o progresso visualizando as métricas do processo do servidor para processos de servidor em ativação e ativos. Consulte Amazon GameLift ServersMétricas do para frotas. Se o processo do servidor de jogos falhar ao inicializar, verifique se o processo está recuperando os valores corretos dos parâmetros do servidor para o recurso de computação em que está sendo executado.