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á.
Integrando jogos com Amazon GameLift ServersRealtime
Este tópico fornece uma visão geral da Amazon GameLift Servers Realtime solução gerenciada Amazon GameLift Servers com. A visão geral explica quando essa solução é adequada para seu jogo e como é Amazon GameLift Servers Realtime compatível com jogos multijogador.
O que são Realtime servidores?
Realtimeos servidores são servidores de ready-to-go jogos leves Amazon GameLift Servers que permitem que você use com seus jogos multijogador. Realtimeos servidores removem o processo de desenvolvimento, teste e implantação de um servidor de jogos personalizado. Essa solução pode ajudar a minimizar o tempo e o esforço necessários para concluir o jogo.
Principais atributos
-
Pilha de rede completa para interação entre servidores e clientes de jogos
-
Funcionalidade principal do servidor de jogos
-
Lógica de servidor personalizável
-
Atualizações ao vivo Realtime das configurações e da lógica do servidor
-
FlexMatchmatchmaking
-
Controle flexível de recursos de hospedagem
Configure Realtime servidores criando uma frota e fornecendo um script de configuração.
Como Amazon GameLift ServersRealtime gerencia as sessões de jogo
Você pode adicionar lógica personalizada para o gerenciamento de sessões de jogos incorporando-a ao Realtime script. Você pode gravar o código para acessar objetos específicos do servidor, adicionar lógica orientada por eventos usando retornos de chamada ou adicionar lógica com base em cenários não eventos.
Como Realtime clientes e servidores interagem
Durante uma sessão de jogo, os clientes do jogo interagem enviando mensagens ao Realtime servidor por meio de um serviço de back-end. Em seguida, o serviço de back-end retransmite as mensagens entre os clientes de jogos para trocar atividade, estado do jogo e dados relevantes do jogo.
Além disso, você pode personalizar como os clientes e servidores interagem adicionando lógica de jogo ao script do Realtime. Com a lógica de jogo personalizada, um Realtime servidor pode implementar retornos de chamada para iniciar respostas orientadas por eventos.
Protocolo de comunicação
Realtimeservidores e clientes de jogos conectados se comunicam por meio de dois canais: uma conexão TCP para entrega confiável e um canal UDP para entrega rápida. Ao criar mensagens, os clientes de jogos escolhem qual protocolo usar de acordo com a natureza da mensagem. A entrega da mensagem é definida como UDP por padrão. Se um canal UDP não estiver disponível, Amazon GameLift Servers envia mensagens usando TCP como alternativa.
Conteúdo da mensagem
O conteúdo da mensagem consiste em dois elementos: um código de operação necessário (opCode) e uma carga opcional. O opCode de uma mensagem identifica um determinado evento de jogo ou atividade do jogador e a carga fornece dados adicionais relacionados ao código da operação. Ambos os elementos são definidos pelo desenvolvedor. O cliente do jogo age com base nos opCodes das mensagens que recebe.
Grupos de jogadores
Amazon GameLift ServersRealtimefornece funcionalidade para gerenciar grupos de jogadores. Por padrão, Amazon GameLift Servers coloca todos os jogadores que se conectam a um jogo em um grupo “todos os jogadores”. Além disso, os desenvolvedores podem configurar outros grupos para seus jogos, e os jogadores podem ser membros de vários grupos simultaneamente. Os membros do grupo podem enviar mensagens e compartilhar dados de jogos com todos os jogadores do grupo. Um uso possível para grupos é configurar equipes de jogadores e gerenciar a comunicação da equipe.
Amazon GameLift ServersRealtimecom certificados TLS
Com Amazon GameLift ServersRealtime, a autenticação do servidor e a criptografia de pacotes de dados são incorporadas ao serviço. Esses atributos de segurança são ativados quando você ativa a geração do certificado TLS. Quando um cliente de jogo tenta se conectar a um Realtime servidor, o servidor responde automaticamente com o certificado TLS, que o cliente valida. Amazon GameLift Serversmanipula a criptografia usando TLS para comunicação TCP (WebSockets) e DTLS para tráfego UDP.
Personalizando um servidor Realtime
Um Realtime servidor funciona como um servidor de retransmissão sem estado. O Realtime servidor retransmite pacotes de mensagens e dados do jogo entre os clientes do jogo conectados ao jogo. No entanto, o Realtime servidor não avalia mensagens, processa dados nem executa qualquer lógica de jogo. Usado dessa forma, cada cliente do jogo mantém sua própria visualização do estado do jogo e fornece atualizações para outros jogadores por meio do servidor de retransmissão. Cada cliente é responsável por incorporar essas atualizações e conciliar seu próprio estado do jogo.
Você pode personalizar seus servidores adicionando à funcionalidade de Realtime script. Com a lógica do jogo, por exemplo, é possível optar por criar um jogo com estado com uma visualização autoritativa do servidor do estado do jogo.
Amazon GameLift Serversdefine um conjunto de retornos de chamada do lado do servidor para scripts. Realtime Implemente esses retornos de chamada para adicionar funcionalidade baseada em eventos a seu servidor. Por exemplo, é possível:
-
Autenticar um jogador quando um cliente do jogo tentar se conectar ao servidor.
-
Validar se um jogador pode ingressar em um grupo mediante solicitação.
-
Determinar quando entregar mensagens de um determinado jogador ou para um jogador de destino ou executar processamento adicional em resposta.
-
Notificar todos os jogadores quando um jogador deixa um grupo ou se desconecta do servidor.
-
Visualizar o conteúdo dos objetos da sessão de jogo ou objetos de mensagem, e usar os dados.
Implantação e atualização Amazon GameLift ServersRealtime
Uma das principais vantagens do Amazon GameLift Servers Realtime é a capacidade de atualizar seus scripts a qualquer momento. Quando você atualiza um script, Amazon GameLift Servers distribui a nova versão para todos os recursos de hospedagem em minutos. Depois de Amazon GameLift Servers implantar o novo script, todas as novas sessões de jogo criadas após esse ponto usarão a nova versão do script. (As sessões de jogo existentes continuarão usando a versão original.)