Plugin para Unreal: Hospede seu jogo localmente com Amazon GameLift Servers Anywhere
Use esse fluxo de trabalho para configurar sua estação de trabalho local como host de servidor de jogos usando uma frota Anywhere. Você pode usá-lo para testar a integração do servidor de jogos antes de implantar em uma frota gerenciada baseada em nuvem. Também pode ser útil para testes locais durante o desenvolvimento iterativo de jogos.
Para iniciar o fluxo de trabalho do Amazon GameLift Servers Anywhere:
Na barra de ferramentas principal do editor do Unreal, escolha o menu do Amazon GameLift Servers e selecione Host com Anywhere. Essa ação abre a página do plug-in Implantar o Anywhere, que apresenta um processo de seis etapas para integrar, criar e iniciar os componentes do jogo.
Etapa 1: configurar seu perfil
Escolha o perfil que você deseja usar ao seguir esse fluxo de trabalho. O perfil selecionado afeta todas as etapas do fluxo de trabalho. Todos os recursos criados estão associados à conta do perfil da AWS e são colocados na região da AWS padrão do perfil. As permissões do usuário do perfil determinam seu acesso aos recursos e ações da AWS.
Como definir um perfil do usuário
-
Selecione um perfil na lista suspensa de perfis disponíveis. Se ainda não tem um perfil ou deseja criar um, acesse o menu do Amazon GameLift e escolha Definir perfis de usuário da AWS.
-
Se o status do bootstrap não for “Ativo”, escolha o perfil do Bootstrap e espere que o status mude para “Ativo”.
Etapa 2: configurar o código do jogo
Nesta etapa, prepare as compilações de servidor e cliente de jogo para trabalhar com o Amazon GameLift Servers. Se você ainda não tiver integrado o código do jogo, consultePlugin para Unreal: Integre seu código de jogo. Insira os caminhos para os executáveis do jogo em sua estação de trabalho local.
Servidor de jogos: integre seu servidor de jogos com o SDK do servidor para o Amazon GameLift Servers e empacote sua compilação de servidor de jogos. Para instruções, consulte Plugin para Unreal: Integre seu código de jogo. O servidor do jogo deve estar integrado ao SDK do servidor para estabelecer comunicação com o serviço do Amazon GameLift Servers e responder às solicitações para iniciar novas sessões de jogo e aceitar conexões do cliente do jogo.
Cliente de jogo: no mínimo, você precisa de um cliente de jogo que possa se conectar ao servidor de jogos usando informações de endereço IP e porta. Se você ainda não tem os componentes do seu cliente de jogo configurados para o Amazon GameLift Servers, você pode usar a ferramenta AWS CLI para solicitar manualmente novas sessões de jogo, obter informações de conexão e usar essas informações para conectar o cliente do jogo.
Em algum momento, você precisará ter um serviço de backend para enviar novas solicitações de sessões de jogo ao serviço do Amazon GameLift Servers e retransmitir as informações de conexão para um cliente do jogo. Você pode usar os mapas de teste incluídos no plug-in para adicionar a funcionalidade cliente do Amazon GameLift Servers ao seu projeto de jogo. Para obter ajuda na criação de uma solução personalizada, consulte Integre a funcionalidade do cliente de jogos do Amazon GameLift Servers.
Etapa 3: conectar-se a uma frota do Anywhere
Nesta etapa, você designa uma frota do Anywhere para usar. Uma frota do Anywhere define uma coleção de recursos computacionais, que podem estar localizados em qualquer lugar, para hospedagem de servidores de jogos.
Se a conta da AWS que você está usando atualmente tiver frotas do Anywhere existentes, abra o campo suspenso Nome da frota e escolha uma frota. Essa lista suspensa mostra apenas as frotas do Anywhere na região da AWS para o perfil de usuário atualmente ativo.
Se não houver frotas existentes, ou se você quiser criar uma, escolha Criar frota de Anywhere e forneça um nome para a frota.
Depois de escolher uma frota do Anywhere para o projeto, o Amazon GameLift Servers verifica se o status da frota está ativo e exibe o ID da frota. Você poderá acompanhar o progresso dessa solicitação no log de saída do editor do Unreal.
Etapa 4: registrar sua estação de trabalho
Nesta etapa, você registra sua estação de trabalho local como um recurso computacional na nova frota do Anywhere.
Como registrar a estação de trabalho como uma computação do Anywhere
Insira um nome de computação para a sua máquina local. Se você adicionar mais de uma computação na frota, os nomes deverão ser exclusivos.
Forneça um endereço IP para sua máquina local. Esse campo é padronizado para o endereço IP público da máquina. Você também pode usar o localhost (127.0.0.1), desde que esteja executando o cliente e o servidor do jogo na mesma máquina.
Escolha Registrar computação. Você poderá acompanhar o progresso dessa solicitação no log de saída do editor do Unreal.
Em resposta a essa ação, o Amazon GameLift Servers verifica se pode se conectar à computação e retorna informações sobre a computação recém-registrada. Ele também cria os argumentos de console que os executáveis do seu jogo precisam ao inicializar a comunicação com o serviço do Amazon GameLift Servers.
Etapa 5: gerar token de autenticação
Os processos do servidor de jogos que estão sendo executados em sua computação de Anywhere precisam de um token de autenticação para fazer chamadas para o serviço do Amazon GameLift Servers. O plug-in gera e armazena automaticamente um token de autenticação para a frota de Anywhere sempre que você inicia o servidor do jogo a partir do plug-in. O valor do token de autenticação é armazenado como um argumento de linha de comando, que o código do servidor pode recuperar em runtime.
Os exemplos de código fornecidos acima também permitem que você use AWS Signature Version 4 (SigV4) para solicitações de API. SigV4 é o protocolo de assinatura da AWS para adicionar informações de autenticação às solicitações de API da .
Você não precisa realizar nenhuma ação nesta etapa.
Etapa 6: iniciar o jogo
Neste momento, você concluiu todas as tarefas necessárias para iniciar e jogar o jogo multijogador em uma estação de trabalho local usando o Amazon GameLift Servers.
Como jogar o jogo hospedado
Inicie seu servidor de jogos. O servidor do jogo notificará o Amazon GameLift Servers quando estiver pronto para hospedar sessões de jogo.
Inicie seu cliente de jogo e use a nova funcionalidade para iniciar uma nova sessão de jogo. Essa solicitação é enviada para o Amazon GameLift Servers por meio do novo serviço de backend. Em resposta, o Amazon GameLift Servers chama o servidor do jogo, executado em sua máquina local, para iniciar uma nova sessão de jogo. Quando a sessão de jogo estiver pronta para aceitar jogadores, o Amazon GameLift Servers fornece informações de conexão para que o cliente do jogo participe da sessão de jogo.