Unreal Engine용 Amazon GameLift Server SDK 참조: 작업 - 아마존 GameLift

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

Unreal Engine용 Amazon GameLift Server SDK 참조: 작업

이 Amazon GameLift Server API 참조는 Amazon GameLift와 함께 사용할 Unreal Engine 게임 프로젝트를 준비하는 데 유용합니다. 통합 프로세스에 대한 자세한 내용은 GameLift Amazon을 게임 서버에 추가 섹션을 참조하세요.

이 API는 GameLiftServerSDK.hGameLiftServerSDKModels.h에 정의되어 있습니다.

Unreal Engine 플러그인을 설치하려면 코드 샘플 GameLift Amazon을 언리얼 엔진 프로젝트에 통합 섹션을 참조하세요.

AcceptPlayerSession()

Amazon GameLift 서비스에 지정된 플레이어 세션 ID의 플레이어가 서버 프로세스에 연결되었고 검증이 필요함을 알립니다. Amazon GameLift가 플레이어 세션 ID가 유효한지, 즉 플레이어 ID가 게임 세션의 플레이어 슬롯을 예약했는지 확인합니다. 검증되면 Amazon GameLift가 플레이어 슬롯의 상태를 RESERVED에서 ACTIVE로 변경합니다.

구문

FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)

파라미터

playerSessionId

AWS SDK Amazon GameLift API 작업 CreatePlayerSession에 호출에 대한 응답으로 Amazon GameLift 서비스에서 발급한 고유 ID입니다. 게임 클라이언트가 서버 프로세스에 연결할 때 이 ID를 참조합니다.

형식: FString

필수 항목 여부: 예

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

ActivateGameSession()

Amazon GameLift 서비스에 서버 프로세스가 게임 세션을 활성화했으며 이제 플레이어 연결을 수신할 준비가 되었음을 알립니다. 이 작업은 모든 게임 세션 초기화가 완료된 후 onStartGameSession() 콜백 함수의 일부로 호출되어야 합니다.

구문

FGameLiftGenericOutcome ActivateGameSession()

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

DescribePlayerSessions()

설정, 세션 메타데이터 및 플레이어 데이터 등의 플레이어 세션 데이터를 가져옵니다. 이 작업을 사용하면 단일 플레이어 세션 정보, 게임 세션에 있는 모든 플레이어 세션 정보 또는 단일 플레이어 ID와 관련된 모든 플레이어 세션 정보를 가져올 수 있습니다.

구문

FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)

파라미터

describePlayerSessionsRequest

검색할 플레이어 세션을 설명하는 FDescribePlayerSessionsRequest 객체입니다.

필수 항목 여부: 예

반환 값

성공하는 경우, 요청 파라미터에 적합한 플레이어 세션 객체 집합이 들어 있는 FDescribePlayerSessionsRequest 객체를 반환합니다. 플레이어 세션 객체 구조는 AWS SDK Amazon GameLift API PlayerSession 데이터 유형과 동일합니다.

GetGameSessionId()

서버 프로세스가 활성인 경우 현재 서버 프로세스에서 호스팅하고 있는 게임 세션의 ID를 가져옵니다.

구문

FGameLiftStringOutcome GetGameSessionId()

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공하면 게임 세션 ID를 FGameLiftStringOutcome 객체로 반환합니다. 실패하면 오류 메시지를 반환합니다.

GetInstanceCertificate()

플릿 및 해당 인스턴스와 연결된 pem 인코딩된 TLS 인증서의 파일 위치를 검색합니다. AWS Certificate Manager는 인증서 구성이 GENERATED로 설정된 새 플릿을 생성할 때 이 인증서를 생성합니다. 이 인증서를 사용하여 게임 클라이언트와 보안 연결을 설정하고 클라이언트/서버 통신을 암호화합니다

구문

FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공하면 인스턴스에 저장된 플릿의 TLS 인증서 파일과 인증서 체인 위치를 포함한 GetInstanceCertificateOutcome 객체를 반환합니다. 인증서 체인에서 추출한 루트 인증서 파일도 인스턴스에 저장됩니다. 실패하면 오류 메시지를 반환합니다.

인증서 및 인증서 체인 데이터에 대한 자세한 내용은 AWS Certificate Manager API 참조의 GetCertificate 응답 요소를 참조하세요.

GetSdkVersion()

현재 서버 프로세스에 빌드된 SDK 버전 번호를 반환합니다.

구문

FGameLiftStringOutcome GetSdkVersion();

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공하면 현재 SDK 버전을 FGameLiftStringOutcome 객체로 반환합니다. 반환된 문자열에는 버전 번호만(예: “3.1.5”)을 포함합니다. 실패하면 오류 메시지를 반환합니다.

Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();

InitSDK()

Amazon GameLift SDK를 초기화합니다. 이 메서드는 다른 Amazon GameLift 관련 초기화가 진행되기 전, 시작 시 호출되어야 합니다.

구문

FGameLiftGenericOutcome InitSDK()

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

ProcessEnding()

Amazon GameLift 서비스에 서버 프로세스를 중단할 준비가 되었음을 알립니다. 이 메서드는 모든 활성 게임 세션의 종료 등, 다른 모든 정리 작업 이후에 호출되어야 합니다. 이 메서드는 종료 코드 0으로 종료해야 합니다. 0이 아닌 종료 코드를 사용하면 프로세스가 정상적으로 종료되지 않았다는 이벤트 메시지가 표시됩니다.

구문

FGameLiftGenericOutcome ProcessEnding()

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

ProcessReady()

Amazon GameLift 서비스에 서버 프로세스가 게임 세션을 호스팅할 준비가 되었음을 알립니다. 성공적으로 InitSDK()를 호출하고, 서버 프로세스가 게임 세션을 호스트하기 전에 수행해야 하는 설정 작업을 완료한 후에만 이 메서드를 호출할 수 있습니다. 이 메서드는 프로세스당 한 번만 호출해야 합니다.

구문

FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)

파라미터

FProcessParameters

다음 서버 프로세스 관련 정보를 전달하는 FProcessParameters 객체입니다.

  • 게임 서버 코드에 구현되어 있는 콜백 메서드의 이름으로, 서버 프로세스와 통신할 수 있도록 Amazon GameLift 서비스가 호출하는 메서드입니다.

  • 서버 프로세스가 수신하는 포트 번호입니다.

  • Amazon GameLift가 캡처 및 저장하도록 하려는 모든 게임 세션별 파일에 대한 경로입니다.

필수 항목 여부: 예

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

Unreal Engine 플러그인 사용 섹션에 있는 샘플 코드를 참조하세요.

RemovePlayerSession()

Amazon GameLift 서비스에 지정된 플레이어 세션 ID의 플레이어가 서버 프로세스로부터 연결이 해제되었음을 알립니다. 이에 대한 응답으로, Amazon GameLift가 플레이어 슬롯을 새 플레이어에 할당할 수 있는 사용 가능 상태로 변경합니다.

구문

FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)

파라미터

playerSessionId

AWS SDK Amazon GameLift API 작업 CreatePlayerSession에 호출에 대한 응답으로 Amazon GameLift 서비스에서 발급한 고유 ID입니다. 게임 클라이언트가 서버 프로세스에 연결할 때 이 ID를 참조합니다.

형식: FString

필수 항목 여부: 예

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

StartMatchBackfill()

FlexMatch를 통해 생성된 게임 세션에서 열린 슬롯에 참여할 새로운 플레이어를 찾는 요청을 보냅니다. AWS SDK 작업 StartMatchBackfill()도 참조하세요. 이 작업을 사용하면 게임 세션을 호스팅하는 게임 서버 프로세스에서 매치 채우기 요청을 시작할 수 있습니다. FlexMatch 채우기 기능에 대해 자세히 알아보세요.

이 작업은 비동기식입니다. 새로운 플레이어가 성공적으로 매치되면 Amazon GameLift 서비스는 콜백 함수 OnUpdateGameSession()을 사용하여 업데이트된 매치메이커 데이터를 전달합니다.

서버 프로세스는 한 번에 하나의 활성 매치 채우기 요청만 할 수 있습니다. 새 요청을 보내려면 먼저 StopMatchBackfill()을 호출하여 원본 요청을 취소해야 합니다.

구문

FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);

파라미터

FStartMatchBackfillRequest

다음 정보를 전달하는 FStartMatchBackfillRequest 객체입니다.

  • 백필(backfill) 요청에 할당할 티켓 ID. 이 정보를 선택 사항입니다. ID를 제공하지 않으면 Amazon GameLift가 ID를 자동 생성합니다.

  • 요청을 보낼 매치메이커. 전체 구성 ARN이 필요합니다. 이 값은 게임 세션의 매치메이커 데이터에서 수집할 수 있습니다.

  • 백필(backfill) 중인 게임 세션의 ID.

  • 게임 세션의 현재 플레이어에 대해 사용 가능한 매치메이킹 데이터.

필수 항목 여부: 예

반환 값

성공하면 매치 채우기 티켓을 FGameLiftStringOutcome 객체로 반환합니다. 실패하면 오류 메시지를 반환합니다. 티켓 상태는 AWS SDK 작업 DescribeMatchmaking()을 사용하여 추적할 수 있습니다.

StopMatchBackfill()

StartMatchBackfill()을 통해 생성된 활성 매치 채우기 요청을 취소합니다. AWS SDK 작업 StopMatchmaking()도 참조하세요. FlexMatch 채우기 기능에 대해 자세히 알아보세요.

구문

FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);

파라미터

StopMatchBackfillRequest

취소할 매치메이킹 티켓을 식별하는 FStopMatchBackfillRequest 객체입니다.

  • 취소 중인 채우기 요청에 할당한 티켓 ID

  • 채우기 요청을 보낸 매치메이커

  • 채우기 요청과 연결된 게임 세션

필수 항목 여부: 예

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

TerminateGameSession()

버전 4.0.1 에서는 이 메서드를 사용하지 않습니다. 대신 게임 세션이 종료된 후에 서버 프로세스가 ProcessEnding()을 호출해야 합니다.

Amazon GameLift 서비스에 서버 프로세스가 현재 게임 세션을 종료했음을 알립니다. 이 작업은 서버 프로세스가 활성 상태를 유지하고 새 게임 세션을 호스팅할 준비가 되면 호출됩니다. 서버 프로세스를 즉시 사용하여 새 게임 세션을 호스팅할 수 있음을 Amazon GameLift에 알리기 때문에 게임 세션 종료 절차가 완료된 후에만 호출해야 합니다.

게임 세션이 중지된 후 서버 프로세스가 종료되는 경우에는 이 작업이 호출되지 않습니다. 대신 ProcessEnding()을 호출하여 게임 세션과 서버 프로세스가 모두 종료되었음을 알립니다.

구문

FGameLiftGenericOutcome TerminateGameSession()

파라미터

이 작업에는 파라미터가 없습니다.

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.

UpdatePlayerSessionCreationPolicy()

현재 게임 세션의 새 플레이어 세션 수락 가능성을 업데이트합니다. 모든 새 플레이어 세션을 수락하거나 거부하도록 게임 세션을 설정할 수 있습니다. (Amazon GameLift Service API 참조UpdateGameSession() 작업도 참조하세요.)

구문

FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)

파라미터

Policy

게임 세션이 새 플레이어를 수락하는지 여부를 나타내는 값입니다.

유형: EPlayerSessionCreationPolicy 열거형입니다. 유효한 값으로는 다음이 포함됩니다.

  • ACCEPT_ALL - 모든 새 플레이어 세션을 수락합니다.

  • DENY_ALL - 모든 새 플레이어 세션을 거부합니다.

필수 항목 여부: 예

반환 값

성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.