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 version de jeu :
-
Windows : créez un fichier batch nommé
install.bat. -
Linux : créez un fichier de script shell nommé
install.sh.
Amazon GameLift Serversexécute le script d'installation lors de la création de la flotte pour établir une Amazon Machine Image (AMI) qui sera utilisée sur toutes les futures instances de flotte. Le script n'est pas exécuté au début de chaque nouvelle instance.
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 Serversinstalle le build et recrée les répertoires de fichiers de votre package de compilation 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 construction 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 exécutant pour les flottes Windows dispose de droits 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.
-
Sous Linux, Amazon GameLift Servers prend en charge les langages d'interpréteur 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 shell. Pour plus d’informations, consultez Connectez-vous aux instances de flotte. -
Le script d'installation ne peut pas s'appuyer sur une connexion d'appairage VPC. Une connexion d'appairage VPC n'est disponible qu'après l'Amazon GameLift Serversinstallation de la version sur les instances de flotte.
-
Le script d'installation peut être exécuté plusieurs fois dans le cadre de la création de la flotte. Il est recommandé de s'assurer que le script est idempotent et robuste pour être exécuté plusieurs fois.
Exemple Fichier batch d'installation de Windows
Cet exemple de install.bat fichier installe les composants d'exécution Visual C++ requis pour le serveur de jeu et enregistre les résultats dans un fichier journal. Le script inclut le fichier du 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 pour Linux
Cet exemple de install.sh fichier utilise bash dans le script d'installation et enregistre les résultats dans un fichier journal.
#!/bin/bash echo 'Hello World' > install.log
Cet exemple de install.sh fichier montre comment 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. Comme il Amazon GameLift Servers s'exécute dans un VPC de service, vous devez accorder Amazon GameLift Servers des autorisations pour assumer un rôle Gestion des identités et des accès AWS (IAM) en votre nom. Amazon GameLift ServersPour permettre 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