기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Unreal EngineSDK용 Amazon GameLift 서버: 작업
Amazon GameLift Server SDK for Unreal 참조를 사용하여 호스팅을 위한 멀티플레이어 게임을 Amazon 와 통합합니다 GameLift. 통합 프로세스에 대한 지침은 섹션을 참조하세요 GameLift 게임 서버에 Amazon 추가.
참고
이 참조는 이전 버전의 Amazon GameLift 서버 에 대한 것입니다SDK. 최신 버전은 Unreal Engine용 Amazon GameLift Server SDK 5.x: 작업를 참조하십시오.
이는 GameLiftServerSDK.h
및 에 정의API되어 있습니다GameLiftServerSDKModels.h
.
Unreal Engine 플러그인을 설치하려면 코드 샘플 Amazon GameLift 을 Unreal Engine 프로젝트에 통합 섹션을 참조하세요.
Unreal EngineSDK용 Amazon GameLift 서버: 데이터 유형
주제
AcceptPlayerSession()
지정된 플레이어 세션 ID를 가진 플레이어가 서버 프로세스에 연결되었으며 검증이 필요함을 Amazon GameLift 서비스에 알립니다. Amazon은 플레이어 세션 ID가 유효한지, 즉 플레이어 ID가 게임 세션에서 플레이어 슬롯을 예약했는지 GameLift 확인합니다. 검증되면 Amazon은 플레이어 슬롯의 상태를 에서 RESERVED로 GameLift 변경합니다ACTIVE.
구문
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
파라미터
- playerSessionId
-
Amazon 작업 에 대한 호출에 대한 응답으로 Amazon GameLift GameLift API 서비스에서 발급한 고유 ID입니다 AWS SDKCreatePlayerSession. 게임 클라이언트가 서버 프로세스에 연결할 때 이 ID를 참조합니다.
유형: FString
필수 여부: 예
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
ActivateGameSession()
서버 프로세스가 게임 세션을 활성화했으며 이제 플레이어 연결을 수신할 준비가 되었음을 Amazon GameLift 서비스에 알립니다. 이 작업은 모든 게임 세션 초기화가 완료된 후 onStartGameSession()
콜백 함수의 일부로 호출되어야 합니다.
구문
FGameLiftGenericOutcome ActivateGameSession()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
DescribePlayerSessions()
설정, 세션 메타데이터 및 플레이어 데이터 등의 플레이어 세션 데이터를 가져옵니다. 이 작업을 사용하면 단일 플레이어 세션 정보, 게임 세션에 있는 모든 플레이어 세션 정보 또는 단일 플레이어 ID와 관련된 모든 플레이어 세션 정보를 가져올 수 있습니다.
구문
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
파라미터
- describePlayerSessions요청
-
검색할 플레이어 세션을 설명하는 FDescribePlayerSessionsRequest 객체입니다.
필수 여부: 예
반환 값
성공하는 경우, 요청 파라미터에 적합한 플레이어 세션 객체 집합이 들어 있는 FDescribePlayerSessionsRequest 객체를 반환합니다. 플레이어 세션 객체의 구조는 Amazon GameLift API PlayerSession 데이터 유형과 AWS SDK 동일합니다.
GetGameSessionId()
서버 프로세스가 활성인 경우 현재 서버 프로세스에서 호스팅하고 있는 게임 세션의 ID를 가져옵니다.
구문
FGameLiftStringOutcome GetGameSessionId()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공하면 게임 세션 ID를 FGameLiftStringOutcome
객체로 반환합니다. 실패하면 오류 메시지를 반환합니다.
GetInstanceCertificate()
플릿 및 해당 인스턴스와 연결된 pem 인코딩 TLS 인증서의 파일 위치를 검색합니다. 인증서 구성이 로 설정된 새 플릿을 생성할 때 이 인증서를 AWS Certificate Manager 생성합니다GENERATED. 이 인증서를 사용하여 게임 클라이언트와 보안 연결을 설정하고 클라이언트/서버 통신을 암호화합니다
구문
FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공하면 는 플릿의 TLS 인증서 파일 위치와 인스턴스에 저장된 인증서 체인이 포함된 GetInstanceCertificateOutcome
객체를 반환합니다. 인증서 체인에서 추출한 루트 인증서 파일도 인스턴스에 저장됩니다. 실패하면 오류 메시지를 반환합니다.
인증서 및 인증서 체인 데이터에 대한 자세한 내용은 참조의 GetCertificate 응답 요소를 참조하세요 AWS Certificate Manager API.
GetSdkVersion()
서버 프로세스에 SDK 내장된 의 현재 버전 번호를 반환합니다.
구문
FGameLiftStringOutcome GetSdkVersion();
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공하면 는 현재 SDK 버전을 FGameLiftStringOutcome
객체로 반환합니다. 반환된 문자열에는 버전 번호만(예: “3.1.5”)을 포함합니다. 실패하면 오류 메시지를 반환합니다.
예
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();
초기화SDK()
Amazon 를 초기화합니다 GameLift SDK. 다른 Amazon GameLift관련 초기화가 발생하기 전에 시작 시 이 메서드를 호출해야 합니다.
구문
FGameLiftGenericOutcome InitSDK()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
ProcessEnding()
서버 프로세스가 종료되고 있음을 Amazon GameLift 서비스에 알립니다. 이 메서드는 모든 활성 게임 세션의 종료 등, 다른 모든 정리 작업 이후에 호출되어야 합니다. 이 메서드는 종료 코드 0으로 종료해야 합니다. 0이 아닌 종료 코드를 사용하면 프로세스가 정상적으로 종료되지 않았다는 이벤트 메시지가 표시됩니다.
구문
FGameLiftGenericOutcome ProcessEnding()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
ProcessReady()
서버 프로세스가 게임 세션을 호스팅할 준비가 되었음을 Amazon GameLift 서비스에 알립니다. 성공적으로 초기화SDK()를 호출하고, 서버 프로세스가 게임 세션을 호스트하기 전에 수행해야 하는 설정 작업을 완료한 후에만 이 메서드를 호출할 수 있습니다. 이 메서드는 프로세스당 한 번만 호출해야 합니다.
구문
FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)
파라미터
- FProcessParameters
-
다음 서버 프로세스 관련 정보를 전달하는 FProcessParameters 객체입니다.
-
Amazon GameLift 서비스가 서버 프로세스와 통신하기 위해 호출하는 게임 서버 코드에 구현된 콜백 메서드의 이름입니다.
-
서버 프로세스가 수신하는 포트 번호입니다.
-
Amazon에서 GameLift 캡처하고 저장하려는 게임 세션별 파일의 경로입니다.
필수 여부: 예
-
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
예
Unreal Engine 플러그인 사용 섹션에 있는 샘플 코드를 참조하세요.
RemovePlayerSession()
지정된 플레이어 세션 ID를 가진 플레이어가 서버 프로세스에서 연결 해제되었음을 Amazon GameLift 서비스에 알립니다. 이에 따라 Amazon은 플레이어 슬롯을 사용 가능으로 GameLift 변경하여 새 플레이어에 할당할 수 있습니다.
구문
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
파라미터
- playerSessionId
-
Amazon 작업 에 대한 호출에 대한 응답으로 Amazon GameLift GameLift API 서비스에서 발급한 고유 ID입니다 AWS SDKCreatePlayerSession. 게임 클라이언트가 서버 프로세스에 연결할 때 이 ID를 참조합니다.
유형: FString
필수 여부: 예
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
StartMatchBackfill()
로 생성된 게임 세션에서 열린 슬롯에 대한 새 플레이어를 찾으라는 요청을 보냅니다 FlexMatch. 작업StartMatchBackfill()도 참조하세요 AWS SDK. 이 작업을 사용하면 게임 세션을 호스팅하는 게임 서버 프로세스에서 매치 채우기 요청을 시작할 수 있습니다. FlexMatch 채우기 기능 에 대해 자세히 알아보세요.
이 작업은 비동기식입니다. 새 플레이어가 성공적으로 매칭되면 Amazon GameLift 서비스는 콜백 함수 를 사용하여 업데이트된 매치메이커 데이터를 전송합니다OnUpdateGameSession()
.
서버 프로세스는 한 번에 하나의 활성 매치 채우기 요청만 할 수 있습니다. 새 요청을 보내려면 먼저 StopMatchBackfill()을 호출하여 원본 요청을 취소해야 합니다.
구문
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
파라미터
- FStartMatchBackfillRequest
-
다음 정보를 전달하는 FStartMatchBackfillRequest 객체입니다.
-
채우기 요청에 할당할 티켓 ID. 이 정보는 선택 사항입니다. ID가 제공되지 않으면 Amazon에서 자동으로 ID GameLift 를 생성합니다.
-
요청을 보낼 매치메이커. 전체 구성ARN이 필요합니다. 이 값은 게임 세션의 매치메이커 데이터에서 수집할 수 있습니다.
-
백필(backfill) 중인 게임 세션의 ID.
-
게임 세션의 현재 플레이어에 대해 사용 가능한 매치메이킹 데이터.
필수 여부: 예
-
반환 값
성공하면 매치 채우기 티켓을 FGameLiftStringOutcome
객체로 반환합니다. 실패하면 오류 메시지를 반환합니다. 작업DescribeMatchmaking()을 AWS SDK 사용하여 티켓 상태를 추적할 수 있습니다.
StopMatchBackfill()
StartMatchBackfill()을 통해 생성된 활성 매치 채우기 요청을 취소합니다. AWS SDK 작업StopMatchmaking()도 참조하세요. FlexMatch 채우기 기능 에 대해 자세히 알아보세요.
구문
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
파라미터
- StopMatchBackfillRequest
-
취소할 매치메이킹 티켓을 식별하는 FStopMatchBackfillRequest 객체입니다.
-
취소 중인 채우기 요청에 할당한 티켓 ID
-
채우기 요청을 보낸 매치메이커
-
채우기 요청과 연결된 게임 세션
필수 여부: 예
-
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
TerminateGameSession()
버전 4.0.1 에서는 이 메서드를 사용하지 않습니다. 대신 게임 세션이 종료된 후에 서버 프로세스가 ProcessEnding()을 호출해야 합니다.
서버 프로세스가 현재 게임 세션을 종료했음을 Amazon GameLift 서비스에 알립니다. 이 작업은 서버 프로세스가 활성 상태를 유지하고 새 게임 세션을 호스팅할 준비가 되면 호출됩니다. 게임 세션 종료 절차가 완료된 후에만 호출해야 합니다. 서버 프로세스를 새 게임 세션을 즉시 호스팅할 수 GameLift 있다는 신호를 Amazon에 보내기 때문입니다.
게임 세션이 중지된 후 서버 프로세스가 종료되는 경우에는 이 작업이 호출되지 않습니다. 대신 ProcessEnding()을 호출하여 게임 세션과 서버 프로세스가 모두 종료되었음을 알립니다.
구문
FGameLiftGenericOutcome TerminateGameSession()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.
UpdatePlayerSessionCreationPolicy()
현재 게임 세션의 새 플레이어 세션 수락 가능성을 업데이트합니다. 모든 새 플레이어 세션을 수락하거나 거부하도록 게임 세션을 설정할 수 있습니다. (Amazon GameLift Service API 참조의 UpdateGameSession()
작업도 참조).
구문
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
파라미터
- 정책
-
게임 세션이 새 플레이어를 수락하는지 여부를 나타내는 값입니다.
유형:
EPlayerSessionCreationPolicy
열거형입니다. 유효한 값으로는 다음이 포함됩니다.-
ACCEPT_ALL – 모든 새 플레이어 세션을 수락합니다.
-
DENY_ALL – 모든 새 플레이어 세션을 거부합니다.
필수 여부: 예
-
반환 값
성공 또는 실패와 함께 오류 메시지로 구성된 일반적인 결과를 반환합니다.