Alocando sessões multijogador
Com o PlayFab Multiplayer Servers 2.0, você pode alocar instâncias do seu aplicativo de servidor multijogador usando a API RequestMultiplayerServer. Normalmente, essa API é chamada a partir dos seus próprios serviços (talvez um serviço de matchmaking ou de lobby), usando uma chave secreta de desenvolvedor do PlayFab configurada para o título específico. Para obter mais informações sobre chaves secretas, consulte Gerenciamento de chaves secretas. Um padrão típico para reunir jogadores e alocar servidores:- Os clientes coletam informações de QoS da rede.
- Os clientes interagem com um serviço de matchmaking personalizado ou se reúnem por meio de convites sociais.
- Um serviço de matchmaking personalizado aloca uma sessão para o grupo, usando uma lista priorizada de regiões.
- BuildID: o build de servidor específico a ser alocado.
- SessionID: um identificador da sessão. Esta é uma cadeia de caracteres GUID gerada pelo chamador. As novas tentativas dessa API para a mesma sessão lógica devem reutilizar o mesmo identificador. Isso reduz a possibilidade de o comportamento de repetição do chamador criar servidores desnecessários.
- SessionCookie: dados arbitrários que serão comunicados por meio do SDK do servidor de jogo à sessão alocada na ativação. Um uso típico desse campo é comunicar uma chave compartilhada que os servidores de jogo usam para autenticar os clientes. Os dados devem ter menos de 4 kilobytes.
- PreferredRegions: uma lista ordenada de regiões usada para alocar servidores. Recomendamos usar as medições de QoS da rede coletadas dos dispositivos cliente como o principal fator para classificar as regiões.
- O endereço IPv4 do servidor.
- Os mapeamentos de portas TCP/UDP (consulte Conectando clientes a servidores de jogo).
- A região do servidor.
Você pode usar o MpsAllocatorSample (encontrado aqui) como uma maneira fácil de alocar servidores de jogo durante o desenvolvimento do seu jogo
Alocação pelo cliente
Os servidores multijogador são caros e poderosos. Por padrão, você só pode solicitar um servidor multijogador a partir do seu próprio serviço confiável, usando uma chave secreta de desenvolvedor do PlayFab. No entanto, alocar servidores diretamente a partir dos dispositivos dos jogadores pode poupar o custo de implementar chamadas de serviço para serviço e ser útil em algumas circunstâncias. Para habilitar a alocação pelo cliente:- Selecione Settings no menu à esquerda.
- Selecione a guia API Features.
- Em seguida, ative a opção Allow Client to start games.

Depurando um servidor multijogador implantado
Talvez você queira depurar remotamente um servidor de jogo enquanto ele está implantado no Azure. Com o Visual Studio, isso atualmente exige que você instale e configure as Ferramentas de Depuração Remota do Visual Studio no contêiner.O procedimento a seguir habilitará a depuração não segura e não autenticada.
- Obtenha as Ferramentas de Depuração Remota do VS2017:
- Inclua essas ferramentas no pacote de ativos do seu servidor de jogo.
- Como parte da criação do build do servidor no Game Manager ou com a API de entidade, configure a porta TCP 4022 como uma porta de depuração.
- Você precisará executar o
msvsmondentro do contêiner para habilitar a depuração remota. Um padrão comum é especificar um script CMD como o comando de início do jogo e usar um argumento de linha de comando para iniciar omsvsmonalém do executável do servidor de jogo. - Execute o
msvsmonuma vez com:
- Execute o
msvsmoncom os sinalizadores (mostrados abaixo).
Recomendamos listar especificamente a porta para que seu programa possa tratar o código de saída do processo se a porta já estiver em uso, em vez de se associar a uma porta aleatória que não está aberta.
- Aloque seu servidor de jogo.
- Tente depurar pelo VS, usando a porta de depuração externa retornada pela chamada de alocação.
