Arquitetura da solução gerenciada do Amazon GameLift - Amazon GameLift

Arquitetura da solução gerenciada do Amazon GameLift

Os diagramas neste tópico descrevem como uma solução de hospedagem completa com o Amazon GameLift é estruturada.

Componentes do jogo com hospedagem

O diagrama a seguir ilustra como os principais componentes de uma solução de hospedagem gerenciada do Amazon GameLift trabalham juntos para executar servidores de jogos dedicados e ajudar os jogadores a encontrar e se conectar às sessões de jogos hospedadas. A solução de hospedagem que você desenvolve para o jogo incluirá a maioria ou todos esses componentes.

Arquitetura de jogos com o Amazon GameLift gerenciado.

Os principais componentes desta arquitetura incluem o seguinte:

Clientes do jogo

Um cliente do jogo é o software que está sendo executado no dispositivo de um jogador. O jogador joga o jogo entrando em uma sessão de jogo em um servidor de jogos hospedado. Um cliente de jogo pede para entrar em uma sessão por meio de um serviço de backend, recebe informações de conexão de uma sessão de jogo e as usa para se conectar diretamente à sessão. Para ter mais informações, consulte Preparar jogos do Amazon GameLift. Ao se conectar a um servidor em tempo real, um cliente de jogo usa o SDK do cliente em tempo real.

Serviços de backend

Um serviço de backend é um serviço personalizado que você cria para lidar com a comunicação com o serviço do Amazon GameLift em nome de um cliente de jogo. Também é possível usar serviços de backend para tarefas específicas do jogo, como autenticação e autorização do jogador, inventário ou controle de moeda. Um serviço de backend se comunica com o serviço do Amazon GameLift usando as operações de API no SDK da AWS.

Um serviço de backend faz solicitações para obter informações da sessão de jogo existente e iniciar sessões de jogo. As solicitações de novas sessões de jogo definem certas características, como o número máximo de jogadores. Essas solicitações fazem com que o Amazon GameLift inicie o processo de posicionamento da sessão do jogo. Quando uma sessão de jogo estiver pronta para aceitar jogadores, o serviço de backend recuperará as informações de conexão e as fornecerá ao cliente de jogo.

Serviços externos

O jogo pode depender de serviços externos, como para validar uma associação por assinatura. Um serviço externo pode passar informações para seus servidores de jogos por meio de um serviço de back-end e do Amazon GameLift.

Servidores de jogos

Um servidor de jogos é o software de servidor do jogo executado em um conjunto de recursos de hospedagem. Faça upload do software do servidor de jogos para o Amazon GameLift, que o implanta nos recursos de hospedagem e começa a executar os processos do servidor. Cada processo do servidor de jogos se conecta ao serviço do Amazon GameLift para sinalizar que está pronto para hospedar sessões do jogo. Ele interage com o serviço para iniciar sessões de jogo, validar jogadores recém-conectados e relatar o status das sessões de jogo e das conexões dos jogadores.

Servidores de jogos personalizados se comunicam com o Amazon GameLift usando o Server SDK do Amazon GameLift. Para ter mais informações, consulte Integre jogos com servidores de jogos personalizados. Servidores em tempo real são servidores de jogos fornecidos pelo Amazon GameLift. Você pode personalizar a lógica do servidor fornecendo um script personalizado. Para ter mais informações, consulte Integração de jogos com Servidores em Tempo Real do Amazon GameLift.

Ferramentas de gerenciamento de host

Ao configurar e gerenciar recursos de hospedagem, os proprietários de jogos usam ferramentas de gerenciamento de hospedagem para gerenciar compilações ou scripts de servidores de jogos, frotas, matchmaking e filas. A ferramenta Amazon GameLift definida no SDK da AWS e no console fornece várias maneiras de gerenciar seus recursos de hospedagem. Acesse remotamente qualquer servidor de jogo individual para solução de problemas.

Recursos da solução de hospedagem

O diagrama a seguir ilustra recursos do Amazon GameLift que compõem uma solução de hospedagem gerenciada. Forneça uma compilação de servidor personalizada ou um script de servidores em tempo real, implante uma frota de recursos de computação para hospedar servidores de jogos e, em seguida, configure uma fila de sessões de jogo para encontrar recursos de hospedagem disponíveis e iniciar novas sessões de jogo. Para jogos que usam a criação de parcerias do FlexMatch, adicione uma configuração de criação de parcerias e um conjunto de regras para gerar partidas entre jogadores.

A estrutura básica dos recursos do Amazon GameLift e como eles se relacionam entre si.
Código do servidor de jogos
  • Compilação: o software de servidor de jogos compilado de forma personalizada, que é executado no Amazon GameLift e hospeda sessões de jogos para seus jogadores. Uma compilação de jogo representa o conjunto de arquivos que executam o servidor de jogos em um determinado sistema operacional e que devem ser integrados ao Amazon GameLift. Carregue os arquivos de compilação de jogo no Amazon GameLift, nas Regiões da AWS, onde você planeja configurar frotas. Para ter mais informações, consulte Implementar uma compilação de servidor personalizada para hospedagem do Amazon GameLift.

  • Script: a configuração e a lógica de jogo personalizada para uso com servidores em tempo real. Configure servidores em tempo real para os clientes de jogos criando um script com o uso do JavaScript e adicione lógica de jogo personalizada para hospedar sessões de jogo para os jogadores. Para ter mais informações, consulte Implementar um script para servidores em tempo real.

Frota

Uma coleção de recursos de computação que executa os servidores de jogos e hospeda sessões de jogos para os jogadores. Para obter informações sobre onde é possível implantar frotas, consulte Locais de serviço do Amazon GameLift. Para obter informações sobre como criar frotas, consulte Configuração de uma frota de hospedagem com o Amazon GameLift.

Alias

Um identificador abstrato de uma frota que você pode usar para alterar a frota à qual os jogadores estão conectados a qualquer momento. Para ter mais informações, consulte Criar um alias do Amazon GameLift.

Fila de sessões de jogo

Um mecanismo de posicionamento de sessões de jogo que recebe solicitações de novas sessões de jogo e procura servidores de jogos disponíveis para hospedar as novas sessões. Para obter mais informações sobre filas de sessões de jogo e como elas funcionam, consulte Gerenciar o posicionamento de sessões de jogo com filas do Amazon GameLift.