

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 -- 動作的伺服器 SDK Amazon GameLift Servers （非真實）
<a name="integration-server-sdk-unreal-ref-actions"></a>

使用適用於 Unreal 的伺服器 SDK 來整合多玩家遊戲，以便與 進行託管Amazon GameLift Servers。如需整合程序的指引，請參閱 [使用伺服器 SDK 將 Amazon GameLift Servers新增至您的遊戲伺服器](gamelift-sdk-server-api.md)。

**注意**  
此參考適用於 的舊版伺服器 SDKAmazon GameLift Servers。如需最新版本，請參閱[適用於 -- 動作的 C\$1\$1 (Unreal) 伺服器 SDK Amazon GameLift Servers 5.x](integration-server-sdk5-unreal-actions.md)。

此 API 定義於 `GameLiftServerSDK.h` 和 `GameLiftServerSDKModels.h`。

若要設定 Unreal Engine 外掛程式，並查看程式碼範例 [Amazon GameLift Servers 整合至 Unreal Engine 專案](integration-engines-setup-unreal.md)。

# 適用於 -- 資料類型的伺服器 SDK Amazon GameLift Servers (Unreal)
<a name="integration-server-sdk-unreal-ref-datatypes"></a>

使用適用於 Unreal 的Amazon GameLift Servers伺服器 SDK 參考，整合您的多玩家遊戲以與 進行託管Amazon GameLift Servers。如需整合程序的指引，請參閱 [使用伺服器 SDK 將 Amazon GameLift Servers新增至您的遊戲伺服器](gamelift-sdk-server-api.md)。

**注意**  
此參考適用於 的舊版伺服器 SDKAmazon GameLift Servers。如需最新版本，請參閱[適用於 -- 資料類型的 C\$1\$1 (Unreal) 伺服器 SDK Amazon GameLift Servers 5.x](integration-server-sdk5-unreal-datatypes.md)。

此 API 定義於 `GameLiftServerSDK.h` 和 `GameLiftServerSDKModels.h`。

若要設定 Unreal Engine 外掛程式，並查看程式碼範例 [Amazon GameLift Servers 整合至 Unreal Engine 專案](integration-engines-setup-unreal.md)。

[適用於 -- 動作的伺服器 SDK Amazon GameLift Servers （非真實）](integration-server-sdk-unreal-ref-actions.md)

**Topics**
+ [FDescribePlayerSessionsRequest](#integration-server-sdk-unreal-ref-dataypes-playersessions)
+ [FProcessParameters](#integration-server-sdk-unreal-ref-dataypes-process)
+ [FStartMatchBackfillRequest](#integration-server-sdk-unreal-ref-dataypes-startmatchbackfillrequest)
+ [FStopMatchBackfillRequest](#integration-server-sdk-unreal-ref-dataypes-stopmatchbackfillrequest)

## FDescribePlayerSessionsRequest
<a name="integration-server-sdk-unreal-ref-dataypes-playersessions"></a>

此資料類型用於指定要擷取的玩家工作階段，您可利用下列方式使用：
+ 提供 PlayerSessionId 以要求特定玩家工作階段。
+ 提供 GameSessionId 以要求特定遊戲工作階段之中的所有玩家工作階段。
+ 提供 PlayerId 以要求特定玩家的所有玩家工作階段。

對於大量的玩家工作階段，可使用分頁參數於循序區塊擷取結果。

### 目錄
<a name="integration-server-sdk-unreal-ref-dataypes-playersessions-contents"></a>

**GameSessionId**  
獨一無二的遊戲工作階段識別項。請使用此參數要求特定遊戲工作階段的所有玩家工作階段。遊戲工作階段 ID 格式如下：`arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>`。<ID string> 的值可能是自訂 ID 字串 (若在建立遊戲工作階段時有指定 ID)，或是產生的字串。  
類型：字串  
必要：否

**限制**  
回傳結果的數量上限。使用此參數搭配 *NextToken* 取得結果做為一組循序頁面。若指定玩家工作階段 ID，此參數將遭到忽略。  
類型：整數  
必要：否

**NextToken**  
字符顯示下一個結果循序頁面的開始處。使用前一個呼叫此動作傳回的字符。指定結果集的開始處時，請勿指定值。若指定玩家工作階段 ID，此參數將遭到忽略。  
類型：字串  
必要：否

**PlayerId**  
玩家的唯一識別項。玩家 ID 是由開發人員定義。請參閱 [產生玩家 IDs](player-sessions-player-identifiers.md)。  
類型：字串  
必要：否

**PlayerSessionId**  
玩家工作階段的唯一識別項。  
類型：字串  
必要：否

**PlayerSessionStatusFilter**  
用於篩選結果的玩家工作階段狀態。可能的玩家工作階段狀態包括下列項目：  
+ RESERVED – 玩家工作階段要求已收到，但玩家尚未連線至伺服器程序及/或通過驗證。
+ ACTIVE – 玩家已由伺服器程序驗證，目前已連線。
+ COMPLETED – 玩家連線已中斷。
+ TIMEDOUT – 玩家工作階段要求已收到，但玩家並未在逾時限制 (60 秒) 內連線及/或通過驗證。
類型：字串  
必要：否

## FProcessParameters
<a name="integration-server-sdk-unreal-ref-dataypes-process"></a>

此資料類型包含一組參數，系統會在進行 [ProcessReady()](integration-server-sdk-unreal-ref-actions.md#integration-server-sdk-unreal-ref-processready) 呼叫時將該組參數傳送至 Amazon GameLift Servers 服務。

### 目錄
<a name="integration-server-sdk-unreal-ref-dataypes-process-contents"></a>

**port**  
伺服器處理的連接埠號碼將為新玩家連線進行接聽。值必須屬於為部署此遊戲伺服器組建之機群所設定的連接埠範圍。此連接埠號碼包含在遊戲工作階段和遊戲工作階段物件中，遊戲工作階段會使用該物件來連接到伺服器程序。  
類型：整數   
必要：是

**logParameters**  
含對遊戲工作階段日誌檔之目錄路徑清單的物件。  
類型：TArray<FString>  
必要：否

**onStartGameSession**  
Amazon GameLift Servers 服務叫用以啟用新遊戲工作階段的回呼函數名稱。 會Amazon GameLift Servers呼叫此函數以回應用戶端請求 [CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)。該回呼函數會擷取 [GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html) 物件，其為 *Amazon GameLift Servers 服務 API 參考*所定義的物件。  
類型：FOnStartGameSession   
必要：是

**onProcessTerminate**  
Amazon GameLift Servers 服務叫用以強制伺服器程序關閉的回呼函數名稱。呼叫此函數後，Amazon GameLift Servers 會等待五分鐘，讓系統能關閉伺服器程序，並透過 [ProcessEnding()](integration-server-sdk-unreal-ref-actions.md#integration-server-sdk-unreal-ref-processending) 呼叫進行回應，再將伺服器程序關閉。  
類型：FSimpleDelegate  
必要：否

**onHealthCheck**  
Amazon GameLift Servers 服務叫用以從伺服器程序請求運作狀態報告的回呼函數名稱。 每 60 秒Amazon GameLift Servers呼叫此函數。呼叫此函數後，Amazon GameLift Servers 會等待 60 秒確認是否有回應，若未收到任何回應，系統即會將該伺服器程序記錄為運作狀態不佳。  
類型：FOnHealthCheck  
必要：否

**onUpdateGameSession**  
Amazon GameLift Servers 服務叫用以將更新的遊戲工作階段物件傳遞至伺服器程序的回呼函數名稱。 會在處理[相符回填](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html)請求時Amazon GameLift Servers呼叫此函數，以提供更新的配對建構器資料。然後傳送 [GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html) 物件、狀態更新 (`updateReason`) 及配對回填票證 ID。  
類型：FOnUpdateGameSession   
必要：否

## FStartMatchBackfillRequest
<a name="integration-server-sdk-unreal-ref-dataypes-startmatchbackfillrequest"></a>

此項資料類型用於傳送配對回填要求。系統會在進行 [StartMatchBackfill()](integration-server-sdk-unreal-ref-actions.md#integration-server-sdk-unreal-ref-startmatchbackfill) 呼叫時，將此資訊傳送至 Amazon GameLift Servers 服務。

### 目錄
<a name="integration-server-sdk-unreal-ref-dataypes-startbackfill-contents"></a>

**GameSessionArn**  
 獨一無二的遊戲工作階段識別項。API 動作 [GetGameSessionId()](integration-server-sdk-unreal-ref-actions.md#integration-server-sdk-unreal-ref-getgamesessionid) 以 ARN 格式傳回識別項。  
類型：FString  
必要：是

**MatchmakingConfigurationArn**  
以 ARN 為格式的唯一識別項，讓配對建構器使用此項要求。尋找用於建立原始遊戲工作階段的配對建構器時，請查看配對建構器資料屬性之中的遊戲工作階段物件。進一步了解使用配對建構器資料中的[配對建構器資料](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data)。  
類型：FString  
必要：是

**Players**  
表示目前遊戲工作階段之中所有玩家的一組資料。配對建構器使用此項資訊搜尋適合配對現有玩家的新玩家。如需播放器物件格式的說明，請參閱 *Amazon GameLift Servers API 參考指南*。尋找玩家屬性、ID 及團隊指派時，請查看配對建構器資料屬性之中的遊戲工作階段物件。若配對建構器使用延遲，您可收集現有區域更新後的延遲，並將其納入各個玩家資料之中。  
類型：TArray[<FPlayer>](https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html)  
必要：是

**TicketId**  
配對或配對回填要求票證的唯一識別項。如果此處未提供任何值， Amazon GameLift Servers會以 UUID 的形式產生一個值。您可使用此識別項依據需求追蹤配對回填票證狀態或取消要求。  
類型：FString  
必要：否

## FStopMatchBackfillRequest
<a name="integration-server-sdk-unreal-ref-dataypes-stopmatchbackfillrequest"></a>

此項資料類型用於取消配對回填要求。系統會在進行 [StopMatchBackfill()](integration-server-sdk-unreal-ref-actions.md#integration-server-sdk-unreal-ref-stopmatchbackfill) 呼叫時，將此資訊傳送至 Amazon GameLift Servers 服務。

### 目錄
<a name="integration-server-sdk-unreal-ref-dataypes-stopbackfill-contents"></a>

**GameSessionArn**  
與遭取消要求有關的唯一遊戲工作階段識別碼。  
類型：FString  
必要：是

**MatchmakingConfigurationArn**  
做為此要求傳送目標的配對建構器唯一識別項。  
類型：FString  
必要：是

**TicketId**  
遭取消回填要求票證的唯一識別碼。  
類型：FString  
必要：是

[適用於 -- 資料類型的伺服器 SDK Amazon GameLift Servers (Unreal)](integration-server-sdk-unreal-ref-datatypes.md)

**Topics**
+ [適用於 -- 資料類型的伺服器 SDK Amazon GameLift Servers (Unreal)](integration-server-sdk-unreal-ref-datatypes.md)
+ [AcceptPlayerSession()](#integration-server-sdk-unreal-ref-acceptplayersession)
+ [ActivateGameSession()](#integration-server-sdk-unreal-ref-activategamesession)
+ [DescribePlayerSessions()](#integration-server-sdk-unreal-ref-describeplayersessions)
+ [GetGameSessionId()](#integration-server-sdk-unreal-ref-getgamesessionid)
+ [GetInstanceCertificate()](#integration-server-sdk-unreal-ref-getinstancecertificate)
+ [GetSdkVersion()](#integration-server-sdk-unreal-ref-getsdk)
+ [InitSDK()](#integration-server-sdk-unreal-ref-initsdk)
+ [ProcessEnding()](#integration-server-sdk-unreal-ref-processending)
+ [ProcessReady()](#integration-server-sdk-unreal-ref-processready)
+ [RemovePlayerSession()](#integration-server-sdk-unreal-ref-removeplayersession)
+ [StartMatchBackfill()](#integration-server-sdk-unreal-ref-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-unreal-ref-stopmatchbackfill)
+ [TerminateGameSession()](#integration-server-sdk-unreal-ref-terminategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-unreal-ref-updateplayersessioncreationpolicy)

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

通知Amazon GameLift Servers服務，具有指定玩家工作階段 ID 的玩家已連線到伺服器程序，且需要驗證。 Amazon GameLift Servers 會驗證玩家工作階段 ID 是否有效，也就是玩家 ID 在遊戲工作階段中已預留玩家位置。經過驗證後，Amazon GameLift Servers 會將玩家位置的狀態從 RESERVED (已預留) 變更為 ACTIVE (使用中)。

### 語法
<a name="integration-server-sdk-unreal-ref-acceptplayersession-syntax"></a>

```
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
```

### Parameters
<a name="integration-server-sdk-unreal-ref-acceptplayersession-parameter"></a>

**playerSessionId**  
由 Amazon GameLift Servers服務發出的唯一 ID，以回應對 AWS SDK Amazon GameLift Servers API 動作 [CreatePlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html) 的呼叫。遊戲用戶端在連線至伺服器程序時參考此 ID。  
類型：FString  
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-acceptplayersession-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

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

通知 Amazon GameLift Servers 服務，伺服器程序已啟動遊戲工作階段，目前已準備好接受玩家連線。此動作應當做 `onStartGameSession()` 回呼函數的一部分，在所有遊戲工作階段初始化完成後進行。

### 語法
<a name="integration-server-sdk-unreal-ref-activategamesession-syntax"></a>

```
FGameLiftGenericOutcome ActivateGameSession()
```

### Parameters
<a name="integration-server-sdk-unreal-ref-activategamesession-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-activategamesession-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

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

擷取玩家工作階段資料，包括設定、工作階段中繼資料和玩家資料。使用此動作可取得單一玩家工作階段資訊、一個遊戲工作階段中所有玩家工作階段的資訊，或是與單一玩家 ID 關聯的所有玩家工作階段資訊。

### 語法
<a name="integration-server-sdk-unreal-ref-describeplayersessions-syntax"></a>

```
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
```

### Parameters
<a name="integration-server-sdk-unreal-ref-describeplayersessions-parameter"></a>

**describePlayerSessionsRequest**  
[FDescribePlayerSessionsRequest](integration-server-sdk-unreal-ref-datatypes.md#integration-server-sdk-unreal-ref-dataypes-playersessions) 物件描述的是要擷取哪個玩家工作階段。  
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-describeplayersessions-return"></a>

如果成功，會傳回 [FDescribePlayerSessionsRequest](integration-server-sdk-unreal-ref-datatypes.md#integration-server-sdk-unreal-ref-dataypes-playersessions) 物件，內含一組與請求參數相符的玩家工作階段物件。玩家工作階段物件的結構與 AWS SDK Amazon GameLift Servers API [PlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_PlayerSession.html) 資料類型相同。

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

若伺服器流程正在運作，擷取目前正在由伺服器程序託管的遊戲工作階段 ID。

### 語法
<a name="integration-server-sdk-unreal-ref-getgamesessionid-syntax"></a>

```
FGameLiftStringOutcome GetGameSessionId()
```

### Parameters
<a name="integration-server-sdk-unreal-ref-getgamesessionid-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-getgamesessionid-return"></a>

如果成功，則會把遊戲工作階段 ID 當成 `FGameLiftStringOutcome` 物件傳回。如果不成功，則會傳回錯誤訊息。

## GetInstanceCertificate()
<a name="integration-server-sdk-unreal-ref-getinstancecertificate"></a>

擷取與機群及其執行個體相關聯的 pem 編碼 TLS 憑證的檔案位置。當您建立憑證組態設為 GENERATED 的新機群時， AWS Certificate Manager 會產生此憑證。使用此憑證可與遊戲用戶端建立安全連線，以及加密用戶端/伺服器通訊。

### 語法
<a name="integration-server-sdk-unreal-ref-getinstancecertificate-syntax"></a>

```
FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()
```

### Parameters
<a name="integration-server-sdk-unreal-ref-getinstancecertificate-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-getinstancecertificate-return"></a>

如果成功， 會傳回`GetInstanceCertificateOutcome`物件，其中包含存放在執行個體上的機群 TLS 憑證檔案和憑證鏈的位置。從憑證鏈擷取的根憑證檔案也會存放在執行個體上。如果不成功，則會傳回錯誤訊息。

如需憑證和憑證鏈資料的詳細資訊，請參閱 AWS Certificate Manager API 參考中的 [GetCertificate 回應元素](https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html#API_GetCertificate_ResponseElements)。

## GetSdkVersion()
<a name="integration-server-sdk-unreal-ref-getsdk"></a>

傳回內建至伺服器程序的目前開發套件版本編號。

### 語法
<a name="integration-server-sdk-unreal-ref-getsdk-syntax"></a>

```
FGameLiftStringOutcome GetSdkVersion();
```

### Parameters
<a name="integration-server-sdk-unreal-ref-getsdk-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-getsdk-return"></a>

如果成功，將目前開發套件版本以 `FGameLiftStringOutcome` 物件傳回。傳回的字串僅包含版本編號 （例如 "3.1.5")。如果不成功，則會傳回錯誤訊息。

### 範例
<a name="integration-server-sdk-unreal-ref-getsdk-example"></a>

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

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

初始化 Amazon GameLift Servers 開發套件。您應在啟動時隨即呼叫此方法，以避免系統先進行任何其他與 Amazon GameLift Servers 相關的初始化程序。

### 語法
<a name="integration-server-sdk-unreal-ref-initsdk-syntax"></a>

```
FGameLiftGenericOutcome InitSDK()
```

### Parameters
<a name="integration-server-sdk-unreal-ref-initsdk-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-initsdk-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

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

若伺服器程序正在關閉中，則此動作會通知 Amazon GameLift Servers 服務。此方法應於所有其他清除作業 (包括關閉所有作用中遊戲工作階段) 之後呼叫。此方法應以結束代碼 0 結束，非零的結束代碼會導致該程序未徹底結束的事件訊息出現。

### 語法
<a name="integration-server-sdk-unreal-ref-processending-syntax"></a>

```
FGameLiftGenericOutcome ProcessEnding()
```

### Parameters
<a name="integration-server-sdk-unreal-ref-processending-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-processending-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

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

若伺服器程序已準備好託管遊戲工作階段，則此動作會通知 Amazon GameLift Servers 服務。在成功叫用[InitSDK()](#integration-server-sdk-unreal-ref-initsdk)並完成伺服器程序可託管遊戲工作階段之前所需的設定任務之後，呼叫此方法。每個程序只能呼叫此方法一次。

### 語法
<a name="integration-server-sdk-unreal-ref-processready-syntax"></a>

```
FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)
```

### Parameters
<a name="integration-server-sdk-unreal-ref-processready-parameter"></a>

**FProcessParameters**  
[FProcessParameters](integration-server-sdk-unreal-ref-datatypes.md#integration-server-sdk-unreal-ref-dataypes-process) 物件會傳達以下有關伺服器程序的資訊：  
+ 在遊戲伺服器程式碼中實作的回呼方法名稱，可供 Amazon GameLift Servers 服務呼叫以與伺服器程序通訊。
+ 伺服器程序正在接聽的埠號。
+ 任何要 Amazon GameLift Servers 擷取並存放的遊戲工作階段特定檔案路徑。
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-processready-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

### 範例
<a name="integration-server-sdk-unreal-ref-processready-example"></a>

請在[使用 Unreal Engine 外掛程式](integration-engines-setup-unreal.md#integration-engines-setup-unreal-code)檢視範本程式碼。

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

若具有指定玩家工作階段 ID 的玩家已與伺服器程序中斷連線，則此動作會通知 Amazon GameLift Servers 服務。Amazon GameLift Servers 會對此做出回應，將玩家位置變更為可用，使該位置可指派給新玩家。

### 語法
<a name="integration-server-sdk-unreal-ref-removeplayersession-syntax"></a>

```
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
```

### Parameters
<a name="integration-server-sdk-unreal-ref-removeplayersession-parameter"></a>

**playerSessionId**  
由 Amazon GameLift Servers服務發出的唯一 ID，以回應對 AWS SDK Amazon GameLift Servers API 動作 [CreatePlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html) 的呼叫。遊戲用戶端在連線至伺服器程序時參考此 ID。  
類型：FString  
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-removeplayersession-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

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

此動作會傳送請求，以便替 FlexMatch 所建立的遊戲工作階段​開放空位找到新玩家。另請參閱 AWS SDK 動作 [StartMatchBackfill()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html)。使用此動作，目前代管遊戲工作階段的遊戲伺服器程序即可初始化配對回填請求。進一步了解[FlexMatch回填功能](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html)。

此為非同步動作。如果新玩家配對成功，Amazon GameLift Servers 服務即會使用回呼函數 `OnUpdateGameSession()` 提供更新的配對建構器資料。

一個伺服器程序一次僅能有一個使用中的配對回填請求。若要發送新請求，請先呼叫 [StopMatchBackfill()](#integration-server-sdk-unreal-ref-stopmatchbackfill) 取消原始請求。

### 語法
<a name="integration-server-sdk-unreal-ref-startmatchbackfill-syntax"></a>

```
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
```

### Parameters
<a name="integration-server-sdk-unreal-ref-startmatchbackfill-parameter"></a>

**FStartMatchBackfillRequest**  
[FStartMatchBackfillRequest](integration-server-sdk-unreal-ref-datatypes.md#integration-server-sdk-unreal-ref-dataypes-startmatchbackfillrequest) 物件會傳達以下資訊：  
+ 指派給回填請求的票證 ID。此為選填的資訊，若未提供任何 ID，則 Amazon GameLift Servers 會自動產生一個。
+ 傳送請求對象的配對建構器。必須填入完整的組態 ARN。此值可從遊戲工作階段的配對建構器資料中取得。
+ 經回填之遊戲工作階段的 ID。
+ 遊戲工作階段目前玩家可用的配對資料。
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-startmatchbackfill-return"></a>

如果成功，會傳回符合的回填票證做為 `FGameLiftStringOutcome` 物件。如果不成功，則會傳回錯誤訊息。您可以使用 AWS SDK 動作 [DescribeMatchmaking()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html) 追蹤票證狀態。

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

取消以 [StartMatchBackfill()](#integration-server-sdk-unreal-ref-startmatchbackfill) 建立的使用中配對回填請求。另請參閱 AWS SDK 動作 [StopMatchmaking()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html)。進一步了解[FlexMatch回填功能](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html)。

### 語法
<a name="integration-server-sdk-unreal-ref-stopmatchbackfill-syntax"></a>

```
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
```

### Parameters
<a name="integration-server-sdk-unreal-ref-stopmatchbackfill-parameter"></a>

**StopMatchBackfillRequest**  
識別配對票證的 [FStopMatchBackfillRequest](integration-server-sdk-unreal-ref-datatypes.md#integration-server-sdk-unreal-ref-dataypes-stopmatchbackfillrequest) 物件，用以取消：  
+ 已取消指派給此回填請求的票證 ID
+ 回填請求的傳送目標配對建構器
+ 與回填請求相關的遊戲工作階段
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-stopmatchbackfill-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

## TerminateGameSession()
<a name="integration-server-sdk-unreal-ref-terminategamesession"></a>

**此方法已棄用 4.0.1 版。相反地，伺服器程序應該[ProcessEnding()](#integration-server-sdk-unreal-ref-processending)在遊戲工作階段結束後呼叫 。**

通知Amazon GameLift Servers服務伺服器程序已結束目前的遊戲工作階段。當伺服器程序保持作用中狀態並準備好託管新的遊戲工作階段時，就會呼叫此動作。只有在遊戲工作階段終止程序完成後，才應該呼叫它，因為它會向 發出訊號Amazon GameLift Servers，表示伺服器程序可立即用於託管新的遊戲工作階段。

如果伺服器程序會在遊戲工作階段停止後關閉，則不會呼叫此動作。反之，呼叫 [ProcessEnding()](#integration-server-sdk-unreal-ref-processending)以發出遊戲工作階段和伺服器程序都即將結束的訊號。

### 語法
<a name="integration-server-sdk-unreal-ref-terminategamesession-syntax"></a>

```
FGameLiftGenericOutcome TerminateGameSession()
```

### Parameters
<a name="integration-server-sdk-unreal-ref-terminategamesession-parameter"></a>

此動作沒有參數。

### 傳回值
<a name="integration-server-sdk-unreal-ref-terminategamesession-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。

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

更新目前遊戲工作階段的能力，以接受新的玩家工作階段。遊戲工作階段可設定為接受或拒絕所有新的玩家工作階段。(也請參閱 [`UpdateGameSession()` 服務 API 參考](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html)之中的 *Amazon GameLift Servers* 動作)。

### 語法
<a name="integration-server-sdk-unreal-ref-updateplayersessioncreationpolicy-syntax"></a>

```
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
```

### Parameters
<a name="integration-server-sdk-unreal-ref-updateplayersessioncreationpolicy-parameter"></a>

**政策**  
值代表遊戲工作階段是否接受新玩家。  
類型：`EPlayerSessionCreationPolicy` enum。有效值包含：  
+ **ACCEPT\$1ALL** – 接受所有新玩家工作階段。
+ **DENY\$1ALL** – 拒絕所有新玩家工作階段。
必要：是

### 傳回值
<a name="integration-server-sdk-unreal-ref-updateplayersessioncreationpolicy-return"></a>

傳回一般結果，其中包含成功或失敗以及錯誤訊息。