Amazon GameLift Server SDK for Go: 데이터 유형 - Amazon GameLift

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

Amazon GameLift Server SDK for Go: 데이터 유형

Amazon GameLift Go 서버 SDK 5.x 참조를 사용하여 호스팅을 위한 멀티플레이어 게임을 Amazon 와 통합합니다 GameLift. 통합 프로세스에 대한 지침은 섹션을 참조하세요 GameLift 게임 서버에 Amazon 추가.

GameLiftServerAPI.go 는 Go 서버 SDK 작업을 정의합니다.

Amazon GameLift Server SDK for Go: 작업

LogParameters

게임 세션이 종료된 후 Amazon이 업로드하고 저장 GameLift 하도록 하려는 게임 세션 중에 생성된 파일을 식별하는 객체입니다. 게임 서버는 ProcessReady() 호출 LogParametersProcessParameters 객체의 GameLift 일부로 Amazon에 를 제공합니다.

속성

설명
LogPaths

Amazon이 향후 액세스를 위해 GameLift 저장할 게임 서버 로그 파일의 디렉터리 경로 목록입니다. 서버 프로세스는 각 게임 세션 중에 이러한 파일을 생성합니다. 게임 서버에서 파일 경로와 이름을 정의하고 이를 루트 게임 빌드 디렉터리에 저장합니다.

로그 경로는 절대값이어야 합니다. 예를 들어, 게임 빌드가 MyGame\sessionLogs\와 같은 경로에서 게임 세션 로그를 저장하면 이 경로는 Windows 인스턴스에서 c:\game\MyGame\sessionLogs가 됩니다.

유형: []string

필수 항목 여부: 아니요

ProcessParameters

서버 프로세스와 Amazon 간의 통신을 설명하는 객체입니다 GameLift. 서버 프로세스는 에 대한 호출 GameLift 과 함께 이 정보를 Amazon에 제공합니다ProcessReady().

속성

설명
LogParameters 게임 세션 중에 생성되는 파일에 대한 디렉터리 경로가 있는 객체입니다. Amazon은 향후 액세스를 위해 파일을 GameLift 복사하고 저장합니다.

유형: LogParameters

필수 항목 여부: 아니요

OnHealthCheck Amazon이 서버 프로세스에서 상태 보고서를 요청하기 위해 GameLift 호출하는 콜백 함수입니다. Amazon은 60초마다 이 함수를 GameLift 호출하고 응답을 위해 60초를 기다립니다. 서버 프로세스가 정상이면 TRUE를 반환하고, 정상이 아니면 FALSE를 반환합니다. 응답이 반환되지 않으면 Amazon은 서버 프로세스를 정상 상태가 아닌 것으로 GameLift 기록합니다.

유형: OnHealthCheck func() bool

필수 항목 여부: 아니요

OnProcessTerminate Amazon이 서버 프로세스를 강제로 종료하도록 GameLift 호출하는 콜백 함수입니다. 이 함수를 호출한 후 Amazon은 서버 프로세스가 종료되고 ProcessEnding() 호출로 응답할 때까지 5분 정도 기 GameLift 다린 후 서버 프로세스를 종료합니다.

유형: OnProcessTerminate func()

필수 항목 여부: 예

OnStartGameSession Amazon이 업데이트된 게임 세션 객체를 서버 프로세스에 전달하기 위해 GameLift 호출하는 콜백 함수입니다. Amazon은 업데이트된 매치메이커 데이터를 제공하기 위해 매치 채우기 요청이 처리되면 이 함수를 GameLift 호출합니다. GameSession 객체, 상태 업데이트(updateReason) 및 매치 채우기 티켓 ID를 전달합니다.

유형: OnStartGameSession func (model.GameSession )

필수 항목 여부: 예

OnUpdateGameSession Amazon이 업데이트된 게임 세션 정보를 서버 프로세스에 전달하기 위해 GameLift 호출하는 콜백 함수입니다. Amazon은 업데이트된 매치메이커 데이터를 제공하기 위해 매치 채우기 요청을 처리한 후 이 함수를 GameLift 호출합니다.

유형: OnUpdateGameSession func (model.UpdateGameSession)

필수 항목 여부: 아니요

Port 서버 프로세스가 새 플레이어 연결을 수신 대기하는 포트 번호입니다. 이 값은 이 게임 서버 빌드를 전개하는 플릿에 대해 구성된 포트 범위에 속해야 합니다. 이 포트 번호는 게임 세션 및 플레이어 세션 객체에 포함되며, 게임 세션이 서버 프로세스에 연결할 때 이 포트 번호를 사용합니다.

유형: int

필수 항목 여부: 예

UpdateGameSession

게임 세션 객체의 업데이트로, 여기에는 게임 세션이 업데이트된 이유와 게임 세션의 플레이어 세션을 채우기 위해 backfill을 사용하는 경우 관련된 채우기 티켓 ID가 포함됩니다.

속성 설명
GameSession GameSession 객체입니다. GameSession 객체에는 게임 세션을 설명하는 속성이 포함되어 있습니다.

유형: GameSession GameSession()

필수 항목 여부: 예

UpdateReason 게임 세션이 업데이트되는 이유입니다.

유형: UpdateReason UpdateReason()

필수 항목 여부: 예

BackfillTicketId 게임 세션 업데이트를 시도하는 채우기 티켓의 ID입니다.

유형: String

필수 항목 여부: 아니요

GameSession

게임 세션의 세부 정보입니다.

속성 설명
GameSessionId

게임 세션에 대한 고유 식별자입니다. 게임 세션 Amazon 리소스 이름(ARN)의 형식은 입니다arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

유형: String

필수 항목 여부: 아니요

명칭

게임 세션을 설명하는 레이블입니다.

유형: String

필수 항목 여부: 아니요

FleetId

게임 세션이 실행 중인 플릿의 고유 식별자입니다.

유형: String

필수 항목 여부: 아니요

MaximumPlayerSessionCount

게임 세션에 연결된 최대 플레이어 수입니다.

유형: Integer

필수 항목 여부: 아니요

Port

게임 세션의 포트 번호입니다. Amazon GameLift 게임 서버에 연결하려면 앱에 IP 주소와 포트 번호가 모두 필요합니다.

유형: Integer

필수 항목 여부: 아니요

IpAddress

게임 세션의 IP 주소입니다. Amazon GameLift 게임 서버에 연결하려면 앱에 IP 주소와 포트 번호가 모두 필요합니다.

유형: String

필수 항목 여부: 아니요

GameSessionData

단일 문자열 값으로 포맷된 사용자 지정 게임 세션 속성의 집합입니다.

유형: String

필수 항목 여부: 아니요

MatchmakerData

게임 세션을 생성하는 데 사용된 매치메이킹 프로세스에 대한 정보로JSON, 구문으로 문자열 형식입니다. 사용된 매치메이킹 구성 외에도 플레이어 속성 및 팀 배정을 포함하여 경기에 배정된 모든 플레이어에 대한 데이터가 포함됩니다.

유형: String

필수 항목 여부: 아니요

GameProperties

키:값 페어로 포맷된 게임 세션에 대한 사용자 정의 속성 집합입니다. 이러한 속성은 새 게임 세션을 시작하라는 요청과 함께 전달됩니다.

유형: map[string] string

필수 항목 여부: 아니요

DnsName

게임 세션을 실행 중인 인스턴스에 할당된 DNS 식별자입니다. 값은 다음 형식을 사용합니다.

  • TLS-활성화된 플릿: <unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled 플릿: ec2-<unique identifier>.compute.amazonaws.com.

TLS활성화된 플릿에서 실행 중인 게임 세션에 연결할 때는 IP 주소가 아닌 DNS 이름을 사용해야 합니다.

유형: String

필수 항목 여부: 아니요

ServerParameters

Amazon 간의 연결을 유지하는 데 사용되는 정보 GameLift Anywhere 서버 및 Amazon GameLift 서비스. 이 정보는 초기화SDK()에서 새 서버 프로세스를 시작할 때 사용됩니다. Amazon GameLift 관리형 EC2 인스턴스에서 호스팅되는 서버의 경우 빈 객체를 사용합니다.

속성 설명
WebSocketURL

GameLiftServerSdkEndpoint Amazon은 사용자가 AmazonRegisterCompute을 사용할 때 를 GameLift 반환합니다. GameLift Anywhere 컴퓨팅 리소스.

유형: string

필수 항목 여부: 예

ProcessID

게임을 호스팅하는 서버 프로세스에 등록된 고유 식별자입니다.

유형: string

필수 항목 여부: 예

HostID

새 서버 프로세스를 호스팅하는 컴퓨팅 리소스의 고유 식별자입니다.

HostID는 컴퓨터를 등록할 때 사용되는 ComputeName입니다. 자세한 내용은 RegisterCompute를 참조하세요.

유형: string

필수 항목 여부: 예

FleetID 컴퓨팅이 등록된 플릿의 고유 식별자입니다. 자세한 내용은 RegisterCompute를 참조하세요.

유형: string

필수 항목 여부: 예

AuthToken 서버를 Amazon GameLift 에 인증하는 Amazon에서 생성한 인증 토큰입니다 GameLift. 자세한 내용은 GetComputeAuthToken를 참조하세요.

유형: string

필수 항목 여부: 예

StartMatchBackfillRequest

매치메이킹 채우기 요청을 생성하는 데 사용되는 정보입니다. 게임 서버는 이 정보를 Amazon GameLift 에 StartMatchBackfill() 직접 전달합니다.

속성 설명
GameSessionArn

고유한 게임 세션 식별자입니다. API 작업은 식별자를 ARN 형식으로 GetGameSessionId 반환합니다.

유형: String

필수 항목 여부: 예

MatchmakingConfigurationArn

이 요청에 사용할 매치메이커의 고유 식별자(의 형태ARN)입니다. 원래 게임 세션ARN의 매치메이커는 매치메이커 데이터 속성의 게임 세션 객체에 있습니다. 매치메이커 데이터에 대한 자세한 내용은 매치메이커 데이터를 사용하는 작업을 참조하세요.

유형: String

필수 항목 여부: 예

Players

현재 게임 세션에 있는 모든 플레이어를 나타내는 데이터 세트입니다. 매치메이커는 이 정보를 사용하여 현재 플레이어와 적절하게 일치하는 새로운 플레이어를 검색합니다.

유형: []model.Player

필수 항목 여부: 예

TicketId

매치메이킹 또는 매치 채우기 요청 티켓의 고유 식별자입니다. 값을 제공하지 않으면 Amazon이 값을 GameLift 생성합니다. 이 식별자를 사용하여 매치 채우기 티켓 상태를 추적하거나 필요한 경우 요청을 취소합니다.

유형: String

필수 항목 여부: 아니요

Player

매치메이킹 중인 플레이어를 나타내는 객체입니다. 매치메이킹 요청을 시작할 때 플레이어는 플레이어 ID, 속성, 지연 시간 데이터를 가지고 있을 수 있습니다. Amazon은 일치가 이루어진 후 팀 정보를 GameLift 추가합니다.

속성 설명
LatencyInMS

플레이어가 특정 위치에 연결되었을 때 발생하는 지연 시간을 나타내는 값 집합으로, 밀리초 단위로 표시됩니다.

이 속성을 사용하는 경우 플레이어는 나열된 위치에서만 매칭됩니다. 매치메이커에 플레이어 지연 시간을 평가하는 규칙이 있는 경우 플레이어는 지연 시간을 보고해야 매칭됩니다.

유형: map[string] int

필수 항목 여부: 아니요

PlayerAttributes

매치메이킹에 사용할 플레이어 정보가 포함된 키:값 페어의 모음입니다. 플레이어 속성 키는 매치메이킹 규칙 세트에 PlayerAttributes 사용되는 와 일치해야 합니다.

플레이어 속성에 대한 자세한 내용은 섹션을 참조하세요AttributeValue.

유형: map[string] AttributeValue

필수 항목 여부: 아니요

PlayerId

플레이어의 고유 식별자입니다.

유형: String

필수 항목 여부: 아니요

Team

매치에서 플레이어가 배정되는 팀의 이름입니다. 매치메이킹 규칙 세트에 팀 이름을 정의합니다.

유형: String

필수 항목 여부: 아니요

DescribePlayerSessionsRequest

검색할 플레이어 세션을 지정하는 객체입니다. 서버 프로세스는 Amazon 에 대한 DescribePlayerSessions() 호출과 함께 이 정보를 제공합니다 GameLift.

속성 설명
GameSessionID

고유한 게임 세션 식별자입니다. 지정한 게임 세션의 모든 플레이어 세션을 요청하려면 이 파라미터를 사용합니다.

게임 세션 ID 형식은 arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string> 입니다. GameSessionID는 사용자 지정 ID 문자열 또는 생성된 문자열입니다.

유형: String

필수 항목 여부: 아니요

PlayerSessionID

플레이어 세션의 고유 식별자입니다. 이 파라미터를 사용하여 단일 특정 플레이어 세션을 요청합니다.

유형: String

필수 항목 여부: 아니요

PlayerID

플레이어의 고유 식별자입니다. 이 파라미터를 사용하여 특정 플레이어에 대한 모든 플레이어 세션을 요청합니다. 플레이어 ID 생성을 참조하세요.

유형: String

필수 항목 여부: 아니요

PlayerSessionStatusFilter

결과를 필터링하는 기준이 되는 플레이어 세션 상태입니다. 다음과 같은 플레이어 세션 상태가 가능합니다.

  • RESERVED - 플레이어 세션 요청이 수신되었지만 플레이어가 서버 프로세스에 연결되지 않았거나 검증되지 않았습니다.

  • ACTIVE - 플레이어가 서버 프로세스에 의해 검증되었으며 연결되어 있습니다.

  • COMPLETED – 플레이어 연결이 끊어졌습니다.

  • TIMEDOUT - 플레이어 세션 요청이 수신되었지만 플레이어가 연결되지 않았거나 제한 시간(60초) 내에 검증되지 않았습니다.

유형: String

필수 항목 여부: 아니요

NextToken

결과의 다음 페이지의 시작을 나타내는 토큰입니다. 결과 집합의 시작을 지정하려면 값을 제공하지 않습니다. 플레이어 세션 ID가 제공된 경우 이 파라미터가 무시됩니다.

유형: String

필수 항목 여부: 아니요

Limit

반환할 최대 결과 수입니다. 플레이어 세션 ID가 제공된 경우 이 파라미터가 무시됩니다.

유형: int

필수 항목 여부: 아니요

StopMatchBackfillRequest

매치메이킹 채우기 요청을 취소하는 데 사용되는 정보입니다. 게임 서버는 이 정보를 Amazon GameLift 서비스에 StopMatchBackfill() 직접 전달합니다.

속성 설명
GameSessionArn

취소 중인 요청의 고유한 게임 세션 식별자입니다.

유형: string

필수 항목 여부: 아니요

MatchmakingConfigurationArn

이 요청을 보낸 매치메이커의 고유 식별자입니다.

유형: string

필수 항목 여부: 아니요

TicketId

취소할 채우기 요청 티켓의 고유 식별자입니다.

유형: string

필수 항목 여부: 아니요

GetFleetRoleCredentialsRequest

AWS 리소스에 대한 제한된 액세스를 게임 서버로 확장하는 역할 자격 증명입니다. 자세한 내용은 Amazon에 대한 IAM 서비스 역할 설정 GameLift 단원을 참조하십시오.

속성 설명
RoleArn 리소스에 대한 제한된 액세스를 확장하는 서비스 역할ARN의 입니다 AWS .

유형: string

필수 항목 여부: 예

RoleSessionName 역할 자격 증명의 사용을 설명하는 세션 이름입니다.

유형: string

필수 항목 여부: 예