Migrieren Sie zu Amazon GameLift Server SDK 5.x - 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.

Migrieren Sie zu Amazon GameLift Server SDK 5.x

Ihre gehosteten Spieleserver verwenden den GameLift Amazon-ServerSDK, um mit dem GameLift Amazon-Service zu kommunizieren, um Spielsitzungen für Spieler zu starten und zu verwalten. Die neueste Version, Amazon GameLift Server SDK 5, bietet eine Reihe von Verbesserungen und Unterstützung für neue GameLift Amazon-Funktionen. Wenn Ihr Gameserver-Build derzeit Amazon GameLift Server SDK 4 oder eine frühere Version verwendet, folgen Sie den Anweisungen in diesem Thema, um Ihre Spiele zu aktualisieren.

Über Amazon GameLift Server SDK 5

Die GameLift SDK Amazon-Serverversion 5.0.0 und höher beinhaltet die folgenden Updates:

  • Erweiterte Sprachen — Bibliotheken sind in den folgenden Sprachen verfügbar: C++, C#, Go. Sie können die C++-Bibliotheken für die Verwendung mit Unreal Engine erstellen.

  • Unterstützung für Game Engine-Plugins — Die GameLift eigenständigen Amazon-Plugins für Unreal Engine und Unity benötigen Amazon GameLift Server SDK 5-Bibliotheken. Diese Plugins bieten geführte Workflows zum Integrieren, Testen und Bereitstellen Ihrer Spiele auf Amazon GameLift zum Hosten. Siehe Leitfaden zum GameLift Amazon-Plugin für Unity für Server-SDK 5.x und Integration von Spielen mit dem GameLift Amazon-Plugin für Unreal Engine Dokumentation.

  • GameLift AnywhereAmazon-Support — Mit Anywhere Flotten können Sie Ihre eigenen Hosting-Ressourcen einrichten, um GameLift Amazon-Funktionen (einschließlich Matchmaking) zu nutzen. Fügen Sie den GameLift Amazon-Agenten hinzu, um die Lebenszyklusverwaltung von Spielsitzungen zu automatisieren. Verwenden Sie Anywhere Flotten für das Produktionshosting mit Hardware vor Ort oder richten Sie Testumgebungen für eine schnelle iterative Spieleentwicklung ein. See Amazon GameLift Anywhere-Hosting und der GameLiftAmazon-Agent.

  • Aktualisierte Testtools — Mit der GameLift Anywhere Amazon-Funktion können Sie lokale oder cloudbasierte Testumgebungen für Ihre Spiele einrichten. Richten Sie Tests mit oder ohne Amazon GameLift Agent ein. Diese Tools ersetzen Amazon GameLift Local. Siehe Richten Sie lokale Tests mit Amazon ein GameLift Anywhere.

  • Konsolidiert. NETLösung für C# — Der C#-Server SDK 5.1+ unterstützt. NETFramework 4.6.2 (aktualisiert von 4.6.1) und. NET6.0 in einer einzigen Lösung. . NETStandard 2.1 ist mit den von Unity erstellten Bibliotheken verfügbar.

  • Neue Compute Ressource — Diese neue Ressource kombiniert verschiedene Arten von Hosting-Ressourcen. Sie umfasst cloudbasierte Hosting-Ressourcen (verwaltete EC2 oder Container-Flotten) und kundengesteuerte Hosting-Ressourcen (AnywhereFlotten). Es beinhaltet die folgenden Updates:

    • Zu den neuen API Aufrufen der Compute Ressource gehören: ListCompute(), DescribeCompute() und GetComputeAccess(). Diese Aktionen geben Hosting-Ressourceninformationen für jede Art von GameLift Amazon-Flotte zurück. Im Allgemeinen sollten Sie bei Flotten mit Spieleservern, die Server SDK 5.x verwenden, die rechenspezifischen Aktionen verwenden, um instanzspezifische Aktionen zu ersetzen. Darüber hinaus sind diese Aktionen für Anywhere Flotten ohne den GameLift Amazon-Agenten vorgesehen: RegisterCompute(), DeregisterCompute() und GetComputeAuthToken().

    • Neue Metrik ActiveCompute mit den CloudWatch Dimensionen FleetIdLocation, undComputeType. Diese Metrik ersetzt die vorherige MetrikActiveInstances.

  • Amazon EC2 Systems Manager (SSM) für Fernzugriff — Verwenden Sie für zusätzliche Sicherheit SSM statt, SSH wenn Sie eine Verbindung zu Instances in von Amazon GameLift verwalteten Flotten herstellen. Siehe Stellen Sie eine Remoteverbindung zu GameLift Amazon-Flotteninstanzen her.

Aktualisiere deinen Spielcode

Um ein Spielprojekt auf SDK Serverversion 5.x zu aktualisieren, nimm die folgenden Änderungen vor:

  1. Holen Sie sich das neueste Amazon GameLift SDK Server-Paket für Ihre Entwicklungsumgebung [Download-Seite]. Folgen Sie den Installationsanweisungen in der Readme Datei für Ihr heruntergeladenes Paket und Ihre heruntergeladene Version. In dieser Anleitung erfährst du, wie du den Server SDKs mit deinem Spielprojekt verwendest.

  2. Aktualisieren Sie Ihren Servercode wie folgt:

    • Ändern Sie die Servercode-Callback-Funktion onCreateGameSession() aufonStartGameSession().

    • Aktualisieren Sie die InitSDK() Eingaben nach Bedarf:

      • Wenn du vorhast, den Spielserver-Build entweder auf einer von Amazon GameLift verwalteten EC2 Flotte oder auf einer Anywhere Flotte mit dem GameLift Amazon-Agenten bereitzustellen:

        Aufruf InitSDK() ohne Parameter (C++) (C#) (Unreal) (Go). Dieser Aufruf richtet die Rechenumgebung und eine WebSocket Verbindung zum GameLift Amazon-Service ein.

      • Wenn du vorhast, den Gameserver-Build auf einer Anywhere Flotte ohne den Amazon GameLift Agent bereitzustellen:

        Rufen Sie InitSDK() mit Serverparametern (C++) (C#) (Unreal) (Go) auf. Ein Gameserver-Prozess verwendet diese Parameter, um eine Verbindung mit dem GameLift Amazon-Service herzustellen.

  3. Wenn Ihr Gameserver-Build oder andere gehostete Anwendungen während der Ausführung mit anderen AWS Ressourcen kommunizieren, müssen Sie ändern, wie die Anwendung auf diese Ressourcen zugreift. Ersetzen Sie die Verwendung von AssumeRoleCredentials durch die neue GameLift SDK Amazon-Serveraktion GetFleetRoleCredentials() (für Spieleserver) oder verwenden Sie gemeinsame Anmeldeinformationen (für andere Anwendungen). Weitere Informationen zur Implementierung dieser Änderung finden Sie unterKommunizieren Sie mit anderen AWS Ressourcen aus Ihren Flotten.

  4. Wenn Ihr Projekt die SDK Serveraktion GetInstanceCertificate() zum Abrufen eines TLS Zertifikats aufgerufen hat, ändern Sie Ihren Code so, dass er stattdessen das neue GetComputeCertificate() (C++) (C#) (Unreal) (Go) verwendet.

  5. Wenn Sie Ihren Spiel-Build auf Amazon hochladen GameLift (z. B. mit upload-build oder CreateBuild()), setzen Sie den ServerSdkVersion Parameter auf die 5.x-Version, die Sie verwenden (dieser Parameter ist derzeit standardmäßig auf 4.0.2 voreingestellt). Dieser Parameter muss mit den tatsächlichen SDK Serverbibliotheken im Spielserver-Build übereinstimmen. Wenn Sie die falsche Version für einen hochgeladenen Spielserver-Build angeben, schlagen alle Flotten fehl, die Sie mit diesem Build erstellen. Siehe Laden Sie einen benutzerdefinierten Server-Build auf Amazon hoch GameLift.

    Das folgende Beispiel zeigt, wie die SDK Serverversion angegeben wird:

    aws gamelift upload-build \ --operating-system AMAZON_LINUX_2023 \ --server-sdk-version "5.0.0" \ --build-root "~/mygame" \ --name "My Game Nightly Build" \ --build-version "build 255" \ --region us-west-2
  6. Wenn Sie Skripts verwenden, um eine Remoteverbindung zu verwalteten Flotten herzustellen, aktualisieren Sie die Skripts so, dass sie den neuen Prozess verwenden, wie unter beschriebenStellen Sie eine Remoteverbindung zu GameLift Amazon-Flotteninstanzen her.