

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

# Amazon GameLift Servers용 Go 서버 SDK - 작업
<a name="integration-server-sdk-go-actions"></a>

해당 서버 SDK 5.x 참조를 사용하여 Amazon GameLift Servers와 함께 호스팅할 멀티플레이어 게임을 통합합니다. 통합 프로세스에 대한 지침은 [서버 SDK를 사용하여 게임 서버에 Amazon GameLift Servers를 추가합니다.](gamelift-sdk-server-api.md) 페이지를 참조하세요.

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

# Amazon GameLift Servers용 Go 서버 SDK - 데이터 유형
<a name="integration-server-sdk-go-datatypes"></a>

해당 서버 SDK 참조를 사용하여 Amazon GameLift Servers와 함께 호스팅할 멀티플레이어 게임을 통합합니다. 통합 프로세스에 대한 지침은 [서버 SDK를 사용하여 게임 서버에 Amazon GameLift Servers를 추가합니다.](gamelift-sdk-server-api.md) 페이지를 참조하세요.

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

[Amazon GameLift Servers용 Go 서버 SDK - 작업](integration-server-sdk-go-actions.md)

**Topics**
+ [LogParameters](#integration-server-sdk-go-dataypes-log)
+ [MetricsParameters](#integration-server-sdk-go-dataypes-metrics)
+ [ProcessParameters](#integration-server-sdk-go-dataypes-process)
+ [UpdateGameSession](#integration-server-sdk-go-dataypes-updategamesession)
+ [GameSession](#integration-server-sdk-go-dataypes-gamesession)
+ [ServerParameters](#integration-server-sdk-go-dataypes-serverparameters)
+ [StartMatchBackfillRequest](#integration-server-sdk-go-dataypes-startmatchbackfillrequest)
+ [Player](#integration-server-sdk-go-dataypes-player)
+ [DescribePlayerSessionsRequest](#integration-server-sdk-go-dataypes-playersessions)
+ [StopMatchBackfillRequest](#integration-server-sdk-go-dataypes-stopmatchbackfillrequest)
+ [GetFleetRoleCredentialsRequest](#integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest)

## LogParameters
<a name="integration-server-sdk-go-dataypes-log"></a>

Amazon GameLift Servers가 게임 세션 종료 후 업로드하고 저장하기를 원하는 게임 세션 중에 생성된 파일을 식별하는 객체입니다. 게임 서버는 [ProcessReady()](integration-server-sdk-go-actions.md#integration-server-sdk-go-processready) 호출 시 `ProcessParameters` 객체의 일부로 `LogParameters`를 Amazon GameLift Servers에 제공합니다.


|  |  | 
| --- |--- |
|  **속성**  | 설명 | 
| LogPaths |  Amazon GameLift Servers가 향후 사용을 위해 저장하도록 하려는 게임 서버 로그 파일의 디렉터리 경로 목록입니다. 서버 프로세스는 각 게임 세션 중에 이러한 파일을 생성합니다. 게임 서버에서 파일 경로와 이름을 정의하고 이를 루트 게임 빌드 디렉터리에 저장합니다. 로그 경로는 절대값이어야 합니다. 예를 들어, 게임 빌드가 `MyGame\sessionLogs\`와 같은 경로에서 게임 세션 로그를 저장하면 이 경로는 Windows 인스턴스에서 `c:\game\MyGame\sessionLogs`가 됩니다. **유형**: `[]string` **필수 항목 여부**: 아니요  | 

## MetricsParameters
<a name="integration-server-sdk-go-dataypes-metrics"></a>

지표 시스템을 초기화하기 위해 구성 파라미터를 전달하는 객체입니다. 이 구성은 StatsD 보고, 충돌 보고 및 지표 처리 동작을 설정하는 데 사용됩니다. 게임 서버는 [InitMetrics()](integration-server-sdk-go-actions.md#integration-server-sdk-go-initmetrics) 호출의 일부로 `MetricsParameters`를 Amazon GameLift Servers에 제공합니다.


|  |  | 
| --- |--- |
|  **속성**  | 설명 | 
| StatsdHost |  지표 보고를 위한 StatsD 서버 호스트(예: "localhost"). **유형**: `string` **필수 항목 여부**: 예  | 
| StatsdPort |  지표 보고를 위한 StatsD 서버 포트(예: 8125). **유형**: `int` **필수 항목 여부**: 예  | 
| CrashReporterHost |  충돌 추적 및 프로세스 모니터링을 위한 충돌 리포터 호스트입니다. **유형**: `string` **필수 항목 여부**: 예  | 
| CrashReporterPort |  충돌 추적 및 프로세스 모니터링을 위한 충돌 리포터 포트입니다. **유형**: `int` **필수 항목 여부**: 예  | 
| FlushIntervalMs |  밀리초 단위의 지표 플러시 간격. 지표가 StatsD로 전송되는 빈도를 제어합니다. **유형**: `int` **필수 항목 여부**: 예  | 
| MaxPacketSize |  바이트 단위의 지표에 대한 최대 패킷 크기. StatsD로 전송되는 UDP 패킷의 크기를 제한합니다. **유형**: `int` **필수 항목 여부**: 예  | 

## ProcessParameters
<a name="integration-server-sdk-go-dataypes-process"></a>

서버 프로세스와 Amazon GameLift Servers 간의 통신을 설명하는 객체입니다. 서버 프로세스는 [ProcessReady()](integration-server-sdk-go-actions.md#integration-server-sdk-go-processready)를 호출하여 이 정보를 Amazon GameLift Servers에 제공합니다.


|  |  | 
| --- |--- |
|  **속성**  | 설명 | 
| LogParameters | 게임 세션 중에 생성되는 파일에 대한 디렉터리 경로가 있는 객체입니다. Amazon GameLift Servers는 나중에 액세스할 수 있도록 파일을 복사하고 저장합니다.**유형**: `LogParameters`**필수 항목 여부**: 아니요 | 
| OnHealthCheck | Amazon GameLift Servers가 서버 프로세스에서 상태 보고서를 요청하기 위해 간접 호출하는 콜백 함수입니다. Amazon GameLift Servers는 60초 간격으로 이 기능을 호출하고 60초 동안 응답을 기다립니다. 서버 프로세스가 정상이면 TRUE를 반환하고, 정상이 아니면 FALSE를 반환합니다. 응답이 반환되지 않으면 Amazon GameLift Servers는 서버 프로세스를 정상이 아닌 것으로 기록합니다.**유형**: `OnHealthCheck func() bool`**필수 항목 여부**: 아니요 | 
| OnProcessTerminate | Amazon GameLift Servers가 서버 프로세스를 강제로 종료하기 위해 간접 호출하는 콜백 함수입니다. 이 함수를 호출한 후 Amazon GameLift Servers는 서버 프로세스가 종료될 때까지 5분을 기다렸다가 [ProcessEnding()](integration-server-sdk-go-actions.md#integration-server-sdk-go-processending) 호출로 응답한 후 서버 프로세스를 종료합니다.**유형**: `OnProcessTerminate func()`**필수 항목 여부**: 예 | 
| OnStartGameSession | Amazon GameLift Servers가 업데이트된 게임 세션 객체를 전달하기 위해 간접 호출하는 콜백 함수입니다. 매치 채우기 요청이 처리되면 업데이트된 매치메이커 데이터를 제공하기 위해 Amazon GameLift Servers에서 이 함수를 호출합니다. [GameSession](#integration-server-sdk-go-dataypes-gamesession) 객체, 상태 업데이트(updateReason) 및 매치 채우기 티켓 ID를 전달합니다.**유형**: `OnStartGameSession func (model.GameSession )`**필수 항목 여부**: 예 | 
| OnUpdateGameSession | Amazon GameLift Servers가 업데이트된 게임 세션 정보를 전달하기 위해 간접 호출하는 콜백 함수입니다. 매치 채우기 요청이 처리된 후 업데이트된 매치메이커 데이터를 제공하기 위해 Amazon GameLift Servers에서 이 함수를 호출합니다.**유형**: `OnUpdateGameSession func (model.UpdateGameSession)`**필수 항목 여부**: 아니요 | 
| Port | 서버 프로세스가 새 플레이어 연결을 수신 대기하는 포트 번호입니다. 이 값은 이 게임 서버 빌드를 전개하는 플릿에 대해 구성된 포트 범위에 속해야 합니다. 이 포트 번호는 게임 세션 및 플레이어 세션 객체에 포함되며, 게임 세션이 서버 프로세스에 연결할 때 이 포트 번호를 사용합니다.**유형**: `int`**필수 항목 여부**: 예 | 

## UpdateGameSession
<a name="integration-server-sdk-go-dataypes-updategamesession"></a>

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


| 속성 | **설명** | 
| --- | --- | 
| GameSession | [GameSession](#integration-server-sdk-go-dataypes-gamesession) 객체입니다. GameSession 객체에는 게임 세션을 설명하는 속성이 포함되어 있습니다.**유형**: `GameSession GameSession()`**필수 항목 여부**: 예 | 
| UpdateReason | 게임 세션이 업데이트되는 이유입니다.**유형**: `UpdateReason UpdateReason()`**필수 항목 여부**: 예 | 
| BackfillTicketId | 게임 세션 업데이트를 시도하는 채우기 티켓의 ID입니다.**유형**: `String`**필수 항목 여부**: 아니요 | 

## GameSession
<a name="integration-server-sdk-go-dataypes-gamesession"></a>

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


| 속성 | **설명** | 
| --- | --- | 
| 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 Servers 게임 서버에 연결하려면 앱에 IP 주소와 포트 번호가 모두 필요합니다. **유형**: `Integer` **필수 항목 여부**: 아니요  | 
| IpAddress |  게임 세션의 IP 주소입니다. Amazon GameLift Servers 게임 서버에 연결하려면 앱에 IP 주소와 포트 번호가 모두 필요합니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| GameSessionData |  단일 문자열 값으로 포맷된 사용자 지정 게임 세션 속성의 집합입니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| MatchmakerData |  게임 세션을 생성하는 데 사용된 매치메이킹 프로세스에 대한 정보(JSON 구문 사용, 문자열 형식). 사용된 매치메이킹 구성 외에도 플레이어 속성 및 팀 배정을 포함하여 경기에 배정된 모든 플레이어에 대한 데이터가 포함됩니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| GameProperties |  키:값 페어로 포맷된 게임 세션에 대한 사용자 정의 속성 집합입니다. 이러한 속성은 새 게임 세션을 시작하라는 요청과 함께 전달됩니다. **유형**: `map[string] string` **필수 항목 여부**: 아니요  | 
| DnsName |  게임 세션을 실행하는 인스턴스에 할당된 DNS 식별자입니다. 값은 다음 형식을 사용합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/gameliftservers/latest/developerguide/integration-server-sdk-go-datatypes.html) TLS 지원 플릿에서 실행되는 게임 세션에 연결할 때는 IP 주소가 아닌 DNS 이름을 사용해야 합니다. **유형**: `String` **필수 항목 여부**: 아니요  | 

## ServerParameters
<a name="integration-server-sdk-go-dataypes-serverparameters"></a>

Amazon GameLift Servers Anywhere 서버와 Amazon GameLift Servers 서비스 간의 연결을 유지하는 데 사용되는 정보입니다. 이 정보는 [InitSDK()](integration-server-sdk-go-actions.md#integration-server-sdk-go-initsdk)에서 새 서버 프로세스를 시작할 때 사용됩니다. Amazon GameLift Servers 관리형 EC2 인스턴스에 호스팅되는 서버의 경우 빈 객체를 사용합니다.


| 속성 | **설명** | 
| --- | --- | 
| WebSocketURL |  Amazon GameLift Servers Anywhere 컴퓨팅 리소스에 대해 [https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)를 수행하면 `GameLiftServerSdkEndpoint` Amazon GameLift Servers가 반환됩니다. **유형**: `string` **필수 항목 여부**: 예  | 
| ProcessID |  게임을 호스팅하는 서버 프로세스에 등록된 고유 식별자입니다. **유형**: `string` **필수 항목 여부**: 예  | 
| HostID |  새 서버 프로세스를 호스팅하는 컴퓨팅 리소스의 고유 식별자입니다. `HostID`는 컴퓨터를 등록할 때 사용되는 `ComputeName`입니다. 자세한 내용은 [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)를 참조하세요. **유형**: `string` **필수 항목 여부**: 예  | 
| FleetID | 컴퓨팅이 등록된 플릿의 고유 식별자입니다. 자세한 내용은 [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)를 참조하세요.**유형**: `string`**필수 항목 여부**: 예 | 
| AuthToken | Amazon GameLift Servers에서 생성한 인증 토큰으로, Amazon GameLift Servers에 서버를 인증합니다. 자세한 내용은 [GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html)을 참조하세요.**유형**: `string`**필수 항목 여부**: 예 | 

## StartMatchBackfillRequest
<a name="integration-server-sdk-go-dataypes-startmatchbackfillrequest"></a>

매치메이킹 채우기 요청을 생성하는 데 사용되는 정보입니다. 게임 서버는 [StartMatchBackfill()](integration-server-sdk-go-actions.md#integration-server-sdk-go-startmatchbackfill) 호출을 통해 이 정보를 Amazon GameLift Servers에 전달합니다.


| 속성 | **설명** | 
| --- | --- | 
| GameSessionArn |  고유한 게임 세션 식별자입니다. API 작업 `[GetGameSessionId](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-server-sdk-go-actions.html#integration-server-sdk-go-getgamesessionid)`는 ARN 형식의 식별자를 반환합니다. **유형**: `String` **필수 항목 여부**: 예  | 
| MatchmakingConfigurationArn |  매치메이커가 이 요청에 사용할 (ARN 형식의) 고유 식별자입니다. 원본 게임 세션에 대한 매치메이커 ARN은 매치메이커 데이터 속성의 게임 세션 객체에 있습니다. 매치메이커 데이터에 대한 자세한 내용은 [매치메이커 데이터를 사용하는 작업](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-server.html#match-server-data.html)을 참조하세요. **유형**: `String` **필수 항목 여부**: 예  | 
| Players |  현재 게임 세션에 있는 모든 플레이어를 나타내는 데이터 세트입니다. 매치메이커는 이 정보를 사용하여 현재 플레이어와 적절하게 일치하는 새로운 플레이어를 검색합니다. **유형**: `[]model.Player` **필수 항목 여부**: 예  | 
| TicketId |  매치메이킹 또는 매치 채우기 요청 티켓의 고유 식별자입니다. 값을 제공하지 않으면 Amazon GameLift Servers에서 값을 생성합니다. 이 식별자를 사용하여 매치 채우기 티켓 상태를 추적하거나 필요한 경우 요청을 취소합니다. **유형**: `String` **필수 항목 여부**: 아니요  | 

## Player
<a name="integration-server-sdk-go-dataypes-player"></a>

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


| 속성 | **설명** | 
| --- | --- | 
| LatencyInMS |  플레이어가 특정 위치에 연결되었을 때 발생하는 지연 시간을 나타내는 값 집합으로, 밀리초 단위로 표시됩니다. 이 속성을 사용하는 경우 플레이어는 나열된 위치에서만 매칭됩니다. 매치메이커에 플레이어 지연 시간을 평가하는 규칙이 있는 경우 플레이어는 지연 시간을 보고해야 매칭됩니다. **유형**: `map[string] int` **필수 항목 여부**: 아니요  | 
| PlayerAttributes |  매치메이킹에 사용할 플레이어 정보가 포함된 키:값 페어의 모음입니다. 플레이어 속성 키는 매치메이킹 규칙 세트에 사용되는 PlayerAttributes와 일치해야 합니다. 플레이어 속성에 대한 자세한 내용은 [AttributeValue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_AttributeValue.html)를 참조하세요. **유형**: `map[string] AttributeValue` **필수 항목 여부**: 아니요  | 
| PlayerId |  플레이어의 고유 식별자입니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| Team |  매치에서 플레이어가 배정되는 팀의 이름입니다. 매치메이킹 규칙 세트에 팀 이름을 정의합니다. **유형**: `String` **필수 항목 여부**: 아니요  | 

## DescribePlayerSessionsRequest
<a name="integration-server-sdk-go-dataypes-playersessions"></a>

검색할 플레이어 세션을 지정하는 객체입니다. 서버 프로세스는 Amazon GameLift Servers로 [DescribePlayerSessions()](integration-server-sdk-go-actions.md#integration-server-sdk-go-describeplayersessions) 호출을 통해 이 정보를 제공합니다.


| 속성 | **설명** | 
| --- | --- | 
| GameSessionID |  고유한 게임 세션 식별자입니다. 지정한 게임 세션의 모든 플레이어 세션을 요청하려면 이 파라미터를 사용합니다. 게임 세션 ID 형식은 `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>` 입니다. `GameSessionID`는 사용자 지정 ID 문자열 또는 생성된 문자열입니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| PlayerSessionID |  플레이어 세션의 고유 식별자입니다. 이 파라미터를 사용하여 단일 특정 플레이어 세션을 요청합니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| PlayerID |  플레이어의 고유 식별자입니다. 이 파라미터를 사용하여 특정 플레이어에 대한 모든 플레이어 세션을 요청합니다. [플레이어 ID 생성](player-sessions-player-identifiers.md)을(를) 참조하세요. **유형**: `String` **필수 항목 여부**: 아니요  | 
| PlayerSessionStatusFilter |  결과를 필터링하는 기준이 되는 플레이어 세션 상태입니다. 다음과 같은 플레이어 세션 상태가 가능합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/gameliftservers/latest/developerguide/integration-server-sdk-go-datatypes.html) **유형**: `String` **필수 항목 여부**: 아니요  | 
| NextToken |  결과의 다음 페이지의 시작을 나타내는 토큰입니다. 결과 집합의 시작을 지정하려면 값을 제공하지 않습니다. 플레이어 세션 ID가 제공된 경우 이 파라미터가 무시됩니다. **유형**: `String` **필수 항목 여부**: 아니요  | 
| Limit |  반환할 최대 결과 수입니다. 플레이어 세션 ID가 제공된 경우 이 파라미터가 무시됩니다. **유형**: `int` **필수 항목 여부**: 아니요  | 

## StopMatchBackfillRequest
<a name="integration-server-sdk-go-dataypes-stopmatchbackfillrequest"></a>

매치메이킹 채우기 요청을 취소하는 데 사용되는 정보입니다. 게임 서버는 [StopMatchBackfill()](integration-server-sdk-go-actions.md#integration-server-sdk-go-stopmatchbackfill) 호출을 통해 이 정보를 Amazon GameLift Servers 서비스에 전달합니다.


| 속성 | **설명** | 
| --- | --- | 
| GameSessionArn |  취소 중인 요청의 고유한 게임 세션 식별자입니다. **유형**: `string` **필수 항목 여부**: 아니요  | 
| MatchmakingConfigurationArn |  이 요청을 보낸 매치메이커의 고유 식별자입니다. **유형**: `string` **필수 항목 여부**: 아니요  | 
| TicketId |  취소할 채우기 요청 티켓의 고유 식별자입니다. **유형**: `string` **필수 항목 여부**: 아니요  | 

## GetFleetRoleCredentialsRequest
<a name="integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest"></a>

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


| 속성 | **설명** | 
| --- | --- | 
| RoleArn |  AWS 리소스에 대한 제한된 액세스를 확장하는 서비스 역할의 ARN입니다.**유형**: `string`**필수 항목 여부**: 예 | 
| RoleSessionName | 역할 자격 증명의 사용을 설명하는 세션 이름입니다.**유형**: `string`**필수 항목 여부**: 예 | 

[Amazon GameLift Servers용 Go 서버 SDK - 데이터 유형](integration-server-sdk-go-datatypes.md)

**Topics**
+ [Amazon GameLift Servers용 Go 서버 SDK - 데이터 유형](integration-server-sdk-go-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk-go-getsdkversion)
+ [InitMetrics()](#integration-server-sdk-go-initmetrics)
+ [InitMetricsFromEnvironment()](#integration-server-sdk-go-initmetricsfromenv)
+ [InitSDK()](#integration-server-sdk-go-initsdk)
+ [ProcessReady()](#integration-server-sdk-go-processready)
+ [ProcessEnding()](#integration-server-sdk-go-processending)
+ [ActivateGameSession()](#integration-server-sdk-go-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-go-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk-go-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk-go-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk-go-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk-go-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk-go-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk-go-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-go-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk-go-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk-go-getfleetrolecredentials)
+ [Destroy()](#integration-server-sdk-go-destroy)

## GetSdkVersion()
<a name="integration-server-sdk-go-getsdkversion"></a>

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

### 구문
<a name="integration-server-sdk-go-getsdkversion-syntax"></a>

```
func GetSdkVersion() (string, error)
```

### 반환 값
<a name="integration-server-sdk-go-getsdkversion-return"></a>

성공하면 현재 SDK 버전을 문자열로 반환합니다. 반환된 문자열에는 버전 번호(예: `5.0.0`)가 포함됩니다. 실패하면 오류 메시지(예: `common.SdkVersionDetectionFailed`)를 반환합니다.

### 예제
<a name="integration-server-sdk-go-getsdkversion-example"></a>

```
version, err := server.GetSdkVersion()
```

## InitMetrics()
<a name="integration-server-sdk-go-initmetrics"></a>

Amazon GameLift Servers SDK에 대한 지표 수집을 초기화합니다. 이 메서드는 서버 성능 및 상태를 모니터링하는 데 도움이 되는 지표 보고를 설정합니다. [InitSDK()](#integration-server-sdk-go-initsdk) 이후 [ProcessReady()](#integration-server-sdk-go-processready) 이전에 이 메서드를 호출합니다.

### 구문
<a name="integration-server-sdk-go-initmetrics-syntax"></a>

```
func InitMetrics() error
func InitMetrics(metricsParameters MetricsParameters) error
```

### 파라미터
<a name="integration-server-sdk-go-initmetrics-parameter"></a>

MetricsParameters(선택 사항)  
지표 수집을 구성하는 `MetricsParameters` 객체입니다. 제공되지 않은 경우 기본 지표 구성이 사용됩니다. MetricsParameters 구조는 다음 필드를 포함합니다.  
+ `StatsdHost` - StatsD 서버의 호스트 이름 또는 IP 주소.
+ `StatsdPort` - StatsD 서버의 포트 번호.
+ `CrashReporterHost` - 충돌 리포터 서비스의 호스트 이름 또는 IP 주소.
+ `CrashReporterPort` - 충돌 리포터 서비스의 포트 번호.
+ `FlushIntervalMs` - 지표 데이터 플러시에 대한 밀리초 단위의 간격.
+ `MaxPacketSize` - 바이트 단위의 지표 패킷 최대 크기.
MetricsParameters 구조에 대한 자세한 내용은 [C\$1 서버 SDK 5.x - 데이터 유형](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-server-sdk5-csharp-datatypes.html)을 참조하세요.

### 반환 값
<a name="integration-server-sdk-go-initmetrics-return"></a>

성공하면 지표 수집이 성공적으로 초기화되었음을 나타내는 `nil` 오류가 반환됩니다.

### 예제
<a name="integration-server-sdk-go-initmetrics-example"></a>

기본 구성으로 지표 초기화:

```
err := server.InitMetrics()
```

사용자 지정 구성으로 지표 초기화:

```
metricsParams := MetricsParameters{
    StatsdHost:        "localhost",
    StatsdPort:        8125,
    CrashReporterHost: "localhost",
    CrashReporterPort: 9125,
    FlushIntervalMs:   5000,
    MaxPacketSize:     1024,
}

err := server.InitMetrics(metricsParams)
```

## InitMetricsFromEnvironment()
<a name="integration-server-sdk-go-initmetricsfromenv"></a>

환경 변수에서 구성을 사용하여 Amazon GameLift Servers SDK에 대한 지표 수집을 초기화합니다. 이 메서드는 런타임 환경에서 파생된 기본 설정을 사용하여 지표 보고를 설정합니다.

[InitSDK()](#integration-server-sdk-go-initsdk) 이후 [ProcessReady()](#integration-server-sdk-go-processready) 이전에 이 메서드를 호출합니다.

### 구문
<a name="integration-server-sdk-go-initmetricsfromenv-syntax"></a>

```
func InitMetricsFromEnvironment() error
```

### 반환 값
<a name="integration-server-sdk-go-initmetricsfromenv-return"></a>

성공하면 지표 수집이 환경 구성을 사용하여 성공적으로 초기화되었음을 나타내는 `nil` 오류가 반환됩니다.

### 예제
<a name="integration-server-sdk-go-initmetricsfromenv-example"></a>

```
err := server.InitMetricsFromEnvironment()
```

## InitSDK()
<a name="integration-server-sdk-go-initsdk"></a>

Amazon GameLift Servers SDK를 초기화합니다. Amazon GameLift Servers와 관련된 다른 초기화가 발생하기 전에 시작 시 이 메서드를 호출합니다. 이 메서드는 서버와 Amazon GameLift Servers 서비스 간의 통신을 설정합니다.

### 구문
<a name="integration-server-sdk-go-initsdk-syntax"></a>

```
func InitSDK(params ServerParameters) error 
```

### 파라미터
<a name="integration-server-sdk-go-initsdk-parameter"></a>

[ServerParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-serverparameters)  
Amazon GameLift Servers Anywhere 플릿에서 게임 서버를 초기화하려면 다음 정보를 사용하여 `ServerParameters` 객체를 구성합니다.  
+ 게임 서버에 연결하는 데 사용되는 WebSocket의 URL입니다.
+ 게임 서버를 호스팅하는 데 사용되는 프로세스의 ID입니다.
+ 게임 서버 프로세스를 호스팅하는 컴퓨팅의 ID입니다.
+ Amazon GameLift Servers Anywhere 컴퓨팅이 포함된 Amazon GameLift Servers 플릿의 ID입니다.
+ Amazon GameLift Servers 작업을 통해 생성된 인증 토큰입니다.
Amazon GameLift Servers 관리형 EC2 플릿에서 게임 서버를 초기화하려면 파라미터 없이 `ServerParameters` 객체를 구성합니다. 이 호출을 통해, Amazon GameLift Servers 에이전트는 컴퓨팅 환경을 설정하고 자동으로 Amazon GameLift Servers 서비스에 연결합니다.

### 반환 값
<a name="integration-server-sdk-go-initsdk-return"></a>

성공하는 경우, 서버 프로세스가 [ProcessReady()](#integration-server-sdk-go-processready)를 호출할 준비가 되었음을 나타내는 `nil` 오류를 반환합니다.

**참고**  
Anywhere 플릿에 배포된 게임 빌드에 대한 `InitSDK()`로의 호출이 실패하는 경우 빌드 리소스를 생성할 때 사용된 `ServerSdkVersion` 파라미터를 확인합니다. 명시적으로 이 값을 사용 중인 Server SDK 버전으로 설정해야 합니다. 이 파라미터의 기본값은 4.x이며 호환되지 않습니다. 이 문제를 해결하려면 새 빌드를 생성하여 새 플릿에 배포해야 합니다.

### 예제
<a name="integration-server-sdk-go-initsdk-example"></a>

Amazon GameLift Servers Anywhere 예제

```
//Define the server parameters
serverParameters := ServerParameters {
  WebSocketURL: "wss://us-west-1.api.amazongamelift.com",
  ProcessID: "PID1234",
  HostID: "HardwareAnywhere",
  FleetID: "aarn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa",
  AuthToken: "1111aaaa-22bb-33cc-44dd-5555eeee66ff"
}

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
err := server.InitSDK(serverParameters)
```

Amazon GameLift Servers 관리형 EC2 예제

```
//Define the server parameters
serverParameters := ServerParameters {}

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
err := server.InitSDK(serverParameters)
```

## ProcessReady()
<a name="integration-server-sdk-go-processready"></a>

Amazon GameLift Servers에 서버 프로세스가 게임 세션을 호스팅할 준비가 되었음을 알립니다. [InitSDK()](#integration-server-sdk-go-initsdk) 호출 후 이 메서드를 호출합니다. 이 메서드는 프로세스당 한 번만 호출해야 합니다.

### 구문
<a name="integration-server-sdk-go-processready-syntax"></a>

```
func ProcessReady(param ProcessParameters) error
```

### 파라미터
<a name="integration-server-sdk-go-processready-parameter"></a>

**ProcessParameters**  
다음 서버 프로세스 관련 정보를 전달하는 [ProcessParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-process) 객체입니다.  
+ 게임 서버 코드에 구현되어 있는 콜백 메서드의 이름으로, 서버 프로세스와 통신할 수 있도록 Amazon GameLift Servers 서비스가 간접 호출하는 메서드입니다.
+ 서버 프로세스가 수신하는 포트 번호입니다.
+ Amazon GameLift Servers가 캡처 및 저장하도록 하려는 모든 게임 세션별 파일에 대한 경로를 포함하는 [LogParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-log) 데이터 유형입니다.

### 반환 값
<a name="integration-server-sdk-go-processready-return"></a>

메서드가 실패하면 오류 메시지와 함께 오류를 반환합니다. 메서드가 성공한 경우 `nil`를 반환합니다.

### 예제
<a name="integration-server-sdk-go-processready-example"></a>

이 예에서는 [ProcessReady()](#integration-server-sdk-go-processready) 호출 및 위임 함수 구현을 모두 보여줍니다.

```
// Define the process parameters
processParams := ProcessParameters {
  OnStartGameSession: gameProcess.OnStartGameSession,
  OnUpdateGameSession: gameProcess.OnGameSessionUpdate,
  OnProcessTerminate: gameProcess.OnProcessTerminate,
  OnHealthCheck: gameProcess.OnHealthCheck,
  Port: port,
  LogParameters: LogParameters {    // logging and error example
    []string {"C:\\game\\logs", "C:\\game\\error"}
  }
}

err := server.ProcessReady(processParams)
```

## ProcessEnding()
<a name="integration-server-sdk-go-processending"></a>

서버 프로세스가 종료 중임을 Amazon GameLift Servers에 알립니다. 활성 게임 세션의 종료 등 다른 모든 정리 작업 이후 및 프로세스를 종료하기 전에 이 메서드를 호출합니다. `ProcessEnding()`의 결과에 따라 프로세스가 성공(0) 또는 오류(-1)로 종료되고 플릿 이벤트가 생성됩니다. 오류가 발생하여 프로세스가 종료되는 경우 생성되는 플릿 이벤트는 `SERVER_PROCESS_TERMINATED_UNHEALTHY`입니다.

### 구문
<a name="integration-server-sdk-go-processending-syntax"></a>

```
func ProcessEnding() error
```

### 반환 값
<a name="integration-server-sdk-go-processending-return"></a>

0 오류 코드 또는 정의된 오류 코드를 반환합니다.

### 예제
<a name="integration-server-sdk-go-processending-example"></a>

```
// operations to end game sessions and the server process
defer func() {
  err := server.ProcessEnding()
  server.Destroy()
  if err != nil {
    fmt.Println("ProcessEnding() failed. Error: ", err)
    os.Exit(-1)
  } else {
    os.Exit(0)
  }
}
```

## ActivateGameSession()
<a name="integration-server-sdk-go-activategamesession"></a>

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

### 구문
<a name="integration-server-sdk-go-activategamesession-syntax"></a>

```
func ActivateGameSession() error
```

### 반환 값
<a name="integration-server-sdk-go-activategamesession-return"></a>

메서드가 실패하면 오류 메시지와 함께 오류를 반환합니다.

### 예제
<a name="integration-server-sdk-go-activategamesession-example"></a>

이 예에서는 `onStartGameSession()` 위임 함수의 일부로 `ActivateGameSession()`이 호출되는 것을 보여줍니다.

```
func OnStartGameSession(GameSession gameSession) {
  // game-specific tasks when starting a new game session, such as loading map   
  // Activate when ready to receive players   
  err := server.ActivateGameSession();
}
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy"></a>

현재 게임 세션의 새 플레이어 세션 수락 가능성을 업데이트합니다. 모든 새 플레이어 세션을 수락하거나 거부하도록 게임 세션을 설정할 수 있습니다.

### 구문
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-syntax"></a>

```
func UpdatePlayerSessionCreationPolicy(policy model.PlayerSessionCreationPolicy) error
```

### 파라미터
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-parameter"></a>

**playerSessionCreationPolicy**  
게임 세션이 새 플레이어를 수락하는지 여부를 나타내는 문자열 값입니다.  
유효한 값으로는 다음이 포함됩니다.  
+ **`model.AcceptAll`** - 모든 새 플레이어 세션을 수락합니다.
+ **`model.DenyAll`** - 모든 새 플레이어 세션을 거부합니다.

### 반환 값
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-return"></a>

오류가 발생하면 오류 메시지와 함께 오류를 반환합니다.

### 예제
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-example"></a>

이 예는 모든 플레이어를 수락하도록 현재 게임 세션의 참여 정책을 설정합니다.

```
err := server.UpdatePlayerSessionCreationPolicy(model.AcceptAll)
```

## GetGameSessionId()
<a name="integration-server-sdk-go-getgamesessionid"></a>

활성 서버 프로세스가 호스팅된 게임 세션의 ID를 가져옵니다.

### 구문
<a name="integration-server-sdk-go-getgamesessionid-syntax"></a>

```
func GetGameSessionID() (string, error)
```

### 파라미터
<a name="integration-server-sdk-go-getgamesessionid-parameter"></a>

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

### 반환 값
<a name="integration-server-sdk-go-getgamesessionid-return"></a>

성공하면 게임 세션 ID 및 nil 오류를 반환합니다. 게임 세션으로 활성화되지 않은 유휴 프로세스의 경우 호출은 빈 문자열과 `nil` 오류를 반환합니다.

### 예제
<a name="integration-server-sdk-go-getgamesessionid-example"></a>

```
gameSessionID, err := server.GetGameSessionID()
```

## GetTerminationTime()
<a name="integration-server-sdk-go-getterm"></a>

종료 시간을 사용할 수 있는 경우 서버 프로세스가 종료되도록 예약된 시간을 반환합니다. 서버 프로세스는 Amazon GameLift Servers에서 `onProcessTerminate()` 콜백을 수신한 후 이 작업을 수행합니다. 다음과 같은 이유로 Amazon GameLift Servers가 `onProcessTerminate()`를 호출합니다.
+ 서버 프로세스가 상태 불량을 보고했거나 Amazon GameLift Servers에 응답하지 않은 경우
+ 스케일 다운 이벤트 중에 인스턴스를 종료하는 경우
+ [스팟 인스턴스 중단](spot-tasks.md)으로 인해 인스턴스가 종료되는 경우

### 구문
<a name="integration-server-sdk-go-getterm-syntax"></a>

```
func GetTerminationTime() (int64, error)
```

### 반환 값
<a name="integration-server-sdk-go-getterm-return"></a>

성공하면 서버 프로세스가 종료될 예정인 타임스탬프(Epoch 초) 및 `nil` 오류 종료를 반환합니다. 값은 종료 시간이며, `0001 00:00:00`에서 경과된 틱 수로 표시됩니다. 예를 들어, 날짜 시간 값 `2020-09-13 12:26:40 -000Z`는 `637355968000000000` 틱 수와 같습니다. 사용 가능한 종료 시간이 없는 경우 오류 메시지를 반환합니다.

### 예제
<a name="integration-server-sdk-go-getterm-example"></a>

```
terminationTime, err := server.GetTerminationTime()
```

## AcceptPlayerSession()
<a name="integration-server-sdk-go-acceptplayersession"></a>

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

### 구문
<a name="integration-server-sdk-go-acceptplayersession-syntax"></a>

```
func AcceptPlayerSession(playerSessionID string) error
```

### 파라미터
<a name="integration-server-sdk-go-acceptplayersession-parameter"></a>

`playerSessionId`  
새로운 플레이어 세션이 생성되었을 때 Amazon GameLift Servers가 발행한 고유 ID입니다.

### 반환 값
<a name="integration-server-sdk-go-acceptplayersession-return"></a>

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

### 예제
<a name="integration-server-sdk-go-acceptplayersession-example"></a>

이 예제는 유효하지 않은 플레이어 세션 ID의 검증 및 거부를 포함하는 연결 요청을 처리합니다.

```
func ReceiveConnectingPlayerSessionID(conn Connection, playerSessionID string) {
    err := server.AcceptPlayerSession(playerSessionID)
    if err != nil {
        connection.Accept()
    } else {
        connection.Reject(err.Error())
    }
}
```

## RemovePlayerSession()
<a name="integration-server-sdk-go-removeplayersession"></a>

플레이어가 서버 프로세스와의 연결이 끊겼음을 Amazon GameLift Servers에 알립니다. 이에 따라 Amazon GameLift Servers는 플레이어 슬롯을 사용 가능한 것으로 변경합니다.

### 구문
<a name="integration-server-sdk-go-removeplayersession-syntax"></a>

```
func RemovePlayerSession(playerSessionID string) error
```

### 파라미터
<a name="integration-server-sdk-go-removeplayersession-parameter"></a>

**`playerSessionId`**  
새로운 플레이어 세션이 생성되었을 때 Amazon GameLift Servers가 발행한 고유 ID입니다.

### 반환 값
<a name="integration-server-sdk-go-removeplayersession-return"></a>

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

### 예제
<a name="integration-server-sdk-go-removeplayersession-example"></a>

```
err := server.RemovePlayerSession(playerSessionID)
```

## DescribePlayerSessions()
<a name="integration-server-sdk-go-describeplayersessions"></a>

설정, 세션 메타데이터 및 플레이어 데이터 등의 플레이어 세션 데이터를 가져옵니다. 이 메서드를 사용하여 다음에 대한 정보를 얻을 수 있습니다.
+ 단일 플레이어 세션
+ 게임 세션의 모든 플레이어 세션
+ 단일 플레이어 ID와 연결된 모든 플레이어 세션

### 구문
<a name="integration-server-sdk-go-describeplayersessions-syntax"></a>

```
func DescribePlayerSessions(req request.DescribePlayerSessionsRequest) (result.DescribePlayerSessionsResult, error) {
	return srv.describePlayerSessions(&req)
}
```

### 파라미터
<a name="integration-server-sdk-go-describeplayersessions-parameter"></a>

**[DescribePlayerSessionsRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-playersessions)**  
검색할 플레이어 세션을 설명하는 `DescribePlayerSessionsRequest` 객체입니다.

### 반환 값
<a name="integration-server-sdk-go-describeplayersessions-return"></a>

성공하는 경우, 요청 파라미터에 적합한 플레이어 세션 객체 집합이 들어 있는 `DescribePlayerSessionsResult` 객체를 반환합니다.

### 예제
<a name="integration-server-sdk-go-describeplayersessions-example"></a>

다음은 지정된 게임 세션에 활성 상태로 연결되어 있는 모든 플레이어 세션을 요청하는 예입니다. *NextToken*을 생략하고 *Limit* 값을 10으로 설정하면, Amazon GameLift Servers가 요청과 일치하는 처음 10개의 플레이어 세션 레코드를 반환합니다.

```
// create request
describePlayerSessionsRequest := request.NewDescribePlayerSessions() 
describePlayerSessionsRequest.GameSessionID, _ = server.GetGameSessionID() // get ID for the current game session
describePlayerSessionsRequest.Limit = 10                                 // return the first 10 player sessions
describePlayerSessionsRequest.PlayerSessionStatusFilter = "ACTIVE"         // Get all player sessions actively connected to the game session

describePlayerSessionsResult, err := server.DescribePlayerSessions(describePlayerSessionsRequest)
```

## StartMatchBackfill()
<a name="integration-server-sdk-go-startmatchbackfill"></a>

FlexMatch를 통해 생성된 게임 세션에서 열린 슬롯에 참여할 새로운 플레이어를 찾는 요청을 보냅니다. 자세한 내용은 [FlexMatch 채우기 기능](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html)을 참조하세요.

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

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

### 구문
<a name="integration-server-sdk-go-startmatchbackfill-syntax"></a>

```
func StartMatchBackfill(req request.StartMatchBackfillRequest) (result.StartMatchBackfillResult, error)
```

### 파라미터
<a name="integration-server-sdk-go-startmatchbackfill-parameter"></a>

**[StartMatchBackfillRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-startmatchbackfillrequest)**  
다음 정보를 전달하는 StartMatchBackfillRequest 객체입니다.  
+ 채우기 요청에 할당할 티켓 ID. 이 정보를 선택 사항입니다. ID를 제공하지 않으면 Amazon GameLift Servers가 ID를 생성합니다.
+ 요청을 보낼 매치메이커. 전체 구성 ARN이 필요합니다. 이 값은 게임 세션의 매치메이커 데이터에 있습니다.
+ 채울 게임 세션의 ID입니다.
+ 게임 세션의 현재 플레이어에 대해 사용 가능한 매치메이킹 데이터입니다.

### 반환 값
<a name="integration-server-sdk-go-startmatchbackfill-return"></a>

매치 채우기 티켓 ID와 함께 `StartMatchBackfillResult` 객체나 오류 메시지를 포함한 결함을 반환합니다.

### 예제
<a name="integration-server-sdk-go-startmatchbackfill-example"></a>

```
// form the request
startBackfillRequest := request.NewStartMatchBackfill()
startBackfillRequest.RequestID = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"          // optional
startBackfillRequest.MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"
var matchMaker model.MatchmakerData
if err := matchMaker.UnmarshalJSON([]byte(gameSession.MatchmakerData)); err != nil {    
    return
}
startBackfillRequest.Players = matchMaker.Players
res, err := server.StartMatchBackfill(startBackfillRequest)

// Implement callback function for backfill
func OnUpdateGameSession(myGameSession model.GameSession) {
    // game-specific tasks to prepare for the newly matched players and update matchmaker data as needed
}
```

## StopMatchBackfill()
<a name="integration-server-sdk-go-stopmatchbackfill"></a>

활성 매치 채우기 요청을 취소합니다. 자세한 내용은 [FlexMatch 채우기 기능](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html)을 참조하세요.

### 구문
<a name="integration-server-sdk-go-stopmatchbackfill-syntax"></a>

```
func StopMatchBackfill(req request.StopMatchBackfillRequest) error
```

### 파라미터
<a name="integration-server-sdk-go-stopmatchbackfill-parameter"></a>

**[StopMatchBackfillRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-stopmatchbackfillrequest)**  
다음은 취소할 매치메이킹 티켓을 식별하는 StopMatchBackfillRequest 객체입니다.  
+ 채우기 요청에 할당된 티켓 ID
+ 채우기 요청을 보낸 매치메이커
+ 채우기 요청과 연결된 게임 세션

### 반환 값
<a name="integration-server-sdk-go-stopmatchbackfill-return"></a>

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

### 예제
<a name="integration-server-sdk-go-stopmatchbackfill-example"></a>

```
stopBackfillRequest := request.NewStopMatchBackfill()  // Use this function to create request
stopBackfillRequest.TicketID = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"
stopBackfillRequest.MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"
                
//error
err := server.StopMatchBackfill(stopBackfillRequest)
```

## GetComputeCertificate()
<a name="integration-server-sdk-go-getcomputecertificate"></a>

게임 서버 및 게임 클라이언트 간의 네트워크 연결을 암호화하는 데 사용되는 TLS 인증서의 경로를 검색합니다. Amazon GameLift Servers Anywhere 플릿에 컴퓨팅 디바이스를 등록할 때 인증서 경로를 사용할 수 있습니다. 자세한 내용은 [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)를 참조하세요.

### 구문
<a name="integration-server-sdk-go-getcomputecertificate-syntax"></a>

```
func GetComputeCertificate() (result.GetComputeCertificateResult, error)
```

### 반환 값
<a name="integration-server-sdk-go-getcomputecertificate-return"></a>

다음을 포함하는 `GetComputeCertificateResult` 객체를 반환합니다.
+  CertificatePath: 컴퓨팅 리소스에 있는 TLS 인증서의 경로입니다. Amazon GameLift Servers 관리형 플릿을 사용하는 경우 이 경로에는 다음이 포함됩니다.
  + `certificate.pem`: 최종 사용자 인증서입니다. 전체 인증서 체인은 이 인증서에 추가된 `certificateChain.pem`의 조합입니다.
  + `certificateChain.pem`: 루트 인증서와 중간 인증서를 포함하는 인증서 체인입니다.
  + `rootCertificate.pem`: 루트 인증서입니다.
  + `privateKey.pem`: 최종 사용자 인증서의 프라이빗 키입니다.
+ ComputeName: 컴퓨팅 리소스의 이름입니다.

### 예제
<a name="integration-server-sdk-go-getcomputecertificate-example"></a>

```
tlsCertificate, err := server.GetFleetRoleCredentials(getFleetRoleCredentialsRequest)
```

## GetFleetRoleCredentials()
<a name="integration-server-sdk-go-getfleetrolecredentials"></a>

권한을 다른 로 확장하기 위해 생성한 서비스 역할 자격 증명을 검색합니다 AWS 서비스 Amazon GameLift Servers. 이러한 자격 증명을 통해 게임 서버는 AWS 리소스를 사용할 수 있습니다. 자세한 내용은 [Amazon GameLift Servers의 IAM 서비스 역할 설정](setting-up-role.md) 섹션을 참조하세요.

### 구문
<a name="integration-server-sdk-go-getfleetrolecredentials-syntax"></a>

```
func GetFleetRoleCredentials(
  req request.GetFleetRoleCredentialsRequest,
) (result.GetFleetRoleCredentialsResult, error) {
  return srv.getFleetRoleCredentials(&req)
}
```

### 파라미터
<a name="integration-server-sdk-go-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest)  
 AWS 리소스에 대한 제한된 액세스를 게임 서버로 확장하는 역할 자격 증명입니다.

### 반환 값
<a name="integration-server-sdk-go-getfleetrolecredentials-return"></a>

다음을 포함하는 `GetFleetRoleCredentialsResult` 객체를 반환합니다.
+ AssumedRoleUserArn - 사용자가 맡을 서비스 역할의 Amazon 리소스 이름(ARN)입니다.
+ AssumedRoleId - 서비스 역할이 속한 사용자의 ID입니다.
+ AccessKeyId - 인증하고 AWS 리소스에 액세스를 제공하기 위한 액세스 키 ID입니다.
+ SecretAccessKey - 인증에 대한 비밀 액세스 키 ID를 지정합니다.
+ SessionToken - AWS 리소스와 상호 작용하는 현재 활성 세션을 식별하는 토큰입니다.
+ Expiration - 세션 자격 증명이 만료될 때까지 남은 시간입니다.

### 예제
<a name="integration-server-sdk-go-getfleetrolecredentials-example"></a>

```
// form the customer credentials request
getFleetRoleCredentialsRequest := request.NewGetFleetRoleCredentials()
getFleetRoleCredentialsRequest.RoleArn = "arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction"

credentials, err := server.GetFleetRoleCredentials(getFleetRoleCredentialsRequest)
```

## Destroy()
<a name="integration-server-sdk-go-destroy"></a>

Amazon GameLift Servers Game Server SDK를 메모리에서 분리합니다. `ProcessEnding()` 이후 및 프로세스를 종료하기 전에 이 메서드를 호출하는 것이 가장 좋습니다. Anywhere 플릿을 사용 중이고 게임 세션 이후마다 서버 프로세스를 종료하지 않는 경우, `Destroy()` 및 `InitSDK()`를 차례로 호출하여 Amazon GameLift Servers가 게임 세션을 `ProcessReady()`로 호스팅할 준비가 되었음을 알리기 전에 다시 초기화합니다.

### 구문
<a name="integration-server-sdk-go-destroy-syntax"></a>

```
func Destroy() error {
	return srv.destroy()
}
```

### 반환 값
<a name="integration-server-sdk-go-destroy-return"></a>

메서드가 실패하면 오류 메시지와 함께 오류를 반환합니다.

### 예제
<a name="integration-server-sdk-go-destroy-example"></a>

```
// operations to end game sessions and the server process
defer func() {
  err := server.ProcessEnding()
  server.Destroy()
  if err != nil {
    fmt.Println("ProcessEnding() failed. Error: ", err)
    os.Exit(-1)
  } else {
    os.Exit(0)
  }
}
```