

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

# Integrasikan Amazon GameLift Servers dengan proyek server game Unity
<a name="integration-unity-server-sdk4"></a>

**catatan**  
Topik ini memberikan informasi untuk versi Amazon GameLift Servers plugin yang lebih lama untuk Unity. Versi 1.x menggunakan SDK server untuk Amazon GameLift Servers 4.x atau sebelumnya. Untuk dokumentasi tentang versi plugin terbaru, yang menggunakan server SDK 5.x dan mendukung fitur yang lebih baru seperti Amazon GameLift Servers Anywhere dan hosting container terkelola, lihat. [Amazon GameLift Serversplugin untuk Unity (server SDK 5.x)](unity-plug-in.md)

Topik ini membantu Anda mempersiapkan server game khusus Anda untuk hostingAmazon GameLift Servers. Server game harus dapat memberi tahu Amazon GameLift Servers tentang statusnya, untuk memulai dan menghentikan sesi permainan saat diminta, dan untuk melakukan tugas-tugas lain. Untuk informasi selengkapnya, lihat [Tambahkan Amazon GameLift Servers ke server game Anda dengan SDK server](gamelift-sdk-server-api.md).

## Prasyarat
<a name="integration-unity-server-sdk4-prereq"></a>

Sebelum mengintegrasikan server game Anda, selesaikan tugas-tugas berikut: 
+ [Menyiapkan peran layanan IAM untuk Amazon GameLift Servers](setting-up-role.md)
+ [Instal dan atur plugin](unity-plug-in-sdk4.md#unity-plug-in-sdk4-install)

## Siapkan proses server baru
<a name="integration-unity-server-sdk4-server-process"></a>

**catatan**  
Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau sebelumnya.

Siapkan komunikasi dengan Amazon GameLift Servers dan laporkan bahwa proses server siap untuk menjadi tuan rumah sesi permainan. 

1. Inisialisasi SDK server dengan menelepon. `InitSDK()` 

1. Untuk mempersiapkan server menerima sesi permainan, hubungi `ProcessReady()` dengan port koneksi dan detail lokasi sesi permainan. Sertakan nama fungsi callback yang dipanggil Amazon GameLift Servers layanan, seperti,`OnGameSession()`,`OnGameSessionUpdate()`,`OnProcessTerminate()`. `OnHealthCheck()` Amazon GameLift Serversmungkin perlu beberapa menit untuk memberikan panggilan balik.

1. Amazon GameLift Serversmemperbarui status proses server ke`ACTIVE`.

1. Amazon GameLift Serversmenelepon `onHealthCheck` secara berkala.

Contoh kode berikut menunjukkan cara mengatur proses server sederhana denganAmazon GameLift Servers. 

```
//initSDK
var initSDKOutcome = GameLiftServerAPI.InitSDK();
           
//processReady
// Set parameters and call ProcessReady
var processParams = new ProcessParameters(
    this.OnGameSession,
    this.OnProcessTerminate,
    this.OnHealthCheck,
    this.OnGameSessionUpdate,
    port,
    // Examples of log and error files written by the game server
    new LogParameters(new List<string>()          
        {
            "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;
}
```

## Mulai sesi game
<a name="integration-unity-server-sdk4-start-game-session"></a>

**catatan**  
Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau sebelumnya.

Setelah inisialisasi game selesai, Anda dapat memulai sesi permainan.

1. Menerapkan fungsi `onStartGameSession` callback. Amazon GameLift Serversmemanggil metode ini untuk memulai sesi permainan baru pada proses server dan menerima koneksi pemain.

1. Untuk mengaktifkan sesi permainan, hubungi`ActivateGameSession()`. Untuk informasi selengkapnya tentang SDK, lihat[SDK server C \# untuk Amazon GameLift Servers 4.x -- Tindakan](integration-server-sdk-csharp-ref-actions.md).

Contoh kode berikut menggambarkan bagaimana memulai sesi permainan denganAmazon GameLift Servers. 

```
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();
}
```

## Mengakhiri sesi game
<a name="integration-unity-server-sdk4-end-game-session"></a>

**catatan**  
Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau sebelumnya.

Beri tahu Amazon GameLift Servers saat sesi permainan berakhir. Sebagai praktik terbaik, matikan proses server setelah sesi game selesai untuk mendaur ulang dan menyegarkan sumber daya hosting. 

1. Siapkan fungsi bernama `onProcessTerminate` untuk menerima permintaan dari Amazon GameLift Servers dan panggilan`ProcessEnding()`. 

1. Status proses berubah menjadi`TERMINATED`.

Contoh berikut menjelaskan cara mengakhiri proses untuk sesi permainan.

```
var processEndingOutcome = GameLiftServerAPI.ProcessEnding();

if (processReadyOutcome.Success)
   Environment.Exit(0);

// otherwise, exit with error code
Environment.Exit(errorCode);
```

## Buat pembuatan server dan unggah ke Amazon GameLift Servers
<a name="integration-unity-server-sdk4-gamelift-connection"></a>

**catatan**  
Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau sebelumnya.

Setelah Anda mengintegrasikan server game AndaAmazon GameLift Servers, unggah file build ke armada sehingga Amazon GameLift Servers dapat menerapkannya untuk hosting game. Untuk informasi selengkapnya tentang cara mengunggah server AndaAmazon GameLift Servers, lihat[Buat build server game untuk Amazon GameLift Servers](gamelift-build-cli-uploading.md).