Integração de jogos com servidores Amazon GameLift Realtime - Amazon GameLift

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

Integração de jogos com servidores Amazon GameLift Realtime

Este tópico fornece uma visão geral da solução gerenciada da Amazon GameLift com servidores em tempo real. A visão geral explica quando essa solução é adequada ao seu jogo e como os servidores em tempo real oferecem suporte a jogos multijogador.

dica

Para experimentar a hospedagem de servidores de GameLift jogos da Amazon, consulteComeçando com a Amazon GameLift.

O que são servidores em tempo real?

Os servidores em tempo real são servidores de ready-to-go jogos leves que a Amazon GameLift fornece para você usar com seus jogos multijogador. Os servidores em tempo real 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 das configurações em tempo real e lógica de servidor

  • FlexMatch matchmaking

  • Controle flexível de recursos de hospedagem

Configure os servidores criando uma frota e fornecendo um script de configuração.

Como os servidores em tempo real gerenciam as sessões de jogo

Você pode adicionar lógica personalizada para gerenciamento da sessão de jogo, incorporando-a no script em tempo real. 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 servidores e clientes em tempo real interagem

Durante uma sessão de jogo, os clientes de jogos interagem enviando mensagens para o servidor em tempo real 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 em tempo real. Com a lógica de jogo personalizada, um servidor em tempo real pode implementar retornos de chamada para acionar respostas orientadas por eventos.

Protocolo de comunicação

Servidores em tempo real e clientes de jogos conectados se comunicam por meio de dois canais: uma TCP conexão para entrega confiável e um UDP canal para entrega rápida. Ao criar mensagens, os clientes de jogos escolhem qual protocolo usar de acordo com a natureza da mensagem. A entrega de mensagens é UDP definida como padrão. Se um UDP canal não estiver disponível, a Amazon GameLift enviará mensagens usando TCP como alternativa.

Conteúdo da mensagem

O conteúdo da mensagem consiste em dois elementos: um código de operação obrigatório (opCode) e uma carga opcional. Uma mensagem opCode identifica uma atividade específica do jogador ou evento do jogo, e a carga fornece dados adicionais relacionados ao código da operação. Ambos os elementos são definidos pelo desenvolvedor. Seu cliente de jogo age com base opCodes nas mensagens que recebe.

Grupos de jogadores

Os servidores em temo real fornecem funcionalidade para gerenciamento de grupos de jogadores. Por padrão, a Amazon GameLift coloca todos os jogadores que se conectam a um jogo em um grupo de “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.

Servidores em tempo real com certificados TLS

Com os servidores em tempo real, a autenticação do servidor e a criptografia de pacotes de dados são incorporadas ao serviço. Esses recursos de segurança são ativados quando você ativa a geração de TLS certificados. Quando um cliente de jogo tenta se conectar a um servidor em tempo real, o servidor responde automaticamente com o TLS certificado, que o cliente valida. A Amazon GameLift manipula a criptografia usando TLS para TCP (WebSockets) comunicação e DTLS UDP tráfego.

Personalizar um servidor em tempo real

Um servidor em tempo real funciona como um servidor de retransmissão sem estado. O servidor em tempo real retransmite pacotes de dados de jogos e mensagens entre os clientes de jogos conectados ao jogo. No entanto, o servidor em tempo real 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.

É possível personalizar os servidores adicionando à funcionalidade de script em tempo real. 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.

A Amazon GameLift define um conjunto de retornos de chamada do lado do servidor para scripts em tempo real. 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 de servidores em tempo real

Uma das principais vantagens dos servidores em tempo real é a capacidade de atualizar os scripts a qualquer momento. Quando você atualiza um script, a Amazon GameLift distribui a nova versão para todos os recursos de hospedagem em minutos. Depois que a Amazon GameLift 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.)

Comece a integrar seu jogo com os servidores em tempo real: