

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# SDK server C \# untuk Amazon GameLift Servers 4.x -- Tindakan
<a name="integration-server-sdk-csharp-ref-actions"></a>

Gunakan referensi SDK server untuk mengintegrasikan game multipemain Anda untuk hosting. Amazon GameLift Servers Untuk panduan tentang proses integrasi, lihat[Tambahkan Amazon GameLift Servers ke server game Anda dengan SDK server](gamelift-sdk-server-api.md).

**catatan**  
Referensi ini untuk versi SDK server yang lebih lama untukAmazon GameLift Servers. Untuk versi terbaru, lihat[C\# server SDK 5.x untuk Amazon GameLift Servers -- Tindakan](integration-server-sdk5-csharp-actions.md).

[SDK server C \# untuk Amazon GameLift Servers 4.x - Tipe data](integration-server-sdk-csharp-ref-datatypes.md)

**Topics**
+ [SDK server C \# untuk Amazon GameLift Servers 4.x - Tipe data](integration-server-sdk-csharp-ref-datatypes.md)
+ [AcceptPlayerSession()](#integration-server-sdk-csharp-ref-acceptplayersession)
+ [ActivateGameSession()](#integration-server-sdk-csharp-ref-activategamesession)
+ [DescribePlayerSessions()](#integration-server-sdk-csharp-ref-describeplayersessions)
+ [GetGameSessionId()](#integration-server-sdk-csharp-ref-getgamesessionid)
+ [GetInstanceCertificate()](#integration-server-sdk-csharp-ref-getinstancecertificate)
+ [GetSdkVersion()](#integration-server-sdk-csharp-ref-getsdk)
+ [GetTerminationTime()](#integration-server-sdk-csharp-ref-getterm)
+ [InitSDK()](#integration-server-sdk-csharp-ref-initsdk)
+ [ProcessEnding()](#integration-server-sdk-csharp-ref-processending)
+ [ProcessReady()](#integration-server-sdk-csharp-ref-processready)
+ [RemovePlayerSession()](#integration-server-sdk-csharp-ref-removeplayersession)
+ [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-csharp-ref-stopmatchbackfill)
+ [TerminateGameSession()](#integration-server-sdk-csharp-ref-terminategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy)

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

Memberitahu Amazon GameLift Servers layanan bahwa pemain dengan ID sesi pemain tertentu telah terhubung ke proses server dan perlu validasi. Amazon GameLift Serversmemverifikasi bahwa ID sesi pemain valid—yaitu, ID pemain telah memesan slot pemain dalam sesi permainan. Setelah divalidasi, Amazon GameLift Servers ubah status slot pemain dari RESERVED ke ACTIVE. 

### Sintaks
<a name="integration-server-sdk-csharp-ref-acceptplayersession-syntax"></a>

```
GenericOutcome AcceptPlayerSession(String playerSessionId)
```

### Parameter
<a name="integration-server-sdk-csharp-ref-acceptplayersession-parameter"></a>

**playerSessionId**  
ID unik yang dikeluarkan oleh Amazon GameLift Servers saat sesi pemain baru dibuat. ID sesi pemain ditentukan dalam `PlayerSession` objek, yang dikembalikan sebagai respons terhadap panggilan klien ke tindakan *GameLift API [ StartGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*,, [ CreateGameSession[ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html), atau [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Tipe: String  
Diperlukan: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-acceptplayersession-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan. 

### Contoh
<a name="integration-server-sdk-csharp-ref-acceptplayersession-example"></a>

Contoh ini menggambarkan fungsi untuk menangani permintaan koneksi, termasuk memvalidasi dan menolak sesi pemain yang tidak valid. IDs 

```
void ReceiveConnectingPlayerSessionID (Connection connection, String playerSessionId){
    var acceptPlayerSessionOutcome =  GameLiftServerAPI.AcceptPlayerSession(playerSessionId);
     if(acceptPlayerSessionOutcome.Success)
    {
        connectionToSessionMap.emplace(connection, playerSessionId);
        connection.Accept();
    }
     else 
    {
        connection.Reject(acceptPlayerSessionOutcome.Error.ErrorMessage);    }       
}
```

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

Memberitahu Amazon GameLift Servers layanan bahwa proses server telah mengaktifkan sesi permainan dan sekarang siap menerima koneksi pemain. Tindakan ini harus dipanggil sebagai bagian dari fungsi callback `onStartGameSession()`, setelah semua inisialisasi sesi game selesai.

### Sintaks
<a name="integration-server-sdk-csharp-ref-activategamesession-syntax"></a>

```
GenericOutcome ActivateGameSession()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-activategamesession-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-activategamesession-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-activategamesession-example"></a>

Contoh ini menunjukkan `ActivateGameSession()` yang dipanggil sebagai bagian dari fungsi delegasi `onStartGameSession()`. 

```
void OnStartGameSession(GameSession gameSession)
{
    // game-specific tasks when starting a new game session, such as loading map   

    // When ready to receive players   
    var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}
```

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

Mengambil data sesi pemain, termasuk pengaturan, metadata sesi, dan data pemain. Gunakan tindakan ini untuk mendapatkan informasi untuk satu sesi pemain, untuk semua sesi pemain dalam sesi game, atau untuk semua sesi pemain yang terkait dengan ID pemain tunggal.

### Sintaks
<a name="integration-server-sdk-csharp-ref-describeplayersessions-syntax"></a>

```
DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest describePlayerSessionsRequest)
```

### Parameter
<a name="integration-server-sdk-csharp-ref-describeplayersessions-parameter"></a>

**describePlayerSessionsPermintaan**  
Sebuah objek [DescribePlayerSessionsRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-playersessions) yang menjelaskan sesi pemain mana yang diambil.  
Wajib: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-describeplayersessions-return"></a>

Jika berhasil, ini mengembalikan objek `DescribePlayerSessionsOutcome` yang berisi satu set objek sesi pemain yang sesuai dengan parameter permintaan. Objek sesi pemain memiliki struktur yang identik dengan tipe [PlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_PlayerSession.html)data AWS SDK Amazon GameLift Servers API.

### Contoh
<a name="integration-server-sdk-csharp-ref-describeplayersessions-example"></a>

Contoh ini menggambarkan permintaan untuk semua sesi pemain yang secara aktif terhubung ke sesi game tertentu. Dengan menghilangkan *NextToken*dan menyetel nilai *Batas* ke 10, Amazon GameLift Servers akan mengembalikan catatan sesi 10 pemain pertama yang cocok dengan permintaan.

```
// Set request parameters 
var describePlayerSessionsRequest = new Aws.GameLift.Server.Model.DescribePlayerSessionsRequest()
{
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result,    //gets the ID for the current game session
    Limit = 10,
    PlayerSessionStatusFilter = PlayerSessionStatusMapper.GetNameForPlayerSessionStatus(PlayerSessionStatus.ACTIVE)
}; 
// Call DescribePlayerSessions
Aws::GameLift::DescribePlayerSessionsOutcome playerSessionsOutcome = 
    Aws::GameLift::Server::Model::DescribePlayerSessions(describePlayerSessionRequest);
```

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

Mengambil ID dari sesi game yang saat ini sedang di-host oleh proses server, jika proses server aktif. 

Untuk proses idle yang belum diaktifkan dengan sesi permainan, panggilan mengembalikan `Success` = `True` dan `GameSessionId` = `""` (string kosong).

### Sintaks
<a name="integration-server-sdk-csharp-ref-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-getgamesessionid-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-getgamesessionid-return"></a>

Jika berhasil, ini mengembalikan ID sesi game sebagai objek `AwsStringOutcome`. Jika tidak berhasil, ini mengembalikan pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-getgamesessionid-example"></a>

```
var getGameSessionIdOutcome = GameLiftServerAPI.GetGameSessionId();
```

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

Mengambil lokasi file sertifikat TLS yang dikodekan pem-encode yang terkait dengan armada dan instance-nya. AWS Certificate Manager menghasilkan sertifikat ini saat Anda membuat armada baru dengan konfigurasi sertifikat yang disetel ke GENERATED. Gunakan sertifikat ini untuk membuat koneksi yang aman dengan client game dan untuk mengenkripsi komunikasi client/server. 

### Sintaks
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-syntax"></a>

```
GetInstanceCertificateOutcome GetInstanceCertificate();
```

### Parameter
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-return"></a>

Jika berhasil, mengembalikan `GetInstanceCertificateOutcome` objek yang berisi lokasi file sertifikat TLS armada dan rantai sertifikat, yang disimpan pada instance. File sertifikat root, diekstrak dari rantai sertifikat, juga disimpan pada instance. Jika tidak berhasil, ini mengembalikan pesan kesalahan. 

Untuk informasi selengkapnya tentang sertifikat dan data rantai sertifikat, lihat [Elemen GetCertificate Respons](https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html#API_GetCertificate_ResponseElements) di Referensi AWS Certificate Manager API.

### Contoh
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-example"></a>

```
var getInstanceCertificateOutcome = GameLiftServerAPI.GetInstanceCertificate();
```

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

Mengembalikan nomor versi SDK saat ini yang dibangun ke dalam proses server.

### Sintaks
<a name="integration-server-sdk-csharp-ref-getsdk-syntax"></a>

```
AwsStringOutcome GetSdkVersion()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-getsdk-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-getsdk-return"></a>

Jika berhasil, ini mengembalikan versi SDK saat ini sebagai objek `AwsStringOutcome`. String yang dikembalikan mencakup nomor versi saja (mis. "3.1.5"). Jika tidak berhasil, ini mengembalikan pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-getsdk-example"></a>

```
var getSdkVersionOutcome = GameLiftServerAPI.GetSdkVersion(); 
```

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

Mengembalikan waktu yang merupakan jadwal proses server akan ditutup, jika waktu penghentian tersedia. Proses server mengambil tindakan ini setelah menerima `onProcessTerminate()` panggilan balik dari Amazon GameLift Servers layanan. Amazon GameLift Servers[dapat memanggil `onProcessTerminate()` untuk alasan berikut: (1) untuk kesehatan yang buruk (proses server telah melaporkan kesehatan port atau belum meresponsAmazon GameLift Servers, (2) saat menghentikan instance selama acara scale-down, atau (3) ketika sebuah instance sedang dihentikan karena gangguan spot-instance.](spot-tasks.md) 

Jika proses telah menerima callback `onProcessTerminate()`, nilai yang dikembalikan adalah perkiraan waktu penghentian. Jika proses belum menerima callback `onProcessTerminate()`, pesan kesalahan dikembalikan. Pelajari selengkapnya tentang [mematikan proses server](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

### Sintaks
<a name="integration-server-sdk-csharp-ref-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-getterm-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-getterm-return"></a>

Jika berhasil, ini mengembalikan waktu penghentian sebagai objek `AwsDateTimeOutcome`. Nilainya adalah waktu penghentian, dinyatakan dalam detik yang telah berlalu sejak 0001 00:00:00. Misalnya, nilai waktu tanggal 2020-09-13 12:26:40 -000Z sama dengan 637355968000000000 detik. Jika tidak ada waktu penghentian tersedia, pesan kesalahan ditampilkan.

### Contoh
<a name="integration-server-sdk-csharp-ref-getterm-example"></a>

```
var getTerminationTimeOutcome = GameLiftServerAPI.GetTerminationTime(); 
```

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

Menginisialisasi Amazon GameLift Servers SDK. Metode ini harus dipanggil saat peluncuran, sebelum inisialisasi Amazon GameLift Servers terkait lainnya terjadi.

### Sintaks
<a name="integration-server-sdk-csharp-ref-initsdk-syntax"></a>

```
InitSDKOutcome InitSDK()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-initsdk-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-initsdk-return"></a>

Jika berhasil, mengembalikan InitSdkOutcome objek yang menunjukkan bahwa proses server siap untuk memanggil[ProcessReady()](#integration-server-sdk-csharp-ref-processready). 

### Contoh
<a name="integration-server-sdk-csharp-ref-initsdk-example"></a>

```
var initSDKOutcome = GameLiftServerAPI.InitSDK(); 
```

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

Memberitahu Amazon GameLift Servers layanan bahwa proses server dimatikan. Metode ini harus dipanggil setelah semua tugas pembersihan lainnya, termasuk mematikan semua sesi game aktif. Metode ini harus keluar dengan kode keluar 0; sebuah kode non-nol menghasilkan pesan kejadian bahwa proses tidak keluar dengan bersih.

Setelah metode keluar dengan kode 0, Anda dapat mengakhiri proses dengan kode keluar yang sukses. Anda juga dapat keluar dari proses dengan kode kesalahan. Jika Anda keluar dengan kode kesalahan, kejadian armada akan menunjukkan proses yang dihentikan secara tidak normal (`SERVER_PROCESS_TERMINATED_UNHEALTHY`). 

### Sintaks
<a name="integration-server-sdk-csharp-ref-processending-syntax"></a>

```
GenericOutcome ProcessEnding()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-processending-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-processending-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-processending-example"></a>

```
var processEndingOutcome = GameLiftServerAPI.ProcessEnding();
if (processReadyOutcome.Success)
   Environment.Exit(0);
// otherwise, exit with error code
Environment.Exit(errorCode);
```

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

Memberitahu Amazon GameLift Servers layanan bahwa proses server siap untuk meng-host sesi permainan. Panggil metode ini setelah berhasil meminta [InitSDK()](#integration-server-sdk-csharp-ref-initsdk) dan menyelesaikan tugas penyiapan yang diperlukan sebelum proses server dapat menjadi host sesi game. Metode ini harus dipanggil hanya satu kali per proses.

### Sintaks
<a name="integration-server-sdk-csharp-ref-processready-syntax"></a>

```
GenericOutcome ProcessReady(ProcessParameters processParameters)
```

### Parameter
<a name="integration-server-sdk-csharp-ref-processready-parameter"></a>

**processParameters**  
Sebuah objek [ProcessParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-process) yang mengomunikasikan informasi berikut tentang proses server:  
+ Nama metode callback, diimplementasikan dalam kode server game, yang dipanggil Amazon GameLift Servers layanan untuk berkomunikasi dengan proses server.
+ Nomor port yang didengarkan oleh proses server.
+ Jalur ke file khusus sesi game apa pun yang Amazon GameLift Servers ingin Anda tangkap dan simpan.
Wajib: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-processready-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-processready-example"></a>

Contoh ini menggambarkan panggilan [ProcessReady()](#integration-server-sdk-csharp-ref-processready) dan mendelegasi implementasi fungsi.

```
// Set parameters and call ProcessReady
var processParams = new ProcessParameters(
   this.OnGameSession,
   this.OnProcessTerminate,
   this.OnHealthCheck,
   this.OnGameSessionUpdate,
   port,
   new LogParameters(new List<string>()          // Examples of log and error files written by the game server
   {
      "C:\\game\\logs",
      "C:\\game\\error"
   })
);

var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);

// Implement callback functions
void OnGameSession(GameSession gameSession)
{
   // game-specific tasks when starting a new game session, such as loading map
   // When ready to receive players
   var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}

void OnProcessTerminate()
{
   // game-specific tasks required to gracefully shut down a game session, 
   // such as notifying players, preserving game state data, and other cleanup
    var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding();
}

bool OnHealthCheck()
{
    bool isHealthy;
    // complete health evaluation within 60 seconds and set health
    return isHealthy;
}
```

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

Memberitahu Amazon GameLift Servers layanan bahwa pemain dengan ID sesi pemain tertentu telah terputus dari proses server. Sebagai tanggapan, Amazon GameLift Servers mengubah slot pemain menjadi tersedia, yang memungkinkannya ditugaskan ke pemain baru. 

### Sintaks
<a name="integration-server-sdk-csharp-ref-removeplayersession-syntax"></a>

```
GenericOutcome RemovePlayerSession(String playerSessionId)
```

### Parameter
<a name="integration-server-sdk-csharp-ref-removeplayersession-parameter"></a>

**playerSessionId**  
ID unik yang dikeluarkan oleh Amazon GameLift Servers saat sesi pemain baru dibuat. ID sesi pemain ditentukan dalam `PlayerSession` objek, yang dikembalikan sebagai respons terhadap panggilan klien ke tindakan *GameLift API [ StartGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*,, [ CreateGameSession[ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html), atau [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Tipe: String  
Diperlukan: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-removeplayersession-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-removeplayersession-example"></a>

```
Aws::GameLift::GenericOutcome disconnectOutcome = 
    Aws::GameLift::Server::RemovePlayerSession(playerSessionId);
```

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

Mengirim permintaan untuk menemukan pemain baru untuk slot terbuka dalam sesi permainan yang dibuat denganFlexMatch. Lihat juga aksi AWS SDK [StartMatchBackfill().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html) Dengan tindakan ini, permintaan backfill match dapat dimulai dengan proses server game yang menjadi host sesi game. Pelajari lebih lanjut tentang [fitur FlexMatch isi ulang](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Tindakan ini asinkron. Jika pemain baru berhasil dicocokkan, Amazon GameLift Servers layanan akan mengirimkan data mak comblang yang diperbarui menggunakan fungsi panggilan balik. `OnUpdateGameSession()`

Proses server hanya dapat melakukan satu permintaan backfill match yang aktif dalam satu waktu. Untuk mengirim permintaan baru, panggil [StopMatchBackfill()](#integration-server-sdk-csharp-ref-stopmatchbackfill) terlebih dahulu untuk membatalkan permintaan asli.

### Sintaks
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-syntax"></a>

```
StartMatchBackfillOutcome StartMatchBackfill (StartMatchBackfillRequest startBackfillRequest);
```

### Parameter
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-parameter"></a>

**StartMatchBackfillRequest**  
Sebuah objek [StartMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-startmatchbackfillrequest) yang mengkomunikasikan informasi berikut:  
+ ID tiket untuk ditetapkan ke permintaan backfill. Informasi ini opsional; jika tidak ada ID yang diberikan, Amazon GameLift Servers akan dibuat secara otomatis.
+ Matchmaker untuk dikirimi permintaan. ARN konfigurasi penuh diperlukan. Nilai ini dapat diperoleh dari data matchmaker sesi game.
+ ID dari sesi game yang sedang di-backfill.
+ Data matchmaking yang tersedia untuk pemain sesi game saat ini.
Wajib: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-return"></a>

Mengembalikan StartMatchBackfillOutcome objek dengan ID tiket isi ulang pertandingan atau kegagalan dengan pesan kesalahan. 

### Contoh
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-example"></a>

```
// Build a backfill request
var startBackfillRequest = new AWS.GameLift.Server.Model.StartMatchBackfillRequest()
{
    TicketId = "a ticket ID", //optional
    MatchmakingConfigurationArn = "the matchmaker configuration ARN", 
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result,    // gets ID for current game session
        //get player data for all currently connected players
            MatchmakerData matchmakerData =        
              MatchmakerData.FromJson(gameSession.MatchmakerData);  // gets matchmaker data for current players
            // get matchmakerData.Players
            // remove data for players who are no longer connected
    Players = ListOfPlayersRemainingInTheGame
};

// Send backfill request
var startBackfillOutcome = GameLiftServerAPI.StartMatchBackfill(startBackfillRequest);

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

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

Membatalkan permintaan backfill match aktif yang dibuat dengan [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill). Lihat juga aksi AWS SDK [StopMatchmaking().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html) Pelajari lebih lanjut tentang [fitur FlexMatch isi ulang](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Sintaks
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-syntax"></a>

```
GenericOutcome StopMatchBackfill (StopMatchBackfillRequest stopBackfillRequest);
```

### Parameter
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-parameter"></a>

**StopMatchBackfillRequest**  
Sebuah objek [StopMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-stopmatchbackfillrequest) yang mengidentifikasi tiket matchmaking untuk membatalkan:   
+ ID tiket yang ditetapkan ke permintaan backfill yang dibatalkan
+ matchmaker yang dikirimi permintaan backfill
+ sesi game yang terkait dengan permintaan backfill
Wajib: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

var stopBackfillRequest = new AWS.GameLift.Server.Model.StopMatchBackfillRequest()
{
    TicketId = "a ticket ID", //optional, if not provided one is autogenerated
    MatchmakingConfigurationArn = "the matchmaker configuration ARN", //from the game session matchmaker data
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result    //gets the ID for the current game session
};

var stopBackfillOutcome = GameLiftServerAPI.StopMatchBackfillRequest(stopBackfillRequest);
```

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

**Metode ini tidak lagi digunakan dengan versi 4.0.1. Sebaliknya, proses server harus memanggil [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) setelah sesi permainan berakhir.**

Memberitahu Amazon GameLift Servers layanan bahwa proses server telah mengakhiri sesi permainan saat ini. Tindakan ini dipanggil ketika proses server akan tetap aktif dan siap untuk menjadi host sesi game baru. Ini harus dipanggil hanya setelah prosedur penghentian sesi permainan Anda selesai, karena ini menandakan Amazon GameLift Servers bahwa proses server segera tersedia untuk meng-host sesi permainan baru. 

Tindakan ini tidak dipanggil jika proses server akan dimatikan setelah sesi game berhenti. Sebagai gantinya, panggil [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) untuk memberi tahu bahwa sesi game dan proses server akan berakhir. 

### Sintaks
<a name="integration-server-sdk-csharp-ref-terminategamesession-syntax"></a>

```
GenericOutcome TerminateGameSession()
```

### Parameter
<a name="integration-server-sdk-csharp-ref-terminategamesession-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-terminategamesession-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-terminategamesession-example"></a>

Contoh ini menggambarkan proses server pada akhir sesi game.

```
// game-specific tasks required to gracefully shut down a game session, 
// such as notifying players, preserving game state data, and other cleanup

var terminateGameSessionOutcome = GameLiftServerAPI.TerminateGameSession();
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);
```

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

Memperbarui kemampuan sesi game saat ini untuk menerima sesi pemain baru. Sesi game dapat diatur untuk menerima atau menolak semua sesi pemain baru. (Lihat juga tindakan [UpdateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html) di *Referensi API Amazon GameLift Servers Layanan*).

### Sintaks
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-syntax"></a>

```
GenericOutcome UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy playerSessionPolicy)
```

### Parameter
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-parameter"></a>

**newPlayerSessionKebijakan**  
Nilai string yang menunjukkan apakah sesi game menerima pemain baru.   
Jenis: Enum [PlayerSessionCreationPolicy](https://sdk.amazonaws.com/cpp/api/LATEST/namespace_aws_1_1_game_lift_1_1_model.html#afa8a7527defe9e7ca0caebc239182c43). Nilai yang valid meliputi:  
+ **ACCEPT\_ALL** — Menerima semua sesi pemain baru.
+ **DENY\_ALL** — Menolak semua sesi pemain baru.
Wajib: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-return"></a>

Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.

### Contoh
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-example"></a>

Contoh ini menetapkan kebijakan bergabung sesi game saat ini untuk menerima semua pemain.

```
var updatePlayerSessionCreationPolicyOutcomex = 
    GameLiftServerAPI.UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy.ACCEPT_ALL);
```