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:
Tópicos
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.
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.
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-computeretorna um valor paraGameLiftServiceSdkEndpoint. Defina esse valor para o parâmetro do servidorwebSocketUrl. -
compute-auth-tokenretorna o token de autenticação. Defina esse valor para o parâmetro do servidorauthToken.
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.