Depurar problemas de frota do Amazon GameLift Servers - Amazon GameLift Servers

Depurar problemas de frota do Amazon GameLift Servers

Este tópico fornece orientação sobre como resolver problemas com as frotas do EC2 gerenciadas pelo Amazon GameLift Servers.

Depurar problemas de criação de frotas

Quando você cria uma frota do EC2 gerenciada, o serviço do Amazon GameLift Servers inicia um fluxo de trabalho que cria a frota, implanta instâncias do EC2 com a compilação do servidor de jogos instalada e inicia os processos do servidor de jogos em cada instância. Para obter uma descrição detalhada, consulte . Uma frota não pode hospedar sessões de jogo e jogadores até atingir o status Ativo.

Você pode depurar problemas que impedem que as frotas se tornem ativas identificando a fase de criação da frota em que o problema ocorreu e analisando os eventos e logs de criação da frota. Se os logs não fornecerem informações úteis, é possível que o problema seja devido a um erro interno de serviço. Nesse caso, tente criar a frota novamente. Se o problema persistir, tente recarregar a compilação do jogo para resolver possíveis danos no arquivo. Também é possível entrar em contato com o suporte do Amazon GameLift Servers ou publicar uma pergunta no fórum.

Download e validação da compilação

Durante essa fase, o Amazon GameLift Servers obtém a compilação do servidor de jogos carregada, extrai os arquivos e executa todos os scripts de instalação. Se a criação da frota falhar durante essas fases, analise os eventos e logs da frota para identificar o problema. As possíveis causas incluem:

  • O Amazon GameLift Servers não consegue obter o arquivo de compilação compactado (evento FLEET_BINARY_DOWNLOAD_FAILED). Verifique se o local de armazenamento da compilação pode ser acessado, se você está criando uma frota na mesma Região da AWS da compilação e se o Amazon GameLift Servers tem as permissões corretas para acessá-lo.

  • O Amazon GameLift Servers não consegue extrair os arquivos de compilação (evento FLEET_CREATION_EXTRACTING_BUILD).

  • Um script de instalação nos arquivos da compilação não foi concluído com êxito (evento FLEET_CREATION_FAILED_INSTALLER).

Compilar recursos de frota

Os problemas durante essa fase geralmente envolvem a alocação e a implantação de recursos da frota. As possíveis causas incluem:

  • O tipo de instância solicitado não está disponível.

  • O tipo de frota solicitado (spot ou sob demanda) não está disponível.

Ativar processos de servidores de jogos

Durante esta fase, o Amazon GameLift Servers está tentando várias tarefas e testando elementos-chave, incluindo a viabilidade do servidor de jogo, as configurações de runtime e a capacidade do servidor de jogos de se conectar ao serviço do Amazon GameLift Servers usando o SDK do servidor.

nota

Nessa fase, você pode acessar remotamente uma instância de frota para investigar melhor os problemas. Consulte Conectar-se remotamente às instâncias da frota do Amazon GameLift Servers.

Os possíveis problemas incluem:

  • Os processos do servidor não começam a ser executados. Isso sugere um problema com as configurações de tempo de execução da frota (eventos FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND ou FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE). Verifique se você definiu corretamente o caminho de inicialização e os parâmetros de inicialização opcionais.

  • Os processos de servidor começam a ser executados, mas a frota não consegue ser ativada. Se os processos do servidor forem iniciados e executados com êxito, mas o status da frota não for alterado para Ativa, é provável que o processo do servidor esteja falhando ao se comunicar com o serviço do Amazon GameLift Servers. Verifique se o servidor do jogo está fazendo essas chamadas corretas do SDK do servidor (consulte Inicializar o processo do servidor):

    • Falha na inicialização do processo do servidor (evento SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT). O processo do servidor não está chamando InitSdk() com êxito.

    • O processo do servidor falha ao notificar o Amazon GameLift Servers quando está pronto para hospedar uma sessão de jogo (evento SERVER_PROCESS_PROCESS_READY_TIMEOUT). O processo do servidor foi inicializado, mas não chamou ProcessReady() a tempo.

  • Uma solicitação de conexão de emparelhamento da VPC falhou. Para frotas que são criadas com uma conexão de emparelhamento de VPCs (consulte Como configurar o emparelhamento de VPC com uma nova frota), o emparelhamento de VPCs é feito durante essas fases de Ativação. Se um emparelhamento de VPCs falhar por qualquer motivo, haverá falha na mudança da nova frota para o status Ativo. Você pode rastrear o sucesso ou a falha da solicitação de emparelhamento chamando describe-vpc-peering-connections. Certifique-se de verificar se existe uma autorização de emparelhamento de VPCs válida (describe-vpc-peering-authorizations), uma vez que as autorizações são válidas por apenas 24 horas.

Problemas de processo do servidor

Os processos do servidor começam, mas falham rapidamente ou apresentam integridade insatisfatória.

Outros problemas com a compilação do jogo, podendo acontecer quando se tenta executar muitos processos de servidor simultaneamente na instância. O número ideal de processos simultâneos depende do tipo de instância e dos requisitos de recursos do servidor de jogos. Tente reduzir o número de processos simultâneos, algo definido na configuração de tempo de execução da frota, para ver se o desempenho melhora. É possível alterar a configuração de runtime de uma frota usando o console do Amazon GameLift Servers (editar as configurações de alocação da capacidade da frota) ou chamar o comando update-runtime-configuration da AWS CLI.

Problemas de exclusão de frota

Uma frota não pode ser encerrada devido à contagem máxima de instâncias.

A mensagem de erro indica que a frota que está sendo excluída ainda tem instâncias ativas, o que não é permitido. Você deve primeiro reduzir uma frota para zero instâncias ativas. Isso é feito definindo manualmente a contagem de instâncias desejada da frota para "0" e aguardando até que a redução entre em vigor. Desligue a escalabilidade automática, pois ela neutralizará as configurações manuais.

As ações da VPC não estão autorizadas.

Esse problema se aplica somente às frotas para as quais você criou especificamente conexões de emparelhamento de VPC (consulte Configurar o emparelhamento de VPC para o Amazon GameLift Servers. Esse cenário ocorre porque o processo de exclusão de uma frota também inclui a exclusão da VPC da frota e de qualquer conexão de emparelhamento de VPC. Primeiro, obtenha uma autorização chamando a API de serviço para Amazon GameLift Servers CreateVpcPeeringAuthorization() ou use o comando create-vpc-peering-authorization da AWS CLI. Quando tiver a autorização, você pode excluir a frota.