GameLift Amazon을 언리얼 엔진 프로젝트에 통합 - 아마존 GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

GameLift Amazon을 언리얼 엔진 프로젝트에 통합

이 주제에서는 언리얼 엔진용 Amazon GameLift C++ 서버 SDK 플러그인을 설정하고 이를 게임 프로젝트에 통합하는 방법을 설명합니다.

추가 리소스:

필수 조건

진행하기 전에 다음과 같은 사전 조건을 검토해야 합니다.

필수 조건
  • Unreal Engine을 실행할 수 있는 컴퓨터 Unreal Engine 요구 사항에 대한 자세한 내용은 Unreal Engine의 하드웨어 및 소프트웨어 사양 문서를 참조하세요.

  • Microsoft Visual Studio 2019 이상 최신 버전

  • CMake 버전 3.1 이상

  • Python 버전 3.6 이상

  • PATH에서 사용할 수 있는 Git 클라이언트

  • Epic Games 계정 공식 Unreal Engine 웹사이트에서 계정을 등록합니다.

  • 언리얼 GitHub 엔진 계정과 연결된 계정입니다. 자세한 내용은 언리얼 엔진 웹 사이트의 언리얼 엔진 소스 코드 액세스를 참조하십시오. GitHub

참고

Amazon은 GameLift 현재 다음 버전의 언리얼 엔진을 지원합니다.

  • 4.22

  • 4.23

  • 4.24

  • 4.25

  • 4.26

  • 4.27

  • 5.1.0

  • 5.1.1

  • 5.2

  • 5.3

소스에서 Unreal Engine 빌드

Epic 시작 관리자를 통해 다운로드한 표준 버전의 Unreal Engine Editor에서는 Unreal 클라이언트 애플리케이션 빌드만 허용합니다. Unreal 서버 애플리케이션을 빌드하려면 Unreal Engine Github 리포지토리를 사용하여 소스에서 Unreal Engine을 다운로드하고 빌드해야 합니다. 자세한 내용은 Unreal Engine 설명서 웹 사이트의 소스에서 Unreal Engine 빌드 자습서를 참조하세요.

참고

아직 연결하지 않았다면, 언리얼 엔진 소스 코드 액세스의 GitHub 안내를 따라 계정을 에픽게임즈 GitHub 계정에 연결하세요.

Unreal Engine 소스를 개발 환경에 복제하려면
  1. Unreal Engine 소스를 선택한 브랜치의 개발 환경에 복제합니다.

    git clone https://github.com/EpicGames/UnrealEngine.git
  2. 게임 개발에 사용 중인 버전의 태그를 확인합니다. 예를 들어, 다음 예제는 Unreal Engine 버전 5.1.1을 확인합니다.

    git checkout tags/5.1.1-release -b 5.1.1-release
  3. 로컬 리포지토리의 루트 폴더로 이동합니다. 루트 폴더에 있는 경우 다음 Setup.bat 파일을 실행합니다.

  4. 루트 폴더에 있는 동안에도 GenerateProjectFiles.bat 파일을 실행합니다.

  5. 이전 단계의 파일을 실행한 후, UE5.sln Unreal Engine 솔루션 파일이 생성됩니다. Visual Studio를 열고 Visual Studio 편집기에서 UE5.sln 파일을 엽니다.

  6. Visual Studio에서 보기 메뉴를 열고 Solution Explorer 옵션을 선택합니다. 그러면 Unreal 프로젝트 노드의 컨텍스트 메뉴가 열립니다. Solution Explorer 창에서 UE5.sln 파일(UE5으로 나열 가능)을 마우스 오른쪽 버튼으로 클릭한 다음 빌드를 선택하여 Development Editor Win64 대상으로 Unreal 프로젝트를 빌드합니다.

    참고

    빌드를 완료하는 데 1시간이 넘게 걸릴 수 있습니다.

빌드가 완료되면 Unreal Development Editor를 열고 프로젝트를 만들거나 가져올 준비가 된 것입니다.

플러그인에 대한 Unreal 프로젝트 구성

다음 단계에 따라 게임 GameLift 서버 프로젝트에 사용할 언리얼 엔진용 Amazon 서버 SDK 플러그인을 준비하세요.

플러그인에 대한 프로젝트를 구성하려면
  1. Visual Studio를 연 상태에서 Solution Explorer 창으로 이동한 다음 UE5 파일을 선택하여 Unreal 프로젝트의 컨텍스트 메뉴를 엽니다. 컨텍스트 메뉴에서 시작 프로젝트로 설정 옵션을 선택합니다.

  2. Visual Studio 창 상단에서 디버깅 시작(녹색 화살표)을 선택합니다.

    이 작업을 수행하면 소스로 빌드된 새 Unreal Editor 인스턴스가 시작됩니다. Unreal Editor 사용에 대한 자세한 내용은 Unreal Engine 설명서 웹 사이트의 Unreal Editor 인터페이스를 참조하세요.

  3. Unreal Editor에는 Unreal 프로젝트와 게임 프로젝트가 포함된 다른 Visual Studio 창이 열리므로, 열린 Visual Studio 창을 닫습니다.

  4. Unreal Editor에서 다음 중 하나를 수행합니다.

    • GameLiftAmazon과 통합하려는 기존 언리얼 프로젝트를 선택합니다.

    • 새 프로젝트를 생성합니다 언리얼용 Amazon GameLift 플러그인을 실험해 보려면 언리얼 엔진의 3인칭 템플릿을 사용해 보세요. 이 템플릿에 대한 자세한 내용은 Unreal Engine 설명서 웹 사이트의 3인칭 템플릿을 참조하세요.

      또는 다음 설정으로 새 프로젝트를 구성합니다.

      • C++

      • 스타터 콘텐츠 포함

      • 데스크톱

      • 프로젝트 이름 이 주제의 예제에서는 프로젝트 이름을 GameLiftUnrealApp이라고 지정했습니다.

  5. Visual Studio의 Solution Explorer에서 Unreal 프로젝트가 있는 위치로 이동합니다. Unreal Source 폴더에서 Your-application-name.Target.cs로 이름이 지정된 파일을 찾습니다.

    예를 들면 GameLiftUnrealApp.Target.cs입니다.

  6. 이 파일을 복사하여 사본 이름을 Your-application-nameServer.Target.cs로 지정합니다.

  7. 새 파일을 열고 다음과 같이 변경합니다.

    • classconstructor를 변경하여 파일 이름과 일치시킵니다.

    • TypeTargetType.Game에서 TargetType.Server로 변경합니다.

    • 최종 파일은 다음 예제와 같습니다.

      public class GameLiftUnrealAppServerTarget : TargetRules { public GameLiftUnrealAppServerTarget(TargetInfo Target) : base(Target) { Type = TargetType.Server; DefaultBuildSettings = BuildSettingsVersion.V2; IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_1; ExtraModuleNames.Add("GameLiftUnrealApp"); } }

이제 프로젝트가 Amazon GameLift 서버 SDK 플러그인을 허용하도록 구성되었습니다.

다음 작업은 Unreal용 C++ Server SDK 라이브러리를 빌드하여 프로젝트로 가져올 수 있도록 하는 것입니다.

Unreal용 C++ Server SDK 라이브러리를 빌드하려면
  1. 언리얼용 Amazon GameLift C++ 서버 SDK 플러그인을 다운로드하세요.

    참고

    SDK를 기본 다운로드 디렉터리에 넣으면 경로가 260자 제한을 초과하여 빌드에 실패할 수 있습니다. 예: C:\Users\Administrator\Downloads\GameLift-SDK-Release-06_15_2023\GameLift-Cpp-ServerSDK-5.0.4

    예를 들어 C:\GameLift-Cpp-ServerSDK-5.0.4의 경우 SDK를 다른 디렉터리로 이동하는 것이 좋습니다.

  2. OpenSSL을 다운로드하고 설치합니다. OpenSSL을 다운로드하는 방법에 대한 자세한 내용은 Github OpenSSL 빌드 및 설치 설명서를 참조하세요.

    자세한 내용은 Windows 플랫폼에 대한 정보 설명서를 참조하세요.

    참고

    Amazon GameLift 서버 SDK를 빌드하는 데 사용하는 OpenSSL 버전은 언리얼에서 게임 서버를 패키징하는 데 사용하는 OpenSSL 버전과 일치해야 합니다. 언리얼 설치 디렉토리에서 버전 정보를 찾을 수 있습니다. ...Engine\Source\ThirdParty\OpenSSL

  3. 라이브러리를 다운로드한 후 Unreal Engine용 C++ Server SDK 라이브러리를 빌드합니다.

    다운로드한 SDK의 GameLift-Cpp-ServerSDK-<version> 디렉터리에서 -DBUILD_FOR_UNREAL=1 파라미터를 사용하여 컴파일하고 Server SDK를 빌드합니다. 다음 예제에서는 cmake를 사용하여 컴파일하는 방법을 보여줍니다.

    터미널에서 다음 명령을 실행합니다.

    mkdir cmake-build cmake.exe -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release -S . -B ./cmake-build -DBUILD_FOR_UNREAL=1 -A x64 cmake.exe --build ./cmake-build --target ALL_BUILD --config Release

    Windows 빌드는 out\gamelift-server-sdk\Release 폴더에 다음과 같은 바이너리 파일을 생성합니다.

    • cmake-build\prefix\bin\aws-cpp-sdk-gamelift-server.dll

    • cmake-build\prefix\bin\aws-cpp-sdk-gamelift-server.lib

    두 라이브러리 파일을 Amazon GameLift Unreal Engine 플러그인 패키지의 ThirdParty\GameLiftServerSDK\Win64 폴더에 복사합니다.

다음 절차를 사용하여 Amazon GameLift 플러그인을 예제 프로젝트로 가져올 수 있습니다.

Amazon GameLift 플러그인 가져오기
  1. 이전 절차에서 플러그인에서 추출한 GameLiftServerSDK 폴더를 찾습니다.

  2. 게임 프로젝트 루트 Plugins 폴더에서 찾으세요. (폴더가 없는 경우 해당 폴더에서 생성하세요.)

  3. GameLiftServerSDK폴더를 에 복사합니다Plugins.

    이렇게 하면 언리얼 프로젝트에서 플러그인을 볼 수 있게 됩니다.

  4. Amazon GameLift 서버 SDK 플러그인을 게임 .uproject 파일에 추가합니다.

    이 예제에서는 앱은 GameLiftUnrealApp이라고 하므로 파일은 GameLiftUnrealApp.uproject입니다.

  5. .uproject 파일을 편집하여 게임 프로젝트에 플러그인을 추가합니다.

    "Plugins": [ { "Name": "GameLiftServerSDK", "Enabled": true } ]
  6. 게임이 플러그인에 종속되는지 확인하십시오. ModuleRules .Build.cs파일을 열고 Amazon GameLiftServer SDK 종속성을 추가합니다. 이 파일은 Your-application-name/Source//Your-application-name/에 있습니다.

    예를 들어 자습서 파일 경로는 ../GameLiftUnrealApp/Source/GameLiftUnrealApp/GameLiftUnrealApp.Build.cs입니다.

  7. PublicDependencyModuleNames의 목록 끝에 "GameLiftServerSDK"를 추가합니다.

    using UnrealBuildTool; using System.Collections.Generic; public class GameLiftUnrealApp : ModuleRules { public GameLiftUnrealApp(TargetInfo Target) { PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "GameLiftServerSDK" }); bEnableExceptions = true; } }

이제 플러그인이 애플리케이션에서 작동할 것입니다. Amazon GameLift 기능을 게임에 통합하려면 다음 섹션을 계속 진행하십시오.

언리얼 GameLift 프로젝트에 Amazon 서버 코드 추가

언리얼 엔진 환경을 구성하고 설정했으며, 이제 게임 서버를 GameLift Amazon과 통합할 수 있습니다. 이 주제에 제시된 코드는 Amazon GameLift 서비스를 호출하는 데 필요합니다. 또한 Amazon GameLift 서비스의 요청에 응답하는 콜백 함수 세트를 구현합니다. 각 함수와 코드가 수행하는 작업에 대한 자세한 내용은 서버 프로세스 초기화를 참조하세요. 이 코드에 사용된 SDK 작업 및 데이터 유형에 대한 자세한 내용은 Unreal Engine용 Amazon GameLift Server SDK 참조 섹션을 참조하세요.

Amazon에서 게임 서버를 GameLift 초기화하려면 다음 절차를 사용하십시오.

참고

다음 섹션에 제공된 Amazon GameLift 전용 코드는 WITH_GAMELIFT 전처리기 플래그 사용에 따라 달라집니다. 이 플래그는 다음 두 조건이 모두 충족되는 경우에만 유효합니다.

  • Target.Type == TargetRules.TargetType.Server

  • 플러그인이 Amazon GameLift 서버 SDK 바이너리를 찾았습니다.

이렇게 하면 언리얼 서버 빌드만 GameLift Amazon의 백엔드 API를 호출할 수 있습니다. 또한 게임에서 생성할 수 있는 모든 다양한 Unreal 대상에 대해 제대로 실행되는 코드를 작성할 수 있습니다.

게임 서버를 Amazon과 통합 GameLift
  1. Visual Studio에서 애플리케이션용 .sln 파일을 엽니다. 이 예제의 경우 GameLiftUnrealApp.sln 파일은 루트 폴더에서 찾을 수 있습니다.

  2. 솔루션이 열린 상태에서 애플리케이션의 Your-application-nameGameMode.h 파일을 찾습니다. 예: GameLiftUnrealAppGameMode.h.

  3. 헤더 파일을 다음 예제 코드에 맞게 변경합니다. 반드시 GameLiftUnrealApp "“를 자신의 애플리케이션 이름으로 바꾸십시오.

    #pragma once #include "CoreMinimal.h" #include "GameFramework/GameModeBase.h" #include "GameLiftServerSDK.h" #include "GameLiftUnrealAppGameMode.generated.h" DECLARE_LOG_CATEGORY_EXTERN(GameServerLog, Log, All); UCLASS(minimalapi) class AGameLiftUnrealAppGameMode : public AGameModeBase { GENERATED_BODY() public: AGameLiftUnrealAppGameMode(); protected: virtual void BeginPlay() override; private: // Process Parameters needs to remain in scope for the lifetime of the app FProcessParameters m_params; void InitGameLift(); };
  4. 관련 소스 파일인 Your-application-nameGameMode.cpp 파일을 엽니다. 예제: GameLiftUnrealAppGameMode.cpp. 다음 예제 코드에 맞게 코드를 변경합니다. 반드시 GameLiftUnrealApp "“를 자신의 애플리케이션 이름으로 바꾸십시오.

    이 샘플은 게임 서버에 Amazon 추가에 설명된 대로 GameLift Amazon과의 통합에 필요한 모든 요소를 추가하는 방법을 보여줍니다. GameLift 여기에는 다음이 포함됩니다.

    • Amazon GameLift API 클라이언트를 초기화하는 중입니다.

    • OnStartGameSessionOnProcessTerminate, 및 onHealthCheck 등 Amazon GameLift 서비스의 요청에 응답하는 콜백 함수를 구현합니다.

    • 지정된 포트로 ProcessReady () 를 호출하여 게임 세션을 GameLiftservice 호스팅할 준비가 되면 Amazon에 알립니다.

    #include "GameLiftUnrealAppGameMode.h" #include "GameLiftUnrealAppCharacter.h" #include "UObject/ConstructorHelpers.h" DEFINE_LOG_CATEGORY(GameServerLog); AGameLiftUnrealAppGameMode::AGameLiftUnrealAppGameMode() { // set default pawn class to our Blueprinted character static ConstructorHelpers::FClassFinder<APawn> PlayerPawnBPClass(TEXT("/Game/ThirdPerson/Blueprints/BP_ThirdPersonCharacter")); if (PlayerPawnBPClass.Class != NULL) { DefaultPawnClass = PlayerPawnBPClass.Class; } } void AGameLiftUnrealAppGameMode::BeginPlay() { #if WITH_GAMELIFT InitGameLift(); #endif } void AGameLiftUnrealAppGameMode::InitGameLift() { UE_LOG(GameServerLog, Log, TEXT("Initializing the GameLift Server")); //Getting the module first. FGameLiftServerSDKModule* gameLiftSdkModule = &FModuleManager::LoadModuleChecked<FGameLiftServerSDKModule>(FName("GameLiftServerSDK")); //Define the server parameters for a GameLift Anywhere fleet. These are not needed for a GameLift managed EC2 fleet. FServerParameters serverParameters; //AuthToken returned from the "aws gamelift get-compute-auth-token" API. Note this will expire and require a new call to the API after 15 minutes. if (FParse::Value(FCommandLine::Get(), TEXT("-authtoken="), serverParameters.m_authToken)) { UE_LOG(GameServerLog, Log, TEXT("AUTH_TOKEN: %s"), *serverParameters.m_authToken) } //The Host/compute-name of the GameLift Anywhere instance. if (FParse::Value(FCommandLine::Get(), TEXT("-hostid="), serverParameters.m_hostId)) { UE_LOG(GameServerLog, Log, TEXT("HOST_ID: %s"), *serverParameters.m_hostId) } //The Anywhere Fleet ID. if (FParse::Value(FCommandLine::Get(), TEXT("-fleetid="), serverParameters.m_fleetId)) { UE_LOG(GameServerLog, Log, TEXT("FLEET_ID: %s"), *serverParameters.m_fleetId) } //The WebSocket URL (GameLiftServiceSdkEndpoint). if (FParse::Value(FCommandLine::Get(), TEXT("-websocketurl="), serverParameters.m_webSocketUrl)) { UE_LOG(GameServerLog, Log, TEXT("WEBSOCKET_URL: %s"), *serverParameters.m_webSocketUrl) } //The PID of the running process serverParameters.m_processId = FString::Printf(TEXT("%d"), GetCurrentProcessId()); UE_LOG(GameServerLog, Log, TEXT("PID: %s"), *serverParameters.m_processId); //InitSDK establishes a local connection with GameLift's agent to enable further communication. //Use InitSDK(serverParameters) for a GameLift Anywhere fleet. //Use InitSDK() for a GameLift managed EC2 fleet. gameLiftSdkModule->InitSDK(serverParameters); //Implement callback function onStartGameSession //GameLift sends a game session activation request to the game server //and passes a game session object with game properties and other settings. //Here is where a game server takes action based on the game session object. //When the game server is ready to receive incoming player connections, //it invokes the server SDK call ActivateGameSession(). auto onGameSession = [=](Aws::GameLift::Server::Model::GameSession gameSession) { FString gameSessionId = FString(gameSession.GetGameSessionId()); UE_LOG(GameServerLog, Log, TEXT("GameSession Initializing: %s"), *gameSessionId); gameLiftSdkModule->ActivateGameSession(); }; m_params.OnStartGameSession.BindLambda(onGameSession); //Implement callback function OnProcessTerminate //GameLift invokes this callback before shutting down the instance hosting this game server. //It gives the game server a chance to save its state, communicate with services, etc., //and initiate shut down. When the game server is ready to shut down, it invokes the //server SDK call ProcessEnding() to tell GameLift it is shutting down. auto onProcessTerminate = [=]() { UE_LOG(GameServerLog, Log, TEXT("Game Server Process is terminating")); gameLiftSdkModule->ProcessEnding(); }; m_params.OnTerminate.BindLambda(onProcessTerminate); //Implement callback function OnHealthCheck //GameLift invokes this callback approximately every 60 seconds. //A game server might want to check the health of dependencies, etc. //Then it returns health status true if healthy, false otherwise. //The game server must respond within 60 seconds, or GameLift records 'false'. //In this example, the game server always reports healthy. auto onHealthCheck = []() { UE_LOG(GameServerLog, Log, TEXT("Performing Health Check")); return true; }; m_params.OnHealthCheck.BindLambda(onHealthCheck); //The game server gets ready to report that it is ready to host game sessions //and that it will listen on port 7777 for incoming player connections. m_params.port = 7777; //Here, the game server tells GameLift where to find game session log files. //At the end of a game session, GameLift uploads everything in the specified //location and stores it in the cloud for access later. TArray<FString> logfiles; logfiles.Add(TEXT("GameLift426Test/Saved/Logs/GameLift426Test.log")); m_params.logParameters = logfiles; //The game server calls ProcessReady() to tell GameLift it's ready to host game sessions. UE_LOG(GameServerLog, Log, TEXT("Calling Process Ready")); gameLiftSdkModule->ProcessReady(m_params); }
  5. Development Editor개발 서버 대상 유형 모두를 위한 게임 프로젝트를 빌드합니다.

    참고

    솔루션을 다시 빌드할 필요는 없습니다. 대신 앱 이름과 일치하는 Games 폴더 아래에 프로젝트만 빌드합니다. 그렇지 않으면 Visual Studio에서 전체 UE5 프로젝트를 다시 빌드하므로 최대 한 시간이 걸릴 수 있습니다.

  6. 두 빌드가 모두 완료되면 Visual Studio를 닫고 프로젝트 .uproject 파일을 열어 Unreal Editor에서 빌드를 엽니다.

  7. Unreal Editor에서 게임의 서버 빌드를 패키징합니다. 대상을 선택하려면 플랫폼, Windows로 이동하여 Y our-application-name Server를 선택합니다.

  8. 서버 애플리케이션 빌드 프로세스를 시작하려면 플랫폼, Windows로 이동하고 패키지 프로젝트를 선택합니다. 빌드가 완료되면 실행 파일이 있어야 합니다. 이 예제의 경우 파일 이름은 GameLiftUnrealAppServer.exe입니다.

  9. Unreal Editor에서 서버 애플리케이션을 빌드하면 두 개의 실행 파일이 생성됩니다. 하나는 게임 빌드 폴더의 루트에 있으며 실제 서버 실행 파일의 래퍼 역할을 합니다.

    서버 빌드로 Amazon GameLift 플릿을 생성할 때는 실제 서버 실행 파일을 런타임 구성 시작 경로로 전달하는 것이 좋습니다. 예를 들어 게임 빌드 폴더의 루트에는 GameLiftFPS.exe 파일이 있고 다른 파일은 \GameLiftFPS\Binaries\Win64\GameLiftFPSServer.exe위치에 있을 수 있습니다. 플릿을 생성할 때는 런타임 구성의 시작 경로로 C:\GameLiftFPS\Binaries\Win64\GameLiftFPSServer.exe를 사용하는 것이 좋습니다.

  10. 게임 서버가 게임 클라이언트와 통신할 수 있도록 Amazon GameLift 플릿에서 필요한 UDP 포트를 열어야 합니다. 기본적으로 Unreal Engine은 포트 7777을 사용합니다. 자세한 내용은 UpdateFleetPortSettingsAmazon GameLift 서비스 API 참조 안내서를 참조하십시오.

  11. 게임 빌드용 install.bat 파일을 생성합니다. 이 설치 스크립트는 게임 빌드가 Amazon GameLift 플릿에 배포될 때마다 실행됩니다. 다음은 예제 파일 install.bat입니다.

    VC_redist.x64.exe /q UE5PrereqSetup_x64.exe /q

    일부 언리얼 엔진 버전의 경우 대신 install.bat 다음과 같아야 합니다.

    VC_redist.x64.exe /q UEPrereqSetup_x64.exe /q
    참고

    <>PrereqSetup_x64.exe 파일로의 파일 경로는 Engine\Extras\Redist\en-us입니다.

  12. 이제 게임 빌드를 패키징하여 Amazon에 업로드할 수 GameLift 있습니다.

    게임 빌드와 함께 패키징하는 OpenSSL 버전은 게임 서버를 빌드할 때 게임 엔진이 사용한 버전과 일치해야 합니다. 게임 서버 빌드와 함께 올바른 OpenSSL 버전을 패키징해야 합니다. Windows OS의 경우 OpenSSL 형식은 .dll입니다.

    참고

    게임 서버 빌드에 OpenSSL DLL을 패키징하세요. 게임 서버를 빌드할 때 사용한 것과 동일한 버전의 OpenSSL을 패키징해야 합니다.

    • libssl-1_1-x64.dll

      libcrypto-1_1-x64.dll

    zip 파일의 루트에 게임 서버 실행 파일과 함께 종속 항목을 패키징합니다. 예를 들어 openssl-lib dll은 .exe 파일과 같은 디렉터리에 있어야 합니다.

다음 단계

언리얼 엔진 환경을 구성하고 설정했으니 이제 GameLift Amazon을 게임에 통합할 수 있습니다.

GameLift Amazon을 게임에 추가하는 방법에 대한 자세한 내용은 다음을 참조하십시오.

게임 테스트에 대한 지침은 Amazon GameLift Anywhere 플릿을 사용하여 통합 테스트, 섹션을 참조하세요.