

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

# Plug-in para Unreal: implante o jogo em uma frota do EC2 gerenciada
<a name="unreal-plugin-ec2"></a>

Nesse fluxo de trabalho, implante seu jogo para hospedagem em recursos computacionais baseados em Nuvem gerenciados pelo Amazon GameLift Servers. Faça o upload da versão integrada do servidor de jogos para o serviço do Amazon GameLift Servers para implantação. Se você ainda não tiver integrado o código do jogo, consulte[Plugin para Unreal: Integre seu código de jogo](unreal-plugin-integrate.md). Quando esse fluxo de trabalho estiver concluído, você terá um cliente de jogo funcional que poderá se conectar aos servidores de jogos na nuvem. 

**Para iniciar o fluxo de trabalho gerenciado do Amazon GameLift Servers no Amazon EC2:**
+ Na barra de ferramentas principal do editor do Unreal, escolha o menu do Amazon GameLift Servers e selecione **Host com EC2 gerenciado**. Essa ação abre a página do plug-in **Implantar o Amazon EC2 Fleet**, que apresenta um processo de seis etapas para integrar, criar, implantar e lançar seus componentes do jogo. 

## Etapa 1: configure o perfil
<a name="unreal-plugin-ec2-profile"></a>

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 são associados à AWS conta do perfil e 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.

**Como definir um perfil do usuário**

1. 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**.

1. 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
<a name="unreal-plugin-ec2-integrate"></a>

Nesta etapa, prepare as compilações de servidor e cliente de jogo para trabalhar com o servidor Amazon GameLift Servers C\$1\$1 SDK para Unreal.. Se você ainda não integrou o código do jogo e criou executáveis de cliente e servidor de jogos, consulte [Plugin para Unreal: Integre seu código de jogo](unreal-plugin-integrate.md). Insira os caminhos para os executáveis do jogo em sua estação de trabalho local.

Nesta etapa no workflow, o plugin fornece links para instruções e o código-fonte para configurar uma versão de fonte construída para o Unreal Editor. Você precisa usar a versão de origem ao criar seus componentes de cliente e servidor.

Depois de criar um servidor de jogo integrado ao SDK do servidor, conclua as tarefas a seguir para prepará-lo para ser carregado no Amazon GameLift Servers para hospedagem.

### Para preparar sua compilação de servidor para implantação na Nuvem (Windows)
<a name="w2aab9c11b9c19c35b9b9b1"></a>

Na pasta `WindowsServer` em que o editor do Unreal armazena os arquivos de compilação do seu servidor por padrão, faça as seguintes adições

1. **Copie o script de instalação da compilação do servidor na raiz da pasta `WindowsServer`.** O script de instalação está incluído no download do plug-in. Procure o arquivo `[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat`. O Amazon GameLift Servers usa esse arquivo para instalar o servidor criado em seus computadores de hospedagem.

1. **Copie o arquivo `VC_redist.x64.exe` no root da pasta do `WindowsServer`** Você poderá ignorar esta etapa se estiver usando o Unreal Engine versão 5.6 ou posterior. Esse arquivo está incluído na instalação do Visual Studio. Geralmente está localizado em `C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142`.

1. **Adicione os arquivos da biblioteca do OpenSSL à compilação do servidor de jogos.** . Você pode pular essa etapa se seu servidor de jogos estiver integrado ao SDK do servidor 5.3 ou posterior. Esta versão está incluída no plug-in do Amazon GameLift Servers para o Unreal, versão 3.0 ou posterior. 

   Localize e copie manualmente as bibliotecas do OpenSSL para o diretório do pacote de compilação do jogo em `<YourGame>/Binaries/Win64`. Você **deve** usar a mesma versão do OpenSSL que sua versão do Unreal Engine 5 usa. As compilações de jogos implantadas com as bibliotecas OpenSSL erradas não conseguirão se comunicar com o serviço do Amazon GameLift Servers.

   Procure as bibliotecas do OpenSSL na fonte do seu mecanismo de jogo. O local varia de acordo com o ambiente de desenvolvimento: 

   No Windows: 
   + `[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll`
   + `[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll` 

   No Linux:
   + `Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1`
   + `Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1`

### Para preparar sua compilação de servidor para implantação na Nuvem (Linux)
<a name="w2aab9c11b9c19c35b9c11b1"></a>

Para obter instruções mais detalhadas sobre como preparar um servidor de jogos criado para Linux, consulte [Criação do SDK do servidor para o Amazon GameLift Servers para o Unreal Engine 5 no Amazon Linux](https://github.com/aws/amazon-gamelift-toolkit/tree/main/building-gamelift-server-sdk-for-unreal-engine-and-amazon-linux).

1. **Selecione um diretório de trabalho para organizar seus arquivos de compilação.** A estrutura do diretório de trabalho é implantada como está em cada computação de hospedagem. Adicione seu servidor de jogos construído em Linux e todos os arquivos dependentes. 

1. **Crie um script de instalação de compilação do servidor na raiz do seu diretório de trabalho.** Se necessário, crie um arquivo `install.sh` e adicione os comandos necessários para instalar corretamente a compilação do servidor do jogo. O Amazon GameLift Servers usa esse arquivo para instalar o servidor criado em cada recurso de hospedagem do EC2.

1. **Adicione os arquivos da biblioteca do OpenSSL à compilação do servidor de jogos.** Você pode pular essa etapa se seu servidor de jogos estiver integrado ao SDK do servidor 5.3 ou posterior. 

   Localize e copie manualmente as bibliotecas. Você **deve** usar a mesma versão do OpenSSL que sua versão do Unreal Engine 5 usa. As compilações de jogos implantadas com as bibliotecas OpenSSL erradas não conseguirão se comunicar com o serviço do Amazon GameLift Servers.

   1. Procure as bibliotecas do OpenSSL na fonte do seu mecanismo de jogo. O local varia de acordo com o ambiente de desenvolvimento: 

      No Windows: 
      + `[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll`
      + `[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll` 

      No Linux:
      + `Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1`
      + `Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1`

   1. Quando você localizar as bibliotecas do OpenSSL, copie-as para o diretório do pacote de compilação do jogo em `<YourGame>/Binaries/Linux`. 

## Etapa 3: selecionar o cenário de implantação
<a name="unreal-plugin-ec2-scenarios"></a>

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.
  + Autorizador de gateway de API que vincula o grupo de usuários a. APIs
  + Web ACl para limitar chamadas excessivas de jogadores para o gateway da API.
  + Gateway de API \$1 função do Lambda para os jogadores solicitarem um slot de jogo. Essa função é chamada `CreateGameSession()` se nenhuma estiver disponível.
  + Gateway de API \$1 função do 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. Este cenário usa hospedagem spot de baixo custo com uma estrutura de várias frotas e vários locais para uma disponibilidade duradoura. Esta abordagem é útil quando se está pronto para começar a projetar um componente de matchmaker para a 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.
  + Autorizador de gateway de API que vincula o grupo de usuários a. APIs
  + Web ACl para limitar chamadas excessivas de jogadores para o gateway da API.
  + Gateway de API \$1 função do Lambda para os jogadores solicitarem um slot de jogo. Esta função chama `StartMatchmaking()`.
  + Gateway de API \$1 função do 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 criação de parcerias para jogadores e informações da sessão do jogo.
  + Tópico do SNS \$1 Função Lambda para GameSessionQueue lidar com eventos.

## Etapa 4: configurar parâmetros do jogo
<a name="unreal-plugin-ec2-parameters"></a>

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 de jogos. A AWS usa esse nome para se referir à cópia da compilação do 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
<a name="unreal-plugin-ec2-deploy"></a>

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 enquanto a AWS valida a compilação do servidor, provisiona recursos de hospedagem, instala o servidor de jogos, inicia os processos do servidor e os prepara 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 jogos instalado em uma instância do EC2 da AWS . Pelo menos um processo do servidor está em execução e pronto para iniciar uma sessão de jogo. 

## Etapa 6: Inicializar o cliente
<a name="unreal-plugin-ec2-launch"></a>

Neste ponto, você concluiu todas as tarefas necessárias para iniciar e jogar o jogo multijogador hospedado com o Amazon GameLift Servers. 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.