Ajouter un script d'installation de build - Amazon GameLift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajouter un script d'installation de build

Créez un script d'installation pour le système d'exploitation (OS) de votre build de jeu :

  • Windows : créez un fichier batch nomméinstall.bat.

  • Linux : créez un fichier de script shell nomméinstall.sh.

Lors de la création d'un script d'installation, gardez à l'esprit les informations suivantes :

  • Le script ne peut accepter aucune entrée utilisateur.

  • Amazon GameLift installe le build et recrée les répertoires de fichiers de votre package de build sur un serveur d'hébergement aux emplacements suivants :

    • Flottes Windows : C:\game

    • Flottes Linux : /local/game

  • Pendant le processus d'installation des flottes Linux, l'utilisateur run-as dispose d'un accès limité à la structure des fichiers d'instance. Cet utilisateur dispose de tous les droits sur le répertoire dans lequel vos fichiers de compilation sont installés. Si votre script d'installation exécute des actions qui nécessitent des autorisations d'administrateur, spécifiez l'accès administrateur à l'aide desudo. L'utilisateur run-as pour les flottes Windows dispose d'autorisations d'administrateur par défaut. Les échecs d'autorisation liés au script d'installation génèrent un message d'événement indiquant un problème avec le script.

  • Sur Linux, Amazon GameLift prend en charge les langages d'interprétation shell courants tels que bash. Ajoutez un package (par exemple, #!/bin/bash) en haut de votre script d'installation. Pour vérifier la prise en charge de vos commandes shell préférées, accédez à distance à une instance Linux active et ouvrez une invite du shell. Pour de plus amples informations, veuillez consulter Connectez-vous à distance aux instances GameLift de flotte Amazon.

  • Le script d'installation ne peut pas s'appuyer sur une connexion d'VPCappairage. Une connexion de VPC peering n'est disponible qu'une fois qu'Amazon a GameLift installé les instances de flotte build on.

Exemple Fichier bash d'installation de Windows

Ce install.bat fichier d'exemple installe les composants d'exécution Visual C++ requis pour le serveur de jeu et écrit les résultats dans un fichier journal. Le script inclut le fichier de composant dans le package de construction à la racine.

vcredist_x64.exe /install /quiet /norestart /log c:\game\vcredist_2013_x64.log
Exemple Script shell d'installation de Linux

Ce install.sh fichier d'exemple utilise bash dans le script d'installation et écrit les résultats dans un fichier journal.

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

Ce install.sh fichier d'exemple montre comment vous pouvez utiliser l' CloudWatch agent Amazon pour collecter des métriques personnalisées et au niveau du système, et gérer la rotation des journaux. Dans la GameLift mesure où Amazon utilise un serviceVPC, vous devez autoriser GameLift Amazon à assumer un rôle AWS Identity and Access Management (IAM) en votre nom. Pour permettre GameLift à Amazon d'assumer un rôle, créez un rôle qui inclut la politique AWS CloudWatchAgentAdminPolicy gérée et utilisez ce rôle lorsque vous créez une flotte.

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