

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

# Server C \$1\$1 SDK 5.x untuk Amazon GameLift Servers -- Tindakan
<a name="integration-server-sdk5-cpp-actions"></a>

Gunakan referensi SDK 5.x 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**  
Topik ini menjelaskan Amazon GameLift Servers C\$1\$1 API yang dapat Anda gunakan saat membangun dengan C\$1\$1 Standard Library ()`std`. Secara khusus, dokumentasi ini berlaku untuk kode yang Anda kompilasi dengan `-DDGAMELIFT_USE_STD=1` opsi. 

[Server C \$1\$1 SDK 5.x untuk Amazon GameLift Servers -- Tipe data](integration-server-sdk5-cpp-datatypes.md)

**Topics**
+ [Server C \$1\$1 SDK 5.x untuk Amazon GameLift Servers -- Tipe data](integration-server-sdk5-cpp-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk5-cpp-getsdkversion)
+ [InitMetrics()](#integration-server-sdk5-cpp-initmetrics)
+ [InitSDK()](#integration-server-sdk5-cpp-initsdk)
+ [InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere)
+ [ProcessReady()](#integration-server-sdk5-cpp-processready)
+ [ProcessReadyAsync()](#integration-server-sdk5-cpp-processreadyasync)
+ [ProcessEnding()](#integration-server-sdk5-cpp-processending)
+ [ActivateGameSession()](#integration-server-sdk5-cpp-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk5-cpp-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk5-cpp-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk5-cpp-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk5-cpp-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk5-cpp-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk5-cpp-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk5-cpp-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk5-cpp-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk5-cpp-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk5-cpp-getfleetrolecredentials)
+ [Hancurkan ()](#integration-server-sdk5-cpp-ref-destroy)

## GetSdkVersion()
<a name="integration-server-sdk5-cpp-getsdkversion"></a>

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

### Sintaks
<a name="integration-server-sdk5-cpp-getsdkversion-syntax"></a>

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

### Nilai yang ditampilkan
<a name="integration-server-sdk5-cpp-getsdkversion-return"></a>

Jika berhasil, ini mengembalikan versi SDK saat ini sebagai objek [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome). Objek yang dikembalikan menyertakan nomor versi (contoh`5.0.0`). Jika tidak berhasil, ini mengembalikan pesan kesalahan.

### Contoh
<a name="integration-server-sdk5-cpp-getsdkversion-example"></a>

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

## InitMetrics()
<a name="integration-server-sdk5-cpp-initmetrics"></a>

Menginisialisasi sistem metrik untuk mengumpulkan dan melaporkan data kinerja server. Untuk hasil terbaik, hubungi metode ini sebelumnya [InitSDK()](#integration-server-sdk5-cpp-initsdk) untuk mengaktifkan pengumpulan metrik selama inisialisasi SDK.

### Sintaks
<a name="integration-server-sdk5-cpp-initmetrics-syntax"></a>

```
Aws::GameLift::GenericOutcome InitMetrics();
Aws::GameLift::GenericOutcome InitMetrics(const Aws::GameLift::Server::MetricsParameters &metricsParameters);
```

### Parameter
<a name="integration-server-sdk5-cpp-initmetrics-parameter"></a>

[MetricsParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-metricsparameters) (opsional)  
Parameter konfigurasi untuk pengumpulan metrik. Jika tidak disediakan, menggunakan nilai default yang dapat diganti oleh variabel lingkungan.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-initmetrics-return"></a>

Jika berhasil, mengembalikan [GenericOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-genericoutcome) objek yang menunjukkan keberhasilan. Jika tidak berhasil, ini mengembalikan pesan kesalahan.

### Contoh
<a name="integration-server-sdk5-cpp-initmetrics-example"></a>

```
// Initialize with default parameters (uses environment variables if available)
// Defaults: localhost:8125 for StatsD, localhost:8126 for crash reporter
// FlushInterval: 10000ms, MaxPacketSize: 512 bytes
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::InitMetrics();
if (outcome.IsSuccess()) {
    // Metrics system initialized successfully
}

// Initialize with custom parameters
Aws::GameLift::Server::MetricsParameters metricsParams("localhost", 8125, "crash-host", 8126, 5000, 1024);
Aws::GameLift::GenericOutcome customOutcome = Aws::GameLift::Server::InitMetrics(metricsParams);
if (customOutcome.IsSuccess()) {
    // Metrics system initialized with custom parameters
}
```

## InitSDK()
<a name="integration-server-sdk5-cpp-initsdk"></a>

Menginisialisasi Amazon GameLift Servers SDK. Panggil metode ini saat diluncurkan sebelum langkah inisialisasi lain yang terkait Amazon GameLift Servers dengan. Tindakan ini membaca parameter server dari lingkungan host untuk mengatur komunikasi antara proses server game dan Amazon GameLift Servers layanan. Ini menggunakan token idempotensi, jadi Anda mencoba kembali panggilan ini dengan aman ketika gagal.

Jika build server game akan dikerahkan tanpa Amazon GameLift Servers Agen ke armada atau armada kontainer Amazon GameLift Servers Anywhere, panggil [InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere) dan tentukan satu set parameter server.

### Sintaks
<a name="integration-server-sdk5-cpp-initsdk-syntax"></a>

```
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK();
```

### Nilai yang ditampilkan
<a name="integration-server-sdk5-cpp-initsdk-return"></a>

Mengembalikan [Init SDKOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) objek yang menunjukkan apakah proses server siap untuk memanggil[ProcessReady()](#integration-server-sdk5-cpp-processready). 

### Contoh
<a name="integration-server-sdk5-cpp-initsdk-example"></a>

```
//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = 
  Aws::GameLift::Server::InitSDK();
```

## InitSDK()
<a name="integration-server-sdk5-cpp-initsdk-anywhere"></a>

Menginisialisasi Amazon GameLift Servers SDK. Panggil metode ini saat diluncurkan sebelum langkah inisialisasi lain yang terkait Amazon GameLift Servers dengan. Tindakan ini membutuhkan seperangkat parameter server untuk mengatur komunikasi antara proses server game dan Amazon GameLift Servers layanan. Ini menggunakan token idempotensi, jadi Anda mencoba kembali panggilan ini dengan aman ketika gagal.

Jika build server game akan dikerahkan ke armada EC2 Amazon GameLift Servers terkelola atau ke armada Amazon GameLift Servers Anywhere atau armada kontainer dengan Amazon GameLift Servers Agen, hubungi [InitSDK()](#integration-server-sdk5-cpp-initsdk) tanpa parameter server.

### Sintaks
<a name="integration-server-sdk5-cpp-initsdk-anywhere-syntax"></a>

```
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK(serverParameters);
```

### Parameter
<a name="integration-server-sdk5-cpp-initsdk-anywhere-parameter"></a>

[ServerParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-serverparameters)  
Untuk menginisialisasi server game pada armada Amazon GameLift Servers Anywhere, buat `ServerParameters` objek dengan informasi berikut:  
+ URL yang WebSocket digunakan untuk terhubung ke server game Anda. 
+ ID dari proses yang digunakan untuk meng-host server game Anda. 
+ ID komputasi yang menghosting proses server game Anda. 
+ ID Amazon GameLift Servers armada yang berisi komputasi Amazon GameLift Servers Anywhere Anda.
+ Token otorisasi yang dihasilkan oleh Amazon GameLift Servers operasi. 

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-initsdk-anywhere-return"></a>

Mengembalikan [Init SDKOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) objek yang menunjukkan apakah proses server siap untuk memanggil[ProcessReady()](#integration-server-sdk5-cpp-processready). 

**catatan**  
Jika panggilan gagal untuk build game yang diterapkan ke `InitSDK()` armada Anywhere, periksa `ServerSdkVersion` parameter yang digunakan saat membuat sumber daya build. Anda harus secara eksplisit menetapkan nilai ini ke versi SDK server yang digunakan. Nilai default untuk parameter ini adalah 4.x, yang tidak kompatibel. Untuk mengatasi masalah ini, buat build baru dan terapkan ke armada baru.

### Contoh
<a name="integration-server-sdk5-cpp-initsdk-anywhere-example"></a>

Amazon GameLift ServersContoh di mana saja

```
//Define the server parameters
std::string websocketUrl = "wss://us-west-1.api.amazongamelift.com";
std::string processId = "PID1234";
std::string fleetId = "arn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa";
std::string hostId = "HardwareAnywhere";
std::string authToken = "1111aaaa-22bb-33cc-44dd-5555eeee66ff";
Aws::GameLift::Server::Model::ServerParameters serverParameters = 
  Aws::GameLift::Server::Model::ServerParameters(webSocketUrl, authToken, fleetId, hostId, processId);

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = Aws::GameLift::Server::InitSDK(serverParameters);
```

## ProcessReady()
<a name="integration-server-sdk5-cpp-processready"></a>

Memberitahu Amazon GameLift Servers bahwa proses server siap untuk meng-host sesi permainan. Panggil metode ini setelah memanggil[InitSDK()](#integration-server-sdk5-cpp-initsdk). Metode ini harus dipanggil hanya satu kali per proses.

### Sintaks
<a name="integration-server-sdk5-cpp-processready-syntax"></a>

`GenericOutcome ProcessReady(const Aws::GameLift::Server::ProcessParameters &processParameters);`

### Parameter
<a name="integration-server-sdk5-cpp-processready-parameter"></a>

**processParameters**  
Sebuah objek [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) yang mengomunikasikan informasi berikut tentang proses server:  
+ Nama metode callback yang 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.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-processready-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-processready-example"></a>

Contoh ini menggambarkan panggilan [ProcessReady()](#integration-server-sdk5-cpp-processready) dan mendelegasi implementasi fungsi.

```
// Set parameters and call ProcessReady
std::string serverLog("serverOut.log");        // Example of a log file written by the game server
std::vector<std::string> logPaths;
logPaths.push_back(serverLog);
int listenPort = 9339;

Aws::GameLift::Server::ProcessParameters processReadyParameter = 
  Aws::GameLift::Server::ProcessParameters(
    std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
    std::bind(&Server::onProcessTerminate, this), 
    std::bind(&Server::OnHealthCheck, this), 
    std::bind(&Server::OnUpdateGameSession, this), 
    listenPort, 
    Aws::GameLift::Server::LogParameters(logPaths)
  ); 

Aws::GameLift::GenericOutcome outcome = 
  Aws::GameLift::Server::ProcessReady(processReadyParameter);

// Implement callback functions
void Server::onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
  // game-specific tasks when starting a new game session, such as loading map
  GenericOutcome outcome = 
    Aws::GameLift::Server::ActivateGameSession (maxPlayers);
}

void Server::onProcessTerminate()
{
  // game-specific tasks required to gracefully shut down a game session, 
  // such as notifying players, preserving game state data, and other cleanup
  GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
}

bool Server::onHealthCheck()
{
  bool health;
  // complete health evaluation within 60 seconds and set health
  return health;
}
```

## ProcessReadyAsync()
<a name="integration-server-sdk5-cpp-processreadyasync"></a>

Memberitahu Amazon GameLift Servers layanan bahwa proses server siap untuk meng-host sesi permainan. Metode ini harus dipanggil setelah proses server siap untuk meng-host sesi permainan. Parameter menentukan nama fungsi callback Amazon GameLift Servers untuk dipanggil dalam keadaan tertentu. Kode server game harus menerapkan fungsi-fungsi ini.

Ini adalah panggilan asinkron. Untuk membuat panggilan sinkron, gunakan [ProcessReady()](#integration-server-sdk5-cpp-processready). Lihat [Inisialisasi proses server](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize) untuk detail selengkapnya.

### Sintaks
<a name="integration-server-sdk5-cpp-processreadyasync-syntax"></a>

```
GenericOutcomeCallable ProcessReadyAsync(
    const Aws::GameLift::Server::ProcessParameters &processParameters);
```

### Parameter
<a name="integration-server-sdk5-cpp-processreadyasync-parameter"></a>

**processParameters**  
Sebuah objek [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) yang mengomunikasikan informasi berikut tentang proses server:  
+ Nama metode callback yang 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-sdk5-cpp-processreadyasync-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-processreadyasync-example"></a>

```
// Set parameters and call ProcessReady
std::string serverLog("serverOut.log");        // This is an example of a log file written by the game server
std::vector<std::string> logPaths;
logPaths.push_back(serverLog);
int listenPort = 9339;

Aws::GameLift::Server::ProcessParameters processReadyParameter = 
  Aws::GameLift::Server::ProcessParameters(std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
  std::bind(&Server::onProcessTerminate, this), std::bind(&Server::OnHealthCheck, this),
  std::bind(&Server::OnUpdateGameSession, this), listenPort, Aws::GameLift::Server::LogParameters(logPaths));

Aws::GameLift::GenericOutcomeCallable outcome = 
  Aws::GameLift::Server::ProcessReadyAsync(processReadyParameter);

// Implement callback functions
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
  // game-specific tasks when starting a new game session, such as loading map
  GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession (maxPlayers);
}

void onProcessTerminate()
{
  // game-specific tasks required to gracefully shut down a game session, 
  // such as notifying players, preserving game state data, and other cleanup
  GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
}

bool onHealthCheck()
{
  // perform health evaluation and complete within 60 seconds
  return health;
}
```

## ProcessEnding()
<a name="integration-server-sdk5-cpp-processending"></a>

Memberitahu Amazon GameLift Servers bahwa proses server berakhir. Panggil metode ini setelah semua tugas pembersihan lainnya (termasuk mematikan sesi permainan aktif) dan sebelum mengakhiri proses. Tergantung pada hasil`ProcessEnding()`, proses keluar dengan sukses (0) atau kesalahan (-1) dan menghasilkan peristiwa armada. Jika proses berakhir dengan kesalahan, peristiwa armada yang dihasilkan adalah`SERVER_PROCESS_TERMINATED_UNHEALTHY`.

### Sintaks
<a name="integration-server-sdk5-cpp-processending-syntax"></a>

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
```

### Nilai yang ditampilkan
<a name="integration-server-sdk5-cpp-processending-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-processending-example"></a>

Contoh ini memanggil `ProcessEnding()` dan `Destroy()` sebelum menghentikan proses server dengan kode keluar sukses atau kesalahan.

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Aws::GameLift::Server::Destroy();

// Exit the process with success or failure
if (processEndingOutcome.IsSuccess()) {
  exit(0);
}
else {
  cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage();
  exit(-1);
}
```

## ActivateGameSession()
<a name="integration-server-sdk5-cpp-activategamesession"></a>

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

### Sintaks
<a name="integration-server-sdk5-cpp-activategamesession-syntax"></a>

```
Aws::GameLift::GenericOutcome activateGameSessionOutcome = Aws::GameLift::Server::ActivateGameSession();
```

### Nilai yang ditampilkan
<a name="integration-server-sdk5-cpp-activategamesession-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-activategamesession-example"></a>

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

```
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
  // game-specific tasks when starting a new game session, such as loading map
  GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession();
}
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk5-cpp-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.

### Sintaks
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-syntax"></a>

```
GenericOutcome UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy newPlayerSessionPolicy);
```

### Parameter
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-parameter"></a>

**playerCreationSessionKebijakan**  
Jenis: nilai `PlayerSessionCreationPolicy` [enum](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-enums).  
Wajib: Ya

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-example"></a>

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

```
Aws::GameLift::GenericOutcome outcome = 
  Aws::GameLift::Server::UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy::ACCEPT_ALL);
```

## GetGameSessionId()
<a name="integration-server-sdk5-cpp-getgamesessionid"></a>

Mengambil ID sesi permainan yang dihosting oleh proses server aktif. 

Untuk proses idle yang tidak diaktifkan dengan sesi game, panggilan akan menampilkan file. [GameLiftError](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-gamelifterror)

### Sintaks
<a name="integration-server-sdk5-cpp-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

### Parameter
<a name="integration-server-sdk5-cpp-getgamesessionid-parameter"></a>

Tindakan ini tidak memiliki parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-getgamesessionid-return"></a>

Jika berhasil, ini mengembalikan ID sesi game sebagai objek [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome). Jika tidak berhasil, ini mengembalikan pesan kesalahan.

Untuk proses idle yang tidak diaktifkan dengan sesi game, panggilan mengembalikan `Success` = `True` dan `GameSessionId` =`""`.

### Contoh
<a name="integration-server-sdk5-cpp-getgamesessionid-example"></a>

```
Aws::GameLift::AwsStringOutcome sessionIdOutcome = Aws::GameLift::Server::GetGameSessionId();
```

## GetTerminationTime()
<a name="integration-server-sdk5-cpp-getterm"></a>

Mengembalikan waktu yang merupakan jadwal proses server akan ditutup, jika waktu penghentian tersedia. Proses server mengambil tindakan setelah menerima `onProcessTerminate()` panggilan balik dariAmazon GameLift Servers. Amazon GameLift Serverspanggilan `onProcessTerminate()` untuk alasan berikut: 
+ Ketika proses server telah melaporkan kesehatan yang buruk atau belum Amazon GameLift Servers merespons.
+ Saat mengakhiri instance selama acara scale-down.
+ Ketika sebuah instance dihentikan karena gangguan [spot-instance](spot-tasks.md).

### Sintaks
<a name="integration-server-sdk5-cpp-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

### Nilai yang ditampilkan
<a name="integration-server-sdk5-cpp-getterm-return"></a>

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

Jika proses belum menerima ProcessParameters. OnProcessTerminate() callback, pesan kesalahan dikembalikan. Untuk informasi selengkapnya tentang mematikan proses server, lihat[Menanggapi notifikasi shutdown proses server](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

### Contoh
<a name="integration-server-sdk5-cpp-getterm-example"></a>

```
Aws::GameLift::AwsLongOutcome TermTimeOutcome = Aws::GameLift::Server::GetTerminationTime(); 
```

## AcceptPlayerSession()
<a name="integration-server-sdk5-cpp-acceptplayersession"></a>

Memberitahu Amazon GameLift Servers bahwa pemain dengan ID sesi pemain tertentu telah terhubung ke proses server dan membutuhkan validasi. Amazon GameLift Serversmemverifikasi bahwa ID sesi pemain valid. Setelah sesi pemain divalidasi, Amazon GameLift Servers mengubah status slot pemain dari RESERVED menjadi AKTIF. 

### Sintaks
<a name="integration-server-sdk5-cpp-acceptplayersession-syntax"></a>

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

### Parameter
<a name="integration-server-sdk5-cpp-acceptplayersession-parameter"></a>

playerSessionId  
ID unik yang dikeluarkan oleh Amazon GameLift Servers saat sesi pemain baru dibuat.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-acceptplayersession-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-acceptplayersession-example"></a>

Contoh ini menangani permintaan koneksi yang mencakup memvalidasi dan menolak sesi pemain yang tidak valid. IDs

```
void ReceiveConnectingPlayerSessionID (Connection& connection, const std::string& playerSessionId)
{
  Aws::GameLift::GenericOutcome connectOutcome = Aws::GameLift::Server::AcceptPlayerSession(playerSessionId);
  if(connectOutcome.IsSuccess())
  {
    connectionToSessionMap.emplace(connection, playerSessionId);
    connection.Accept();
  }
  else 
  {
    connection.Reject(connectOutcome.GetError().GetMessage();
  }       
}
```

## RemovePlayerSession()
<a name="integration-server-sdk5-cpp-removeplayersession"></a>

Memberitahu Amazon GameLift Servers bahwa pemain telah terputus dari proses server. Sebagai tanggapan, Amazon GameLift Servers ubah slot pemain menjadi tersedia. 

### Sintaks
<a name="integration-server-sdk5-cpp-removeplayersession-syntax"></a>

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

### Parameter
<a name="integration-server-sdk5-cpp-removeplayersession-parameter"></a>

**`playerSessionId`**  
ID unik yang dikeluarkan oleh Amazon GameLift Servers saat sesi pemain baru dibuat.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-removeplayersession-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-removeplayersession-example"></a>

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

## DescribePlayerSessions()
<a name="integration-server-sdk5-cpp-describeplayersessions"></a>

Mengambil data sesi pemain yang mencakup pengaturan, metadata sesi, dan data pemain. Gunakan metode ini untuk mendapatkan informasi tentang hal-hal berikut:
+ Sesi pemain tunggal
+ Semua sesi pemain dalam sesi permainan
+ Semua sesi pemain yang terkait dengan ID pemain tunggal

### Sintaks
<a name="integration-server-sdk5-cpp-describeplayersessions-syntax"></a>

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

### Parameter
<a name="integration-server-sdk5-cpp-describeplayersessions-parameter"></a>

**[DescribePlayerSessionsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-playersessions)**  
[DescribePlayerSessionsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-playersessions)Objek yang menggambarkan sesi pemain mana yang akan diambil.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-describeplayersessions-return"></a>

Jika berhasil, ini mengembalikan objek [DescribePlayerSessionsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-describeplayersessionsoutcome) yang berisi satu set objek sesi pemain yang sesuai dengan parameter permintaan.

### Contoh
<a name="integration-server-sdk5-cpp-describeplayersessions-example"></a>

Contoh ini meminta semua sesi pemain yang terhubung secara aktif ke sesi permainan tertentu. Dengan menghilangkan *NextToken*dan mengatur nilai *Batas* ke 10, Amazon GameLift Servers mengembalikan catatan sesi 10 pemain pertama yang cocok dengan permintaan.

```
// Set request parameters
Aws::GameLift::Server::Model::DescribePlayerSessionsRequest request;
request.SetPlayerSessionStatusFilter(Aws::GameLift::Server::Model::PlayerSessionStatusMapper::GetNameForPlayerSessionStatus(Aws::GameLift::Server::Model::PlayerSessionStatus::Active));
request.SetLimit(10);
request.SetGameSessionId("the game session ID");    // can use GetGameSessionId()

// Call DescribePlayerSessions
Aws::GameLift::DescribePlayerSessionsOutcome playerSessionsOutcome = Aws::GameLift::Server::DescribePlayerSessions(request);
```

## StartMatchBackfill()
<a name="integration-server-sdk5-cpp-startmatchbackfill"></a>

Mengirim permintaan untuk menemukan pemain baru untuk slot terbuka dalam sesi permainan yang dibuat denganFlexMatch. Untuk informasi selengkapnya, lihat [fitur FlexMatch isi ulang](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Tindakan ini asinkron. Jika pemain baru dicocokkan, kirimkan data Amazon GameLift Servers 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-sdk5-cpp-stopmatchbackfill) terlebih dahulu untuk membatalkan permintaan asli.

### Sintaks
<a name="integration-server-sdk5-cpp-startmatchbackfill-syntax"></a>

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

### Parameter
<a name="integration-server-sdk5-cpp-startmatchbackfill-parameter"></a>

**[StartMatchBackfillRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-startmatchbackfillrequest)**  
 StartMatchBackfillRequest Objek yang mengkomunikasikan informasi berikut:  
+ ID tiket untuk ditetapkan ke permintaan backfill. Informasi ini opsional; jika tidak ada ID yang diberikan, Amazon GameLift Servers akan menghasilkan satu.
+ Matchmaker untuk dikirimi permintaan. ARN konfigurasi penuh diperlukan. Nilai ini ada dalam data mak comblang sesi permainan.
+ ID sesi permainan untuk mengisi ulang.
+ Data perjodohan yang tersedia untuk pemain sesi permainan saat ini.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-startmatchbackfill-return"></a>

Mengembalikan [StartMatchBackfillOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-startmatchbackfilloutcome) objek dengan ID tiket isi ulang kecocokan, atau kegagalan dengan pesan kesalahan. 

### Contoh
<a name="integration-server-sdk5-cpp-startmatchbackfill-example"></a>

```
// Build a backfill request
std::vector<Player> players;
Aws::GameLift::Server::Model::StartMatchBackfillRequest startBackfillRequest;
startBackfillRequest.SetTicketId("1111aaaa-22bb-33cc-44dd-5555eeee66ff");  // optional, autogenerated if not provided
startBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"); //from the game session matchmaker data
startBackfillRequest.SetGameSessionArn("the game session ARN");        // can use GetGameSessionId()
startBackfillRequest.SetPlayers(players);                                  // from the game session matchmaker data

// Send backfill request
Aws::GameLift::StartMatchBackfillOutcome backfillOutcome = 
  Aws::GameLift::Server::StartMatchBackfill(startBackfillRequest);

// Implement callback function for backfill
void Server::OnUpdateGameSession(Aws::GameLift::Server::Model::GameSession gameSession, Aws::GameLift::Server::Model::UpdateReason updateReason, std::string backfillTicketId)
{
  // handle status messages
  // perform game-specific tasks to prep for newly matched players
}
```

## StopMatchBackfill()
<a name="integration-server-sdk5-cpp-stopmatchbackfill"></a>

Membatalkan permintaan pengisian ulang pertandingan yang aktif. Untuk informasi selengkapnya, lihat [fitur FlexMatch isi ulang](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Sintaks
<a name="integration-server-sdk5-cpp-stopmatchbackfill-syntax"></a>

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

### Parameter
<a name="integration-server-sdk5-cpp-stopmatchbackfill-parameter"></a>

**[StopMatchBackfillRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-stopmatchbackfillrequest)**  
 StopMatchBackfillRequest Objek yang mengidentifikasi tiket perjodohan untuk dibatalkan:   
+ ID tiket yang ditetapkan untuk permintaan pengisian ulang.
+ Mak comblang permintaan isi ulang dikirim ke.
+ Sesi permainan yang terkait dengan permintaan isi ulang.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-stopmatchbackfill-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

Aws::GameLift::Server::Model::StopMatchBackfillRequest stopBackfillRequest;
stopBackfillRequest.SetTicketId("1111aaaa-22bb-33cc-44dd-5555eeee66ff");
stopBackfillRequest.SetGameSessionArn("the game session ARN"); // can use GetGameSessionId()
stopBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig");
// from the game session matchmaker data

Aws::GameLift::GenericOutcome stopBackfillOutcome = 
  Aws::GameLift::Server::StopMatchBackfill(stopBackfillRequest);
```

## GetComputeCertificate()
<a name="integration-server-sdk5-cpp-getcomputecertificate"></a>

Mengambil jalur ke sertifikat TLS yang digunakan untuk mengenkripsi koneksi jaringan antara sumber daya komputasi Amazon GameLift Servers Anywhere Anda dan. Amazon GameLift Servers Anda dapat menggunakan jalur sertifikat saat mendaftarkan perangkat komputasi ke armada Amazon GameLift Servers Anywhere. Untuk informasi selengkapnya, lihat [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).

### Sintaks
<a name="integration-server-sdk5-cpp-getcomputecertificate-syntax"></a>

```
GetComputeCertificateOutcome Server::GetComputeCertificate()
```

### Nilai yang ditampilkan
<a name="integration-server-sdk5-cpp-getcomputecertificate-return"></a>

Mengembalikan [GetComputeCertificateOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getcomputecertificateoutcome).

### Contoh
<a name="integration-server-sdk5-cpp-getcomputecertificate-example"></a>

```
Aws::GameLift::GetComputeCertificateOutcome certificate = Aws::GameLift::Server::GetComputeCertificate();
```

## GetFleetRoleCredentials()
<a name="integration-server-sdk5-cpp-getfleetrolecredentials"></a>

Mengambil kredensyal peran IAM yang memberi wewenang Amazon GameLift Servers untuk berinteraksi dengan orang lain. Layanan AWS Untuk informasi selengkapnya, lihat [Hubungkan server game yang Amazon GameLift Servers di-host ke AWS sumber daya lain](gamelift-sdk-server-resources.md).

### Sintaks
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-syntax"></a>

```
GetFleetRoleCredentialsOutcome GetFleetRoleCredentials(GetFleetRoleCredentialsRequest request);
```

### Parameter
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-getfleetrolecredentialsrequest)

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-return"></a>

Mengembalikan objek [GetFleetRoleCredentialsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsoutcome).

### Contoh
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-example"></a>

```
// form the fleet credentials request 
Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; 
getFleetRoleCredentialsRequest.SetRoleArn("arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction");

Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

Contoh ini menunjukkan penggunaan `RoleSessionName` nilai opsional untuk menetapkan nama ke sesi kredensyal untuk tujuan audit. Jika Anda tidak memberikan nama sesi peran, nilai default "*[fleet-id]*-*[host-id]*" digunakan.

```
// form the fleet credentials request 
Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; 
getFleetRoleCredentialsRequest.SetRoleArn("arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction");
getFleetRoleCredentialsRequest.SetRoleSessionName("MyFleetRoleSession"); 

Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

## Hancurkan ()
<a name="integration-server-sdk5-cpp-ref-destroy"></a>

Membebaskan SDK server Amazon GameLift Servers game dari memori. Sebagai praktik terbaik, hubungi metode ini setelah `ProcessEnding()` dan sebelum mengakhiri proses. Jika Anda menggunakan armada Anywhere dan Anda tidak menghentikan proses server setelah setiap sesi game, panggil `Destroy()` dan kemudian `InitSDK()` untuk menginisialisasi ulang sebelum memberi tahu Amazon GameLift Servers bahwa proses tersebut siap untuk menjadi tuan rumah sesi game. `ProcessReady()`

### Sintaks
<a name="integration-server-sdk5-cpp-ref-destroy-syntax"></a>

```
GenericOutcome Aws::GameLift::Server::Destroy();
```

### Parameter
<a name="integration-server-sdk5-cpp-ref-destroy-parameter"></a>

Tidak ada parameter.

### Nilai yang dikembalikan
<a name="integration-server-sdk5-cpp-ref-destroy-return"></a>

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

### Contoh
<a name="integration-server-sdk5-cpp-ref-destroy-example"></a>

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Aws::GameLift::Server::Destroy();

// Exit the process with success or failure
if (processEndingOutcome.IsSuccess()) {
  exit(0);
}
else {
  cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage();
  exit(-1);
}
```