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.
-
O Amazon GameLift instala a compilação e recria os diretórios de arquivos no 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, o Amazon GameLift dá suporte ás linguagens comuns de interpretadores de shell, como o 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 ter mais informações, consulte Conectar-se remotamente às instâncias da frota do Amazon GameLift. -
O script de instalação não pode depender de uma conexão de emparelhamento da VPC. Uma conexão de emparelhamento da VPC não está disponível até que o 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 arquivo install.sh
de exemplo mostra como você poderá usar o atendente do Amazon CloudWatch para coletar métricas personalizadas e em nível de sistema e executar com a rotação de logs. Como o Amazon GameLift é executado em um serviço de VPC, conceda permissões ao Amazon GameLift para assumir um perfil do IAM do AWS Identity and Access Management em seu nome. Para permitir que o Amazon GameLift assuma uma função, crie uma função que inclua a AWS para política gerenciada CloudWatchAgentAdminPolicy
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