Crie um ambiente de teste baseado em nuvem - Amazon GameLift

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

Crie um ambiente de teste baseado em nuvem

nota

Este tópico aborda testes iterativos para jogos integrados ao SDK do GameLift servidor Amazon versão 5.x. Se o seu jogo usa o SDK do servidor versão 4.x ou anterior, consulte. Teste sua integração usando o Amazon GameLift Local

Use uma GameLift Anywhere frota da Amazon para criar e testar de forma iterativa os componentes do seu jogo em um ambiente hospedado na nuvem. Crie uma Anywhere frota com recursos de hospedagem e uma conexão com o GameLift serviço da Amazon, execute seus servidores de jogos neles e teste a funcionalidade do jogo conforme necessário.

Implante uma Anywhere frota com o Amazon GameLift Agent

Se a versão do seu servidor de jogos estiver integrada ao Amazon GameLift SDK 5.x ou posterior, você poderá implantá-la em uma frota baseada na nuvem Anywhere com o Amazon Agent. GameLift O Agente é um processo em segundo plano que gerencia o ciclo de vida do servidor de jogos e outras tarefas em cada computador de uma frota. Essas tarefas incluem registrar a computação na Amazon GameLift, adquirir um token de autenticação e iniciar/interromper processos do servidor de jogos com base em um conjunto de instruções. O Agente é controlado pela configuração de tempo de execução de uma frota, que você pode atualizar a qualquer momento durante a vida útil da frota. (O agente é implantado automaticamente em frotas gerenciadas do EC2.) Para obter mais informações e fazer o download do Agente, consulte o GameLift GitHubrepositório da Amazon.

Configure testes iterativos com o Amazon EC2

Use o fluxo de trabalho guiado nesta solução de GameLift kit de ferramentas da Amazon para configurar um ambiente de hospedagem baseado em nuvem que espelhe a experiência de hospedagem gerenciada com a Amazon. GameLift

O GitHub repositório fornece um conjunto de scripts que automatizam a maioria dos processos para configurar um ambiente de teste com a Amazon GameLift Anywhere e o Amazon GameLift Agent. Ele também fornece orientação para atualizar o ambiente sempre que você tiver um novo servidor de jogo criado para testar. Você pode executar um único script que implanta um ambiente de teste com uma amostra de compilação de servidor de jogos ou pode percorrer cada etapa para configurá-lo com sua própria compilação de servidor de jogos.

Nesse fluxo de trabalho, você trabalhará inteiramente no AWS Management Console, usando AWS CloudShell para executar scripts e concluir tarefas de linha de comando.

nota

Para as tarefas deste tutorial, você precisa de um usuário de AWS conta com permissões para os seguintes serviços: Amazon GameLift AWS CloudShell, Amazon S3 AWS Systems Manager, Amazon EC2 e. AWS Identity and Access Management Os usuários com acesso administrativo à AWS conta já têm as permissões necessárias.

O fluxo de trabalho abrange as seguintes tarefas:

  • Package um servidor de jogos criado para a Amazon GameLift.O fluxo de trabalho fornece um script para criar um servidor de jogos C++ de amostra, que já foi integrado ao SDK 5.x GameLift do servidor Amazon e está pronto para hospedagem. Como alternativa, você pode trabalhar com seu próprio projeto de jogo se tiver concluído a integração.

  • Configure um bucket do Amazon Simple Storage Service para armazenar compilações e dependências de servidores de jogos. Ao produzir novas versões de suas compilações de jogo, você pode armazená-las no S3 e usar os scripts para atualizar a Anywhere frota para testes de jogo.

  • Obtenha e crie o Amazon GameLift Agent. O Agente gerencia os processos do servidor de jogos em um recurso de hospedagem com base na sua configuração. Ele usa a mesma lógica e se comporta de forma idêntica à hospedagem EC2 GameLift gerenciada pela Amazon.

  • Configure uma Anywhere frota para seus recursos de hospedagem. Com uma Anywhere frota, você pode usar o GameLift serviço da Amazon para hospedar recursos que não são gerenciados pela Amazon GameLift. Nesta etapa, você também configurará a configuração do tempo de execução, que instrui o Amazon GameLift Agent quando e como iniciar os processos do servidor de jogos.

  • Configure uma instância do Amazon EC2. Esse é o seu ambiente de teste para testes iterativos. É muito mais rápido usar uma instância EC2 padrão em vez de uma instância totalmente gerenciada da Amazon GameLift (que é otimizada para uso em nível de produção). Com uma instância EC2 padrão, você pode atualizar o servidor do jogo de forma rápida e contínua conforme necessário.

  • Implante sua versão de servidor de jogos e o Amazon GameLift Agent na instância do Amazon EC2.O fluxo de trabalho fornece um script que obtém a versão mais recente da compilação do seu jogo e todas as dependências e a instala na sua instância do EC2. Nesse fluxo de trabalho, as dependências incluem o Amazon GameLift Agent e o CloudWatch Agent.

  • Inicie o Amazon GameLift Agent. Depois de instalado, o Agente inicia e começa a executar as instruções automaticamente. Isso inclui:

    • Registre a instância do EC2 como uma computação na frota da Amazon GameLift Anywhere.

    • Estabeleça uma WebSocket conexão com o GameLift serviço da Amazon e obtenha a configuração de tempo de execução mais recente.

    • Inicie os processos do servidor de jogos com base nas instruções na configuração do tempo de execução. Nesse fluxo de trabalho, o Agente é instruído a iniciar um único processo do executável do servidor do jogo.

  • Teste seus cenários de jogo. Com o ambiente de teste configurado e a versão mais recente do servidor de jogos instalada, você pode começar a testar. O fluxo de trabalho percorre várias etapas de teste, incluindo o início de uma sessão de jogo. Acesse os registros do servidor do CloudWatch jogo para acompanhar o progresso à medida que a sessão do jogo começa e se prepara para aceitar jogadores.

    Ao desenvolver os componentes do jogo, incluindo um cliente de jogo e um serviço de back-end do lado do cliente, você pode incluí-los em seus cenários de teste. Use um cliente de jogo para solicitar uma sessão de jogo, recuperar informações de conexão do GameLift serviço Amazon e conectar-se diretamente à sessão do jogo.

  • Implante uma nova compilação de servidor de jogos e repita os testes. Ao desenvolver seu jogo, você pode gerar novas compilações de servidores de jogos e, em seguida, implantá-las rapidamente no ambiente de teste do EC2 para testes. Faça o upload deles para o bucket do Amazon S3 e, em seguida, use os scripts de fluxo de trabalho para atualizar o ambiente de teste.

Faça a transição do seu jogo para frotas GameLift gerenciadas pela Amazon

Depois de concluir os testes de desenvolvimento e estar pronto para se preparar para o lançamento, esse é um bom momento para migrar para as frotas GameLift gerenciadas pela Amazon. Use frotas gerenciadas para ajustar e testar seus recursos de hospedagem de jogos. Implemente sua solução de posicionamento de sessões de jogo (filas e matchmakers), selecione o hardware de hospedagem ideal (incluindo frotas Spot) e os locais e escolha uma estratégia para aumentar a capacidade. Talvez você também queira começar a usar AWS CloudFormation para gerenciar com mais eficiência os ciclos de vida de todos os seus recursos de hospedagem de jogos, incluindo frotas, filas e matchmakers.

É necessário um esforço mínimo para fazer a transição de uma frota de Anywhere testes baseada em nuvem para uma frota GameLift gerenciada pela Amazon. Você não precisa alterar nenhum código do jogo e pode reutilizar as mesmas filas e matchmakers. Execute as seguintes tarefas:

  • Crie um recurso de GameLift compilação da Amazon. Com uma frota Anywhere de testes, você precisa implantar manualmente a versão e as dependências do servidor de jogos em cada computação da frota. Com uma frota gerenciada, faça o upload do pacote de compilação do jogo para a Amazon GameLift, que o implanta automaticamente em todos os computadores da frota. Consulte Fazer upload de uma compilação de servidor personalizada para o Amazon GameLift para obter detalhes sobre como empacotar seus arquivos de compilação de jogos e criar um recurso de compilação com arquivos em um bucket do Amazon S3.

  • Crie uma frota gerenciada. Crie uma frota usando o console ou a AWS CLI, especificando uma frota gerenciada pelo EC2. Esse tipo de frota exige configurações adicionais, incluindo a especificação do recurso de construção e dos tipos de instância. Você pode usar a mesma configuração de tempo de execução para gerenciar o ciclo de vida do servidor de jogos em cada computação da frota. Consulte Criar uma frota gerenciada pelo Amazon GameLift para obter detalhes sobre a criação de uma frota gerenciada.

  • Redirecione os aliases da frota (opcional). Se você configurar aliases para usar com suas Anywhere frotas, poderá reutilizar os mesmos aliases para suas frotas gerenciadas. Consulte Adicionar um alias a uma frota da Amazon GameLift para obter detalhes sobre como criar ou atualizar um alias.