Hinzufügen eines Build-Installationsskripts - Amazon GameLift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Hinzufügen eines Build-Installationsskripts

Erstellen Sie ein Installationsskript für das Betriebssystem (OS) Ihres Spiele-Builds:

  • Windows: Erstelle eine Batch-Datei mit dem Nameninstall.bat.

  • Linux: Erstellen Sie eine Shell-Skriptdatei mit dem Nameninstall.sh.

Beachten Sie beim Erstellen eines Installationsskripts Folgendes:

  • Das Skript kann keine Benutzereingaben annehmen.

  • Amazon GameLift installiert den Build und erstellt die Dateiverzeichnisse in Ihrem Build-Paket auf einem Hosting-Server an den folgenden Speicherorten neu:

    • Windows-Flotten: C:\game

    • Linux-Flotten: /local/game

  • Während des Installationsvorgangs für Linux-Flotten hat der Run-as-Benutzer eingeschränkten Zugriff auf die Instanzdateistruktur. Dieser Benutzer hat volle Rechte für das Verzeichnis, in dem Ihre Build-Dateien installiert sind. Wenn Ihr Installationsskript Aktionen ausführt, für die Administratorrechte erforderlich sind, geben Sie den Administratorzugriff mit ansudo. Der Run-as-Benutzer für Windows-Flotten verfügt standardmäßig über Administratorrechte. Fehlende Berechtigungen für das Installationsskript generieren eine Ereignismeldung, die auf ein Problem mit dem Skript hinweist.

  • Unter Linux GameLift unterstützt Amazon gängige Shell-Interpreter-Sprachen wie Bash. Fügen Sie einen shebang (z. B. #!/bin/bash) oben in Ihrem Installationsskript ein. Um die Unterstützung Ihrer bevorzugten Shell-Befehle zu überprüfen, greifen Sie remote auf eine aktive Linux-Instance zu und öffnen Sie eine Shell-Eingabeaufforderung. Weitere Informationen finden Sie unter Stellen Sie eine Remoteverbindung zu GameLift Amazon-Flotteninstanzen her.

  • Das Installationsskript kann sich nicht auf eine VPC Peering-Verbindung verlassen. Eine VPC Peering-Verbindung ist erst verfügbar, nachdem Amazon die Build on Fleet-Instances GameLift installiert hat.

Beispiel Windows installiert die Bash-Datei

Diese install.bat Beispieldatei installiert die für den Spieleserver erforderlichen Visual C++-Laufzeitkomponenten und schreibt die Ergebnisse in eine Protokolldatei. Das Skript enthält die Komponentendatei im Build-Paket im Stammverzeichnis.

vcredist_x64.exe /install /quiet /norestart /log c:\game\vcredist_2013_x64.log
Beispiel Linux-Shell-Skript installieren

Diese install.sh Beispieldatei verwendet Bash im Installationsskript und schreibt die Ergebnisse in eine Protokolldatei.

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

Diese install.sh Beispieldatei zeigt, wie Sie den CloudWatch Amazon-Agenten verwenden können, um Metriken auf Systemebene und benutzerdefinierte Metriken zu sammeln und die Protokollrotation zu handhaben. Da Amazon in einem Service GameLift ausgeführt wirdVPC, müssen Sie Amazon die GameLift Erlaubnis erteilen, in Ihrem Namen eine AWS Identity and Access Management (IAM) -Rolle zu übernehmen. Damit Amazon GameLift eine Rolle übernehmen kann, erstellen Sie eine Rolle, die die AWS verwaltete Richtlinie enthältCloudWatchAgentAdminPolicy, und verwenden Sie diese Rolle, wenn Sie eine Flotte erstellen.

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