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 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 é 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).
- Projeto do Unreal concluído com o PlayFab Unreal GSDK instalado e configurado
- Configuração de servidor de versão do seu projeto, criada a partir do Visual Studio ou do Development Editor
- Configuração de cliente do seu projeto, criada a partir do Visual Studio ou do Development Editor
- O MPS está habilitado para o seu título, e a cobrança está configurada
- [Opcional] Instale o Docker para Windows
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}.uprojectdo seu projeto - Clique com o botão direito do mouse no arquivo
{ProjectName}.uprojectno 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
- Depois de verificar com o LocalMultiplayerAgent, consulte o guia de criação de build
- Testar no MPS neste ponto exigirá uma ferramenta intermediária do PlayFab 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.
- 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
- 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 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 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.exeou{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.exeou{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
- Defina o Mount Path do arquivo zip do seu servidor de jogo como
- Selecione Add Build
- Avance para a seção Configure Regions abaixo
