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á.
Plugin para Unreal: implante seu jogo em frotas gerenciadas EC2
Nesse fluxo de trabalho, você usa o plug-in para modificar seu jogo para hospedagem em recursos computacionais baseados em nuvem gerenciados pela Amazon. GameLift Você adiciona o código de jogo do cliente e do servidor para a GameLift funcionalidade da Amazon e, em seguida, carrega sua compilação de servidor para o GameLift serviço da Amazon para implantação nos recursos baseados na nuvem. Quando esse fluxo de trabalho estiver concluído, você terá um cliente de jogo funcional que poderá se conectar aos seus servidores de jogos na nuvem.
Para iniciar o EC2 fluxo de trabalho GameLift gerenciado pela Amazon na Amazon:
Na barra de ferramentas principal do editor Unreal, escolha o GameLift menu Amazon e selecione Host with Managed. EC2 Essa ação abre a página do plug-in Deploy Amazon EC2 Fleet, que apresenta um processo de seis etapas para integrar, criar, implantar e lançar os componentes do seu 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 que você cria estão associados à AWS conta do perfil e são colocados na AWS região padrão do perfil. As permissões do usuário do perfil determinam seu acesso aos AWS recursos e ações.
Para definir um perfil de usuário
-
Selecione um perfil na lista suspensa de perfis disponíveis. Se você ainda não tem um perfil ou deseja criar um novo, acesse o GameLift menu Amazon e escolha Definir perfis de AWS usuário.
-
Se o status do bootstrap não for “Ativo”, escolha o perfil do Bootstrap e aguarde até que o status mude para “Ativo”.
Etapa 2: configurar o código do jogo
Nesta etapa, você faz uma série de atualizações no código do cliente e do servidor para adicionar a funcionalidade de hospedagem. Se você ainda não configurou uma versão original do editor Unreal, o plug-in fornece links para instruções e código-fonte.
Se você integrar seu jogo para uso com uma frota de Anywhere, você não precisa fazer nenhuma alteração no código do jogo. Se você estiver usando o mapa do jogo de inicialização, isso também funciona com EC2 implantações.
Depois de criar seu servidor de jogo, conclua as tarefas a seguir para prepará-lo para ser carregado na Amazon GameLift.
Para empacotar sua compilação de servidor para implantação na nuvem
Na pasta WindowsServer
em que o editor do Unreal empacota os arquivos de compilação do seu servidor por padrão, faça as seguintes adições
Copie o script de instalação, incluído no download do plug-in, na raiz da pasta
WindowsServer
. Procure o arquivo[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat
. A Amazon GameLift usa esse arquivo para instalar o servidor criado em cada recurso de EC2 hospedagem.Copie o arquivo
VC_redist.x64.exe
, incluído na instalação do Visual Studio, na raiz da pastaWindowsServer
. Esse arquivo geralmente está localizado emC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142
.Copie a versão Open SSL DLLs do seu servidor de jogo para a pasta
WindowsServer/MyGame/Binaries/Win64
. Certifique-se de que DLLs sejam da mesma versão usada na compilação do servidor. Copie os arquivos a seguir:libssl-3-x64.dll
libcrypto-3-x64.dll
Etapa 3: selecionar o cenário de implantação
Nesta etapa, você escolhe a solução de hospedagem de jogos que deseja implantar no momento. Você poderá ter várias implantações do seu jogo, usando qualquer um dos cenários.
Frota de região única: implanta seu servidor de jogo em uma única frota de recursos de hospedagem na região padrão AWS do perfil ativo. Esse cenário é um bom ponto de partida para testar a integração do servidor da AWS e a configuração de compilação do servidor. Ele implanta os seguintes recursos:
frota (sob demanda) da AWS com a versão do seu servidor de jogos instalada e em execução.
Grupo de usuários e cliente do Amazon Cognito para permitir que os jogadores se autentiquem e iniciem um jogo.
APIautorizador de gateway que vincula o pool de usuários a. APIs
W ebACl para limitar chamadas excessivas de jogadores para API o gateway.
APIgateway + função Lambda para os jogadores solicitarem um slot de jogo. Essa função é chamada
CreateGameSession()
se nenhuma estiver disponível.APIgateway + função Lambda para que os jogadores obtenham informações de conexão para sua solicitação de jogo.
FlexMatch frota: implanta seu servidor de jogo em um conjunto de frotas e configura um FlexMatch matchmaker com regras para criar partidas de jogadores. Esse cenário usa hospedagem spot de baixo custo com uma estrutura de várias frotas e vários locais para uma disponibilidade durável. Essa abordagem é útil quando você está pronto para começar a projetar um componente matchmaker para sua solução de hospedagem. Nesse cenário, você criará os recursos básicos para essa solução, que poderão ser personalizados posteriormente, conforme necessário. Ele implanta os seguintes recursos:
FlexMatch configuração de matchmaking e regras de matchmaking definidas para aceitar solicitações de jogadores e formar partidas.
-
Três frotas da AWS com sua versão de servidor de jogo instalada e funcionando em vários locais. Inclui duas frotas spot e uma frota sob demanda como backup.
-
Fila de posicionamento de sessões de jogo da AWS que atende às solicitações de partidas propostas, encontrando o melhor recurso de hospedagem possível (com base na viabilidade, custo, latência do jogador etc.) e iniciando uma sessão de jogo.
-
Grupo de usuários e cliente do Amazon Cognito para permitir que os jogadores se autentiquem e iniciem um jogo.
-
APIautorizador de gateway que vincula o pool de usuários a. APIs
-
W ebACl para limitar chamadas excessivas de jogadores para API o gateway.
-
APIgateway + função Lambda para os jogadores solicitarem um slot de jogo. Esta função chama
StartMatchmaking()
. -
APIgateway + função Lambda para que os jogadores obtenham informações de conexão para sua solicitação de jogo.
-
Tabelas do Amazon DynamoDB para armazenar ingressos de matchmaking para jogadores e informações da sessão do jogo.
-
SNStopic + Função Lambda para lidar com GameSessionQueue eventos.
Etapa 4: configurar parâmetros do jogo
Nesta etapa, você descreve seu jogo para ser carregado em; AWS
Nome da compilação do servidor: forneça um nome significativo para a compilação do servidor do jogo. AWS usa esse nome para se referir à cópia da compilação do seu servidor que é carregada e usada para implantações.
Sistema operacional de criação de servidor: insira o sistema operacional no qual o servidor foi criado para ser executado. Isso informa a AWS que tipo de recursos computacionais usar para hospedar seu jogo.
Pasta do servidor do jogo: identifique o caminho para a pasta de criação do servidor local.
Compilação do servidor de jogo: identifique o caminho para o executável do servidor de jogos.
Caminho do cliente do jogo: identifique o caminho para o executável do cliente do jogo.
Saída de configuração do cliente: esse campo precisa apontar para uma pasta na compilação do cliente que contém sua AWS configuração. Procure-o no seguinte local:
[client-build]/[project-name]/Content/CloudFormation
.
Etapa 5: implantar o cenário
Nesta etapa, você implanta seu jogo em uma solução de hospedagem em nuvem com base no cenário de implantação escolhido. Esse processo pode levar vários minutos para AWS validar a criação do servidor, provisionar recursos de hospedagem, instalar o servidor de jogos, iniciar processos do servidor e prepará-los para hospedar sessões de jogo.
Para iniciar a implantação, escolha Implantar CloudFormation. É possível acompanhar o status de sua hospedagem de jogos aqui. Para obter informações mais detalhadas, você pode entrar no console AWS de gerenciamento AWS e visualizar notificações de eventos. Certifique-se de fazer login usando a mesma conta, usuário e AWS região do perfil de usuário ativo no plug-in.
Quando a implantação estiver concluída, você terá seu servidor de jogo instalado em uma AWS EC2 instância. Pelo menos um processo do servidor está em execução e pronto para iniciar uma sessão de jogo.
Etapa 6: Inicializar o cliente
Neste ponto, você concluiu todas as tarefas necessárias para iniciar e jogar seu jogo multijogador hospedado na Amazon GameLift. Para jogar, inicie uma instância do seu cliente de jogo.
Se você implantou o cenário de frota única, poderá abrir uma única instância de cliente com um jogador, entrar no mapa do servidor e se movimentar. Abra instâncias adicionais do cliente do jogo para adicionar um segundo jogador ao mesmo mapa de jogo do servidor.
Se você implantou o FlexMatch cenário, a solução espera que pelo menos dois clientes sejam colocados na fila para a colocação da sessão de jogo antes que os jogadores possam entrar no mapa do servidor.