Configure testes locais com a Amazon GameLift Anywhere - 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á.

Configure testes locais com a Amazon GameLift Anywhere

nota

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

Use uma Amazon GameLift Anywhere frota e seu próprio hardware para criar e testar iterativamente seus componentes de jogo em um ambiente hospedado simulado. Configurar um Anywhere frota e registre um dispositivo local para estabelecer uma conexão com o GameLift serviço da Amazon. Instale seu servidor de jogos integrado no dispositivo, inicie um processo de servidor de jogos e teste a funcionalidade do jogo conforme necessário. Você pode atualizar a compilação do servidor de jogos sempre que necessário para testar cada nova iteração de compilação.

Com um Anywhere frota, você pode testar usando o AWS CLI ou com scripts de teste. Se você integrou um cliente de jogo com a Amazon GameLift, você pode executar o cliente no mesmo dispositivo local ou em um dispositivo diferente.

Testando localmente com um Anywhere fleet é particularmente útil para testar a integração do seu servidor de jogos com a Amazon GameLift. Você tem visibilidade total de todas as atividades de hospedagem na máquina local, bem como de eventos e dados de registro.

nota

Você está usando o GameLift plug-in da Amazon para Unreal Engine ou Unity? Essas ferramentas incluem fluxos de trabalho guiados para configurar testes locais com um Anywhere frota. Siga a documentação para Plugin para Unity: configure testes locais com a Amazon GameLift Anywhere ouPlugin para Unreal: configure testes locais com a Amazon GameLift Anywhere.

Configurar um local Anywhere frota

Siga estas etapas para criar um Anywhere frota para sua estação de trabalho local. Para obter instruções detalhadas sobre o uso do AWS CLI ou do AWS Management Console para a Amazon GameLift, consulteCrie uma Amazon GameLift Anywhere frota.

Para criar o Anywhere frota
  1. Crie um local personalizado para sua estação de trabalho local. (AWS CLIou console). Um local personalizado é simplesmente um rótulo para o recurso computacional que você planeja incluir em seu Anywhere frota. Os nomes de locais personalizados devem começar comcustom-. Por exemplo: custom-my_laptop. Consulte Criar uma política personalizada.

  2. Crie um Anywhere frota (AWS CLIou console). Nesta etapa, crie o recurso de frota com o local personalizado para sua estação de trabalho local. Consulte Crie uma frota em qualquer lugar.

    Anote o ID ou o ARN valor da nova frota. Você precisará desse valor na próxima etapa.

  3. Registre sua estação de trabalho local como uma computação de frota (AWS CLIsomente). Uma Anywhere A frota deve ter pelo menos um recurso computacional para hospedar seus servidores de jogos. Consulte Adicione uma computação à frota. Para adicionar uma computação à frota, você precisa das seguintes informações:

    • Um nome de computador. Cada computação em uma frota deve ter um nome exclusivo.

    • A ferramenta Anywhere identificador da frota. Você pode usar o FleetID ouFleetArn.

    • As informações de conexão do computador. Especifique um IpAddress ou DnsName. É assim que a Amazon GameLift e os clientes de jogos se conectarão aos servidores de jogos.

    • Um local personalizado no Anywhere frota.

    Anote o valor de GameLiftServiceSdkEndpoint retorno. Você precisará desse valor ao atualizar seu servidor de jogo para ser executado em um Anywhere frota.

Atualize e instale seu servidor de jogos

Essa tarefa pressupõe que você já tenha integrado uma compilação de servidor de jogos com o GameLift servidor Amazon SDK 5.x. O processo de integração envolve a adição de código ao seu servidor de jogos para que ele possa interagir com o GameLift serviço da Amazon para iniciar e gerenciar sessões de jogo.

Para um Anywhere frota, você precisa definir manualmente determinadas configurações do servidor do jogo. Em uma frota GameLift gerenciada pela Amazon, essas configurações são definidas automaticamente.

Para preparar seu servidor de jogo para um Anywhere frota
  1. Obtenha um token de autenticação. Seu servidor de jogo deve incluir um token de autenticação em cada comunicação com o GameLift serviço da Amazon. Os tokens de GameLift autenticação da Amazon duram pouco e devem ser atualizados regularmente.

    Como prática recomendada, crie um script para concluir as seguintes tarefas:

    • Convoque a AWS CLI açãoget-compute-auth-token.

    • Armazene o valor do token retornado onde os processos do servidor do jogo possam recuperá-lo, como em uma variável de ambiente na computação local.

    Instale o script com seu servidor de jogos no computador. Defina o script para ser executado antes de iniciar o primeiro processo do servidor do jogo. Enquanto os processos do servidor do jogo estiverem ativos, execute o script regularmente para manter um token de autenticação válido. Todos os processos do servidor de jogos no computador podem usar o mesmo token de autenticação.

  2. Atualize o código GameLift do servidor de jogos da Amazon. Ao integrar o código do servidor do jogo ao GameLift servidor da AmazonSDK, você adicionou uma chamada à açãoInitSdk(). Quando o servidor do jogo é executado em um Anywhere frota, essa chamada requer parâmetros adicionais do servidor. Para obter mais informações, consulte Inicializar o processo do servidor e GameLift Servidor Amazon SDK 5.x para sua linguagem de desenvolvimento. Os parâmetros do servidor são:

    • webSocketUrl— Defina esse parâmetro para o GameLiftServiceSdkEndpoint valor que é retornado quando você registra uma computação na frota.

    • hostId— Defina esse parâmetro com o nome do computador que você especifica ao registrar um computador na frota Anywhere.

    • fleetId— Defina esse parâmetro como o ID do Anywhere frota.

    • authToken— Defina esse parâmetro como o token que é retornado em resposta a uma solicitação para recuperar um token de autenticação para um computador.

    • processId— Defina esse parâmetro para identificar um processo do servidor de jogos que está sendo executado na computação local. Cada processo simultâneo do servidor de jogos deve ter um ID de processo exclusivo.

    Os valores dos parâmetros do servidor que cada processo do servidor de jogo usa precisam ser específicos para a computação da frota Anywhere em que o processo está sendo executado. Para obter detalhes sobre como obter os valores apropriados para um cálculo, consulteAdicione uma computação à frota. Como prática recomendada, definawebSocketUrl, hostIdfleetId, e authToken como variáveis de ambiente na computação local. Todos os processos do servidor executados na computação usarão esses valores.

  3. Instale a versão do servidor do jogo na computação local. Inclua todas as dependências necessárias para executar o servidor do jogo.

  4. Inicie um ou mais processos do servidor de jogos em execução na computação local. Quando o processo do servidor de jogos chama a SDK ação do servidorProcessReady(), o processo está pronto para hospedar uma sessão de jogo.

Testar a atividade da sessão de jogo

Teste a integração do seu servidor de jogos trabalhando com sessões de jogo. Se você não tiver um cliente de jogo integrado com a GameLift funcionalidade da Amazon, você pode usar o AWS CLI para iniciar as sessões de jogo. Experimente os seguintes cenários:

  • Crie uma sessão de jogo. Chame create-game-session o comando (ou a CreateGameSessionAPIoperação). Especifique seu Anywhere ID da frota e localização personalizada. Essa chamada retorna um identificador exclusivo para a nova sessão de jogo.

  • Verifique o status da sessão do jogo.Chame describe-game-sessionso comando (ou a DescribeGameSessionsAPIação). Especifique o ID da sessão do jogo. Essa chamada retorna informações detalhadas da sessão do jogo, incluindo o status da sessão do jogo. As sessões de jogo no status Ativo estão prontas para os jogadores se conectarem. Para obter uma lista de todas as sessões de jogo da frota, chame o list-game-sessionscomando (ou a ListGameSessionsAPIação).

  • Conecte-se à sessão do jogo. Se seu cliente de jogo tiver a capacidade de entrar em uma sessão de jogo, use as informações de conexão incluídas nas informações da sessão do jogo.

Faça iterações em seu servidor de jogos

Você pode usar o mesmo Anywhere frota e computação para testar outras versões da construção do seu servidor de jogos.

  1. Limpe seu existenteGameSession. Se o processo do servidor do jogo falhar ou não ligarProcessEnding(), a Amazon o GameLift limpa GameSession depois que o servidor do jogo parar de enviar verificações de saúde.

  2. Gere uma nova compilação de servidor de jogos. Faça alterações em seu servidor de jogo e empacote uma versão revisada.

  3. Atualize a compilação do servidor do jogo em seu computador local. Seu anterior Anywhere a frota ainda está ativa e seu laptop ainda está registrado como um recurso computacional na frota.

  4. Obtenha um token de autorização atualizado. Chame o get-compute-auth-tokenCLIcomando e armazene o token na computação local.

  5. Inicie um ou mais processos do servidor de jogos em execução na computação local. Quando o processo do servidor do jogo é chamadoProcessReady(), ele está pronto para ser usado para testes.

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.

Você precisa fazer algumas pequenas modificações para fazer a transição de um local Anywhere teste a frota para uma frota GameLift gerenciada pela Amazon. Você pode reutilizar as mesmas filas e matchmakers. Execute as seguintes tarefas:

  • Altere a chamada de código do servidor do jogo paraInitSdk(). Remova os parâmetros do servidor. Para uma frota gerenciada, a Amazon rastreia GameLift automaticamente essas informações.

  • Crie um recurso de GameLift compilação da Amazon. Com um Anywhere Para testar a frota, você precisa implantar manualmente a compilação e as dependências do servidor de jogos em cada computação da frota. Com uma frota gerenciada, você cria e carrega seu pacote de compilação de jogos para a Amazon GameLift, que o implanta automaticamente em todos os computadores da frota. Consulte Implemente uma criação de servidor personalizada para GameLift hospedagem na Amazon 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. Não inclua scripts que registrem uma computação e obtenham um token de autenticação, pois a Amazon gerencia GameLift automaticamente essas tarefas com frotas gerenciadas.

  • Crie uma frota gerenciada. Crie uma frota usando o console ou AWS CLI especificando uma frota EC2 gerenciada. Esse tipo de frota exige configurações adicionais, incluindo a especificação do recurso de construção e dos tipos de instância. Todos vocês precisam definir uma configuração de tempo de execução para gerenciar o ciclo de vida do servidor de jogos em cada computador da frota. Consulte Crie uma EC2 frota GameLift gerenciada pela Amazon para obter detalhes sobre como criar uma frota gerenciada.

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