Crie uma Amazon GameLift Anywhere frota - 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á.

Crie uma Amazon GameLift Anywhere frota

Este tópico descreve como criar uma Amazon GameLift Anywhere frota. Com uma frota Anywhere, você pode usar os principais recursos de gerenciamento de sessões de GameLift jogos da Amazon enquanto hospeda sessões de jogos com seus próprios recursos computacionais. Crie uma frota Anywhere para seu hardware local ou outros recursos baseados em nuvem.

As frotas em qualquer lugar são comumente usadas junto com as frotas GameLift gerenciadas pela Amazon em uma solução de hospedagem híbrida. Eles também fornecem ambientes de teste úteis ao desenvolver um jogo para hospedagem na Amazon GameLift. Veja esses tópicos para saber mais sobre quando e como incorporar a Amazon GameLift Anywhere transforma-se em uma solução de hospedagem de jogos:

Como as frotas do Anywhere são autogerenciadas, a configuração de uma frota exige algum trabalho adicional. Para preparar uma frota Anywhere para hospedar sessões de jogo e jogadores, você precisa concluir as seguintes tarefas:

Antes de começar

Antes de criar uma frota Anywhere, execute as seguintes tarefas. Para obter orientações mais detalhadas, consulte o Roteiro de desenvolvimento para hospedagem com o Amazon Anywhere GameLift ouRoteiro de desenvolvimento para hospedagem híbrida com a Amazon GameLift.

  • Integre seu código de servidor de jogos com o GameLift servidor Amazon SDK versão 5.x (ou superior). Você não precisa concluir todas as tarefas de integração de jogos, apenas aquelas necessárias para a criação de um servidor de jogos. Uma prática comum é configurar sua máquina local como uma frota Anywhere e usar uma interface de linha de comando para testar a integração do servidor de jogos (consulteConfigure testes locais com a Amazon GameLift Anywhere). Você pode incorporar componentes adicionais (como um cliente de jogo GameLift compatível com a Amazon) ao desenvolvê-los.

  • Package seu software de servidor de jogos para instalação nos computadores da sua frota Anywhere. O pacote deve incluir a versão integrada do servidor de jogos e todo o software de suporte necessário para executar o servidor de jogos.

  • Decida se quer usar o Amazon GameLift Agent com sua frota Anywhere. O Agent é uma ferramenta de gerenciamento de processos na computação que automatiza algumas das principais tarefas relacionadas ao gerenciamento de processos de servidores e computações para uso com a Amazon. GameLift Para obter mais informações, consulte Trabalhe com o GameLift agente da Amazon.

Criar uma política personalizada

Crie um local personalizado para representar o local físico dos seus recursos computacionais. Ao criar uma frota Anywhere, você deve ter pelo menos um local personalizado já definido. Você pode criar locais personalizados adicionais e adicioná-los a uma frota existente a qualquer momento.

Para criar um local personalizado

Use o GameLift console da Amazon ou o AWS Command Line Interface (AWS CLI) para criar um local personalizado.

Console

No GameLift console da Amazon, use o painel de navegação para abrir a página Localizações. Escolha Criar local para abrir a caixa de diálogo Criar.

  1. Na caixa de diálogo, insira um nome de localização. Como prática recomendada, use um nome que descreva uma localização significativa para um conjunto de recursos computacionais. Podem ser localizações geográficas, um nome de data center ou outro identificador de localização. A Amazon GameLift acrescenta o nome do seu local personalizado com custom-.

  2. (Opcional) Adicione tags ao seu local personalizado. Cada tag consiste em uma chave e um valor opcional, ambos definidos por você. Atribua tags aos AWS recursos que você deseja categorizar de maneiras úteis, como por finalidade, proprietário ou ambiente. Escolha Adicionar nova tag para cada tag a ser adicionada.

  3. Escolha Criar.

AWS CLI

Crie um local personalizado usando o comando create-location. Forneça um location-name valor, que deve começar comcustom-. Como prática recomendada, use um nome que descreva uma localização significativa para um conjunto de recursos computacionais. Podem ser localizações geográficas, um nome de data center ou outro identificador de localização.

aws gamelift create-location \ --location-name custom-location-1

Saída

{ "Location": { "LocationName": "custom-location-1", "LocationArn": "arn:aws:gamelift:us-east-1:111122223333:location/custom-location-1" } }

Crie uma frota em qualquer lugar

Crie uma frota Anywhere para um conjunto de recursos computacionais que você possui. Uma nova frota Anywhere começa vazia; você adiciona computadores à frota registrando-os.

Na criação, um novo Anywhere a frota passa rapidamente pelos status da frota de NEW paraACTIVE. Você pode adicionar computadores à frota depois que ela chegarACTIVE.

Para criar uma frota Anywhere

Use o GameLift console da Amazon ou o AWS Command Line Interface (AWS CLI) para criar uma frota Anywhere.

Console

No GameLift console da Amazon, use o painel de navegação para abrir a página Fleets. Escolha Criar frota para iniciar o fluxo de trabalho de criação da frota.

Etapa 1 Escolha o tipo de computação

Selecione a opção Qualquer lugar e escolha Avançar.

Etapa 2 Definir detalhes da frota

Nesta etapa, especifique algumas das principais configurações de toda a frota.

  1. Preencha a seção Detalhes da frota:

    1. Insira o nome da frota. Recomendamos usar um padrão de nomenclatura de frota que facilite a identificação dos tipos de frota ao visualizar listas de frotas.

    2. Forneça uma breve descrição da frota.

  2. Defina esses detalhes adicionais opcionais conforme necessário. Você pode atualizar essas configurações da frota posteriormente.

    1. Ao criar uma frota para testes de produção ou pré-produção, use essa configuração para especificar um valor de custo por hora para os cálculos da frota. A Amazon GameLift pode usar essas informações durante o processo de colocação da sessão do jogo para selecionar recursos de hospedagem com base no custo.

    2. Se você quiser combinar dados métricos dessa frota e de outras, especifique um nome de grupo métrico. Use o mesmo nome do grupo métrico para todas as frotas que você deseja combinar. Visualize as métricas do grupo de métricas para ver os dados agregados.

  3. Adicione tags opcionais à sua localização personalizada. Cada tag consiste em uma chave e um valor opcional, ambos definidos por você. Atribua tags aos AWS recursos que você deseja categorizar de maneiras úteis, como por finalidade, proprietário ou ambiente. Escolha Adicionar nova tag para cada tag a ser adicionada.

  4. Escolha Avançar para continuar o fluxo de trabalho.

Etapa 3 Selecione locais personalizados

Nesta etapa, identifique a localização física dos computadores que você planeja adicionar a essa frota. Você pode especificar um ou mais locais agora e adicionar ou remover locais posteriormente, conforme necessário.

  1. Em Locais personalizados, selecione um ou mais locais para os computadores da frota. A lista inclui todos os locais personalizados que foram definidos na sua seleção atual Região da AWS. Para definir um novo local personalizado que você deseja adicionar à frota, escolha Criar local.

  2. Escolha Avançar para continuar o fluxo de trabalho.

Etapa 4 Revise e crie

Revise suas configurações antes de criar a frota.

Quando você estiver pronto para implantar a nova frota, escolha Criar. A Amazon inicia GameLift imediatamente o processo de ativação da frota, atribuindo um ID exclusivo e colocando a frota em NEW status. Você pode acompanhar o progresso da frota na página Frotas.

AWS CLI

Use o create-fleetcomando para criar uma frota do tipo ANYWHERE computacional. Forneça um nome e pelo menos um local personalizado. GameLift A Amazon cria o recurso de frota Anywhere em seu padrão atual Região da AWS (ou você pode adicionar uma tag --region para especificar uma diferente Região da AWS).

O exemplo de solicitação a seguir cria uma nova frota com as configurações mínimas necessárias. Substitua FleetName e custom-location pelas próprias informações.

aws gamelift create-fleet \ --name FleetName \ --compute-type ANYWHERE \ --locations "Location=custom-location"

Exemplo de resposta

{ "FleetAttributes": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "Name": "HardwareAnywhere", "CreationTime": "2023-02-23T17:57:42.293000+00:00", "Status": "ACTIVE", "MetricGroups": [ "default" ], "CertificateConfiguration": { "CertificateType": "DISABLED" }, "ComputeType": "ANYWHERE" } }

Na criação, um novo Anywhere a frota passa rapidamente para o status de frotaACTIVE. Você pode adicionar computadores à frota depois que ela chegarACTIVE.

Observe que a resposta não inclui as localizações da frota. Você pode recuperar todos os detalhes da frota ligando para describe-fleet-attributese. describe-fleet-location-attributes

Adicione uma computação à frota

Para adicionar um recurso computacional a uma frota e prepará-lo para sediar sessões de jogo, execute as seguintes tarefas:

  • Registre a computação com a frota. O registro informa à Amazon GameLift quais recursos de hospedagem física fazem parte da frota.

  • Solicite um token de autenticação para a computação. Cada servidor de jogo executado na computação precisa desse token para se conectar ao GameLift serviço da Amazon. Os tokens de autenticação são temporários e devem ser atualizados regularmente.

nota

Se você estiver implantando seu software de servidor de jogos com o Amazon GameLift Agent, você pode pular esta etapa. O Agente registra automaticamente cada computação e mantém um token de autenticação válido para a computação. Consulte Trabalhe com o GameLift agente da Amazon.

Você pode registrar uma computação e solicitar um token de autenticação usando o AWS CLI ou fazendo chamadas programáticas para o para a AWS SDK Amazon. GameLift Essas ações não estão disponíveis no GameLift console da Amazon.

Como prática recomendada, recomendamos automatizar essas duas tarefas adicionando um script de inicialização a cada computação. O script de inicialização chama automaticamente register-compute os get-compute-auth-token comandos e. Você também pode automatizar tarefas para atualizar regularmente o token de autenticação durante toda a vida útil da computação e cancelar o registro da computação ao ser desligada.

Cada uma das ações de inicialização retorna valores específicos da computação que você precisa armazenar na computação. Quando um processo de servidor de jogos é iniciado no computador, ele deve passar esses valores como parâmetros do servidor ao inicializar uma conexão com o GameLift serviço da Amazon (veja ServerParameters na SDK referência do servidor). Recomendamos que você defina esses valores específicos de computação (ou seus locais armazenados) como variáveis de ambiente. Se você estiver usando o Amazon GameLift Agent, essa tarefa é feita para você. Os valores específicos do computador são os seguintes:

  • register-computeretorna um valor paraGameLiftServiceSdkEndpoint. Defina esse valor como o parâmetro webSocketUrl do servidor.

  • compute-auth-tokenretorna o token de autenticação. Defina esse valor como o parâmetro authToken do servidor.

AWS CLI

As instruções a seguir descrevem como enviar manualmente cada solicitação usando AWS CLI o.

Para registrar um computador

Ligue register-computepara registrar um computador. Identifique o ID da frota à qual adicionar a computação. Forneça as seguintes informações computacionais: nome, endereço IP e localização significativos. A localização do computador deve ser uma localização personalizada que já esteja associada à frota. Se você quiser usar um local personalizado diferente, use o GameLift console da Amazon para atualizar a frota ou chame o AWS CLI comando create-fleet-locationspara adicionar um local personalizado à frota.

No exemplo a seguir, substitua os valores de espaço reservado para sua computação e frota. O fleet-id valor é retornado quando você cria uma frota Anywhere. Você pode recuperar todos os detalhes da frota ligando para describe-fleet-attributese. describe-fleet-location-attributes

aws gamelift register-compute \ --compute-name HardwareAnywhere \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --ip-address 10.1.2.3 \ --location custom-location-1

Exemplo de saída

{ "Compute": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-west-2:111122223333:compute/HardwareAnywhere", "IpAddress": "10.1.2.3", "ComputeStatus": "Active", "Location": "custom-location-1", "CreationTime": "2023-02-23T18:09:26.727000+00:00", "GameLiftServiceSdkEndpoint": "wss://us-west-2.api.amazongamelift.com" } }

Para solicitar um token de autenticação

Ligue get-compute-auth-tokenpara solicitar um token de autenticação válido. Registre um computador. Identifique o ID da frota e o nome do computador.

No exemplo a seguir, substitua os valores de espaço reservado para sua computação e frota. O fleet-id valor é retornado quando você cria uma frota Anywhere. Você pode recuperar todos os detalhes da frota ligando para describe-fleet-attributes. Para encontrar informações computacionais, ligue list-computecom a ID da frota para ver todas as computações registradas na frota.

aws gamelift get-compute-auth-token \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --compute-name HardwareAnywhere

Exemplo de saída

{ "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-east-1:111122223333:compute/HardwareAnywhere", "AuthToken": "0c728041-3e84-4aaa-b927-a0fb202684c0", "ExpirationTimestamp": "2023-02-23T18:47:54+00:00" }

Inicie um servidor de jogos

Depois de criar uma frota Anywhere e adicionar um ou mais computadores à frota, você estará pronto para começar a executar seus servidores de jogos.

Etapa 1 Instale seu software de servidor de jogos

Crie seu servidor de jogos e instale todo o software dependente em cada computador da sua frota Anywhere. A compilação do servidor do jogo deve ser integrada ao GameLift servidor Amazon SDK versão 5.x (ou superior) com a funcionalidade mínima necessária para se comunicar com o GameLift serviço da Amazon.

Etapa 2 Prepare seus computadores para executar um servidor de jogos

Certifique-se de que cada computação esteja registrada e tenha um token de autenticação válido. Se você estiver usando scripts para gerenciar essas tarefas, certifique-se de que os scripts sejam executados em cada computador antes de iniciar qualquer processo do servidor de jogos.

Se você implantou o Amazon GameLift Agent com seu software de servidor de jogos, certifique-se de que o executável do Agente seja iniciado.

Etapa 3 Inicie um processo de servidor de jogos

Execute uma instância do executável do seu servidor de jogos em um computador. Se a compilação do seu servidor de jogo estiver devidamente integrada, o processo do servidor de jogos chamará a SDK ação do servidor InitSDK() com um conjunto de parâmetros de servidor válidos. Quando o processo do servidor está pronto para hospedar uma sessão de jogo, ele chamaProcessReady().

nota

Se você implantou seu software de servidor de jogos com o Amazon GameLift Agent, você pode pular esta etapa. O Agente inicia automaticamente os processos do servidor de jogos com base nas instruções de tempo de execução fornecidas por você.

Você pode monitorar o progresso visualizando as métricas do processo do servidor para ativar e ativar os processos do servidor. Consulte Métricas do Amazon GameLift para frotas. Se o processo do servidor do jogo falhar ao inicializar, verifique se o processo está recuperando os valores corretos dos parâmetros do servidor para o computador em que está sendo executado.