Aggiungere uno script di installazione della build - Amazon GameLift Servers

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungere uno script di installazione della build

Crea uno script di installazione per il sistema operativo (OS) della build del tuo gioco:

  • Windows: crea un file batch denominatoinstall.bat.

  • Linux: crea un file di script di shell denominatoinstall.sh.

Quando crei uno script di installazione, considera quanto segue:

  • Lo script non può accettare alcun input da parte dell'utente.

  • Amazon GameLift Serversinstalla la build e ricrea le directory dei file nel pacchetto di build su un server di hosting nelle seguenti posizioni:

    • Flotte Windows: C:\game

    • Flotte Linux: /local/game

  • Durante il processo di installazione per le flotte Linux, l'utente run-as ha accesso limitato alla struttura dei file dell'istanza. Questo utente dispone dei diritti completi sulla directory in cui sono installati i file di build. Se lo script di installazione esegue azioni che richiedono le autorizzazioni di amministratore, specifica l'accesso da amministratore utilizzandosudo. Per impostazione predefinita, l'utente run-as for Windows Fleets dispone delle autorizzazioni di amministratore. Gli errori di autorizzazione correlati allo script di installazione generano un messaggio di evento che indica un problema dello script.

  • Su Linux, Amazon GameLift Servers supporta i comuni linguaggi di interpretazione della shell come bash. Aggiungi uno shebang (ad esempio #!/bin/bash) all'inizio dello script di installazione. Per verificare il supporto per i comandi shell preferiti, accedi in remoto a un'istanza Linux attiva e apri un prompt della shell. Per ulteriori informazioni, consulta Connessione remota alle istanze Amazon GameLift Servers della flotta.

  • Lo script di installazione non può fare affidamento su una connessione peering VPC. Una connessione peering VPC è disponibile solo dopo l'Amazon GameLift Serversinstallazione della build on fleet istances.

Esempio Windows installa il file bash

Questo install.bat file di esempio installa i componenti di runtime di Visual C++ necessari per il server di gioco e scrive i risultati in un file di registro. Lo script include il file del componente nel pacchetto di build alla radice.

vcredist_x64.exe /install /quiet /norestart /log c:\game\vcredist_2013_x64.log
Esempio Script della shell di installazione di Linux

Questo install.sh file di esempio utilizza bash nello script di installazione e scrive i risultati in un file di registro.

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

Questo install.sh file di esempio mostra come utilizzare l' CloudWatch agente Amazon per raccogliere metriche a livello di sistema e personalizzate e gestire la rotazione dei log. Poiché Amazon GameLift Servers viene eseguito in un VPC di servizio, devi concedere Amazon GameLift Servers le autorizzazioni per assumere un ruolo AWS Identity and Access Management (IAM) per tuo conto. Amazon GameLift ServersPer consentire l'assunzione di un ruolo, crea un ruolo che includa la policy AWS CloudWatchAgentAdminPolicy gestita e utilizza quel ruolo quando crei una flotta.

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