Adicionar um script de instalação da compilação - 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á.

Adicionar um script de instalação da compilação

Crie um script de instalação para o OS (sistema operacional) da compilação do seu jogo:

  • Windows: crie um arquivo em lote chamado install.bat.

  • Linux: crie um arquivo de script de shell chamado install.sh.

Ao criar um script de instalação, lembre-se do seguinte:

  • O script não pode receber nenhuma entrada do usuário.

  • A Amazon GameLift instala a compilação e recria os diretórios de arquivos em seu pacote de compilação em um servidor de hospedagem nos seguintes locais:

    • Frotas do Windows: C:\game

    • Frotas do Linux: /local/game

  • Durante o processo de instalação de frotas do Linux, o usuário de execução tem acesso limitado à estrutura de arquivos da instância. Este usuário tem direitos totais para o diretório em que seus arquivos de compilação estão instalados. Se seu script de instalação realizar ações que exijam permissões de administrador, especifique o acesso de administrador usando sudo. O usuário de execução para frotas do Windows tem permissões de administrador por padrão. As falhas de permissão relacionadas ao script de instalação geram uma mensagem de evento que indica um problema com o script.

  • No Linux, a Amazon GameLift oferece suporte a linguagens comuns de interpretação de shell, como bash. Adicione um shebang (como #!/bin/bash) à parte superior do seu script de instalação. Para verificar o suporte para os seus comandos shell preferidos, acesse remotamente uma instância ativa do Linux e abra um prompt de shell. Para obter mais informações, consulte Conecte-se remotamente às instâncias da GameLift frota da Amazon.

  • O script de instalação não pode depender de uma conexão de VPC peering. Uma conexão VPC de emparelhamento não está disponível até que a Amazon GameLift instale a compilação em instâncias de frota.

exemplo Arquivo bash de instalação em Windows

Este exemplo de arquivo install.bat instala os componentes de tempo de execução do Visual C ++ necessários para que o servidor do jogo e grave os resultados em um arquivo de log. O script inclui o arquivo do componente no pacote de compilação na raiz.

vcredist_x64.exe /install /quiet /norestart /log c:\game\vcredist_2013_x64.log
exemplo Script de shell de instalação do Linux

Esse arquivo install.sh de exemplo usa bash no script de instalação e grava os resultados em um arquivo de log.

#!/bin/bash echo 'Hello World' > install.log

Este install.sh arquivo de exemplo mostra como você pode usar o CloudWatch agente da Amazon para coletar métricas personalizadas e em nível de sistema e lidar com a rotação de registros. Como a Amazon GameLift funciona em um serviçoVPC, você deve conceder GameLift permissões à Amazon para assumir uma função AWS Identity and Access Management (IAM) em seu nome. Para permitir que GameLift a Amazon assuma uma função, crie uma função que inclua a política AWS CloudWatchAgentAdminPolicy gerenciada e use essa função ao criar uma frota.

sudo yum install -y amazon-cloudwatch-agent sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y collectd cat <<'EOF' > /tmp/config.json { "agent": { "metrics_collection_interval": 60, "run_as_user": "root", "credentials": { "role_arn": "arn:aws:iam::account#:role/rolename" } }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/tmp/log", "log_group_name": "gllog", "log_stream_name": "{instance_id}" } ] } } }, "metrics": { "namespace": "GL_Metric", "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}" }, "metrics_collected": { // Configure metrics you want to collect. // For more information, see Manually create or edit the CloudWatch agent configuration file. } } } EOF sudo mv /tmp/config.json /opt/aws/amazon-cloudwatch-agent/bin/config.json sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json sudo systemctl enable amazon-cloudwatch-agent.service