> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Implantação do projeto GSDK na nuvem

> Implante um build de servidor Windows do Unreal Engine com o GSDK na nuvem do PlayFab Multiplayer Servers (MPS) para testes iterativos antes de mudar para o Linux em produção.

# Implantar e executar um servidor Windows na nuvem

Este guia explica como implantar o build do seu servidor Windows na nuvem do PlayFab Multiplayer Server (MPS). Isso é ótimo para testes e iterações rápidas do seu servidor de jogo durante o desenvolvimento. Muitos usuários usarão [servidores Linux](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab) em uma versão de produção depois de testar com o Windows.

## Objetivos

* Implantar um projeto na nuvem.
* Conectar-se a ele a partir de um cliente de jogo local

## Requisitos

* Baixe o Visual Studio. A [versão Community](https://visualstudio.microsoft.com/vs/community/) é gratuita.
  * Cargas de trabalho necessárias: Desenvolvimento para desktop com .NET e Desenvolvimento para desktop com C++
* Baixe o código-fonte do Unreal Engine. Para obter instruções, consulte [Baixando o código-fonte do Unreal Engine (externo)](https://docs.unrealengine.com/ProgrammingAndScripting/ProgrammingWithCPP/DownloadingSourceCode/).
* [Projeto do Unreal concluído](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-setup) com o [PlayFab Unreal GSDK](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup) instalado e configurado
* Configuração de [servidor de versão](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project) do seu projeto, criada a partir do Visual Studio ou do Development Editor
* Configuração de [cliente](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project) do seu projeto, criada a partir do Visual Studio ou do Development Editor
* O MPS está [habilitado para o seu título](/pt-BR/services/playfab/multiplayer/servers/enable-playfab-multiplayer-servers), e a cobrança está configurada
* \[Opcional] Instale o [Docker para Windows](https://docs.docker.com/desktop/windows/install/)

## Instruções

### Empacotar o servidor de jogo

* \[OPCIONAL] Esta seção pode ser executada para atualizar os arquivos que o Unreal inclui no build do seu projeto. Isso é útil se você criou ou excluiu arquivos recentemente.
  * Se você não criou recentemente o build do seu projeto na configuração "development editor", faça isso agora
  * Feche o Visual Studio
  * Navegue até o arquivo `{ProjectName}.uproject` do seu projeto
  * Clique com o botão direito do mouse no arquivo `{ProjectName}.uproject` no seu editor de arquivos e selecione "Generate Visual Studio Project Files"
  * Abra novamente o arquivo \{ProjectName}.sln no Visual Studio
* Selecione a configuração **Development Editor**
* Execute seu projeto
* Observe o Unreal Editor, que deve ter carregado seu projeto
* No canto superior esquerdo do menu do Unreal Editor, selecione **File** -> **Package** -> **Build Target** -> **\{ProjectName}Server**
* Selecione **File** -> **Package** -> **Build Configuration** -> **Shipping**
* Selecione **File** -> **Package** -> **Windowsx64**
* Selecione e memorize um local de saída \{ShippingServerFolder}
* Agora você pode usar essa versão empacotada do seu servidor de jogo para [testar com o LocalMultiplayerAgent](/pt-BR/services/playfab/multiplayer/servers/locally-debugging-game-servers-and-integration-with-playfab)
* Depois de verificar com o LocalMultiplayerAgent, consulte o [guia de criação de build](/pt-BR/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds)
  * Testar no MPS neste ponto exigirá uma ferramenta intermediária do [PlayFab MpsAllocatorSample](https://github.com/PlayFab/MpsSamples/tree/main/MpsAllocatorSample)
  * Por enquanto, essa ferramenta ignora parte do trabalho do cliente e nos permite alocar um servidor sem uma solicitação direta do cliente de jogo
  * A maneira correta de fazer isso em um cliente é um tópico separado, abordado no [guia de alocação](/pt-BR/services/playfab/multiplayer/servers/allocating-game-servers-and-configuring-vs-debugging-tools).
* Compacte em zip o build do Shipping Server de \{ShippingServerFolder} acima
  * Seu zip deve conter tudo o que está em \{ShippingServerFolder}, opcionalmente na raiz do arquivo zip
  * \[Opcional] Ou seja, a raiz do seu zip deve conter \{ProjectName}Server.exe (sugere-se que o exe não fique em uma subpasta como "WindowsServer". Recrie o zip, se desejar)
* Familiarize-se com o [guia do processo de criação de build](/pt-BR/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds)
* Os detalhes específicos de configurações específicas estão descritos abaixo:

### Configurar um servidor dedicado Windows no PlayFab

Esta seção abordará a criação de um build no PlayFab MPS, o carregamento do seu servidor de jogo e a conexão com ele pela primeira vez. Você também pode seguir o [guia de criação de servidores](/pt-BR/services/playfab/multiplayer/servers/create-your-first-server) principal do MPS para obter instruções menos específicas do Unreal.

* Navegue até Game Manager -> Multiplayer
* Selecione **New Build**
* Dê um nome ao build
* Selecione uma máquina virtual (para os exemplos descritos nestes guias, a opção recomendada com o menor número de núcleos é suficiente)
* O número de servidores por máquina pode ser de aproximadamente 1 a 10
  * Melhorar/aumentar esse número depende do desempenho do seu servidor de jogo
  * Você pode usar as [métricas de VM](/pt-BR/services/playfab/multiplayer/servers/vm-metrics) para medir o desempenho do seu servidor de jogo e otimizá-lo para aumentar esse número
* Ignore **Server details** por enquanto (abordado na próxima etapa)
* No bloco Assets, arraste o arquivo zip da seção anterior para a caixa de carregamento
  * Se estiver reiniciando, você pode selecionar **Use existing assets**
* Aguarde a conclusão do carregamento
* Ignore **Start Command** por enquanto (abordado na próxima etapa)
* No bloco Network, defina o campo Port Name como `gameport`
  * É obrigatório definir a porta que será usada para se conectar ao seu servidor de jogo
  * O Unreal GSDK contém código para ler essa porta automaticamente e substituir internamente a porta do host do servidor Unreal de acordo com esse valor
  * O nome dessa porta deve ser `gameport`
* Continue para a próxima etapa que corresponde aos "Server Details" que você deseja configurar

#### Opção 1: modo de processo do Windows

Esta opção executa seus servidores de jogo como um processo diretamente na VM. Seus processos compartilharão o acesso ao computador inteiro, incluindo portas, unidades etc. Esta opção descompacta o ativo carregado e executa o "Start Command" a partir do local dos arquivos descompactados como diretório de trabalho.

* Em **Server Details**, selecione **Process** e **Windows**
* Em **Assets**, defina o comando de início como:
  * `{ProjectName}Server.exe` ou `{ProjectName}Server.exe -log`, se quiser gerar arquivos de log
  * O comando de início é executado a partir da linha de comando, usando os arquivos de ativos descompactados como diretório de trabalho
  * Se você optou por empacotar seu arquivo zip com subpastas, pode especificar um caminho relativo, como: `WindowsServer/{ProjectName}Server.exe`, para acessar seu projeto com um subcaminho relativo
* Selecione **Add Build**
* Avance para a seção **Configure Regions** abaixo

#### Opção 2: modo de contêiner do Windows

Esta opção executa seus servidores de jogo em contêineres do docker, isolando-os uns dos outros. Cada processo de servidor terá uma unidade virtual separada, portas de rede virtuais etc. Esta opção descompacta o ativo em um caminho de montagem que você definirá e espera que o comando de início seja um caminho completo, com base no caminho de montagem.

Requisito prévio: configure o Docker para executar contêineres Windows

* Em **Server Details**, selecione **Process** e **Windows**
* Em **Assets**
  * Defina o **Mount Path** do arquivo zip do seu servidor de jogo como `C:\assets` (ou algo semelhante, indicado como \{MountPath})
  * Defina o comando de início como: `{MountPath}\{ProjectName}Server.exe` ou `{MountPath}\{ProjectName}Server.exe -log`, se quiser gerar arquivos de log
  * O comando de início deve representar um caminho completo no contêiner até o arquivo -Server.exe
  * Se você optou por empacotar seu arquivo zip com subpastas, pode especificar um caminho absoluto, como: `{MountPath}\WindowsServer\{ProjectName}Server.exe`, para acessar seu projeto com um subcaminho absoluto
* Selecione **Add Build**
* Avance para a seção **Configure Regions** abaixo

## Próximas etapas

Muitos usuários vão querer testar seu servidor [conectando um cliente de jogo](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/connect-to-mps-hosted-build).

Outros usuários podem, opcionalmente, continuar a recriar e reimplantar seus servidores usando [contêineres Linux](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab). O Linux reduz os custos de hospedagem de servidores em implantações de grande escala.

Caso contrário, você pode retornar ao guia principal do [plug-in Unreal GSDK](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk).


## Related topics

- [Teste e depuração do projeto GSDK](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-local-deployment-and-debugging.md)
- [Conectar-se a um servidor Unreal hospedado na nuvem](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/connect-to-mps-hosted-build.md)
- [Implantar um servidor Unreal Linux na nuvem do MPS](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab.md)
- [Configuração do GSDK no projeto](/pt-BR/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup.md)
- [Depurar projetos de PC usando o Visual Studio](/pt-BR/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio.md)
