

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

# Mulai sesi streaming dengan Amazon GameLift Streams
<a name="stream-sessions"></a>

Bagian ini mencakup sesi streaming, contoh sebenarnya dari aliran di mana pengguna akhir atau pemain dapat berinteraksi dengan aplikasi Anda atau memainkan game Anda. Anda akan belajar tentang cara menguji sesi streaming Anda sendiri dan memahami siklus hidup sesi streaming.

 Untuk meluncurkan sesi streaming ke pengguna akhir, Anda harus mengintegrasikan Amazon GameLift Streams ke layanan Anda sendiri. Untuk informasi lebih lanjut, lihat[Amazon GameLift Streams layanan backend dan klien web](sdk.md). 

## Tentang sesi streaming
<a name="stream-sessions-about"></a>

 Prasyarat untuk memulai sesi streaming adalah aplikasi dalam status **Siap**, grup aliran yang memiliki kapasitas yang tersedia di lokasi tempat Anda ingin melakukan streaming, dan aplikasi direplikasi ke lokasi tempat Anda ingin melakukan streaming. Sesi streaming berjalan pada salah satu sumber daya komputasi yang telah dialokasikan oleh grup aliran. Saat memulai streaming, Anda harus menentukan grup aliran dan aplikasi untuk melakukan streaming menggunakan nilai ARN atau ID mereka. 

 Ketika Anda berhasil memulai sesi streaming, Anda menerima pengenal unik untuk sesi streaming tersebut. Kemudian, Anda menggunakan ID itu untuk menghubungkan sesi streaming ke pengguna akhir. Untuk informasi selengkapnya, lihat [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)di *Referensi API Amazon GameLift Streams*. 

## Menguji aliran di konsol
<a name="stream-sessions-testing"></a>

 Cara paling langsung bagi Anda untuk menguji bagaimana streaming aplikasi Anda adalah melalui konsol Amazon GameLift Streams. Saat memulai streaming, Amazon GameLift Streams menggunakan salah satu sumber daya komputasi yang dialokasikan grup streaming Anda. Jadi, Anda harus memiliki kapasitas yang tersedia di grup streaming Anda. 

**Untuk menguji streaming Anda di konsol Amazon GameLift Streams**

1.  Masuk ke Konsol Manajemen AWS dan buka [konsol Amazon GameLift Streams](https://console.aws.amazon.com/gameliftstreams/).

1. Anda dapat menguji aliran dengan beberapa cara. Mulai dari halaman **grup Stream** atau halaman **aliran Uji** dan ikuti langkah-langkah berikut:

   1. Pilih grup streaming yang ingin Anda gunakan untuk melakukan streaming.

   1. Jika Anda memulai dari halaman **Grup Stream**, pilih **Aliran uji**. Jika Anda memulai dari halaman **aliran Uji**, pilih **Pilih**. Ini membuka halaman konfigurasi **aliran Uji** untuk grup aliran yang dipilih.

   1. Di **Aplikasi tertaut**, pilih aplikasi.

   1. Di **Lokasi**, pilih lokasi dengan kapasitas yang tersedia.

   1. (Opsional) Dalam **konfigurasi Program**, masukkan argumen baris perintah atau variabel lingkungan untuk diteruskan ke aplikasi saat diluncurkan.

   1. Konfirmasikan pilihan Anda, dan pilih **Aliran uji**.

1. Setelah streaming dimuat, Anda dapat melakukan tindakan berikut di streaming:

   1. **Untuk menghubungkan input, seperti mouse, keyboard, dan gamepad Anda (kecuali mikrofon, yang tidak didukung dalam **aliran Uji**), pilih Lampirkan input.** Anda secara otomatis melampirkan mouse Anda ketika Anda memindahkan kursor ke jendela aliran.

   1. Agar file yang dibuat selama sesi streaming diekspor ke bucket Amazon S3 di akhir sesi, **pilih Ekspor** file dan tentukan detail bucket. File yang diekspor dapat ditemukan di halaman **Sesi**.

   1. **Untuk melihat streaming di layar penuh, pilih Layar penuh.** Tekan **Escape** untuk membalikkan tindakan ini.

1. Untuk mengakhiri streaming, pilih **Hentikan sesi**. Ketika aliran terputus, kapasitas aliran menjadi tersedia untuk memulai aliran lain.

**catatan**  
Fitur **Test stream** di konsol Amazon GameLift Streams tidak mendukung mikrofon.

## Siklus hidup sesi streaming
<a name="stream-sessions-lifecycle"></a>

Saat bekerja dengan sesi streaming di Amazon GameLift Streams, diagram ini dapat membantu Anda memahami berbagai status transisi sesi streaming sepanjang siklus hidupnya. 
+ [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)membuat sesi aliran baru, yang dimulai dalam `ACTIVATING` keadaan. Saat Amazon GameLift Streams menemukan sumber daya yang tersedia untuk meng-host streaming, sesi streaming akan beralih ke. `ACTIVE` Ketika klien terhubung ke aliran aktif, sesi streaming bertransisi ke`CONNECTED`.
+ Ketika klien terputus dari aliran, sesi aliran bertransisi ke `PENDING_CLIENT_RECONNECTION` status. [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html)transisi sesi streaming ke`RECONNECTING`, dan akan memulai klien untuk menyambung kembali ke aliran atau membuat sesi aliran baru. Ketika sesi streaming siap untuk klien untuk terhubung kembali, itu beralih ke. `ACTIVE` Ketika klien terhubung kembali, ia beralih kembali ke. `CONNECTED` Jika klien terputus lebih lama dari`ConnectionTimeoutSeconds`, sesi streaming berakhir.
+ Ketika klien tidak terhubung ke sesi aliran dalam `ACTIVE` atau `PENDING_CLIENT_RECONNECTION` status dalam periode waktu yang ditentukan oleh`ConnectionTimeoutSeconds`, maka ia beralih ke`TERMINATED`.
+ [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html)memulai penghentian aliran, dan sesi aliran transisi ke `TERMINATING` status. Ketika sesi streaming berhasil berakhir, ia bertransisi ke. `TERMINATED`
+ Sesi aliran dalam keadaan apa pun, kecuali`TERMINATED`, dapat beralih ke`ERROR`. Ketika panggilan API kembali `ERROR` sebagai nilai Status, periksa nilai StatusReason untuk deskripsi singkat tentang penyebab kesalahan. Anda juga dapat menelepon [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)untuk memeriksa nilai-nilai ini. 

![\[Diagram ini menunjukkan keadaan berbeda yang transisi sesi aliran ke seluruh siklus hidupnya.\]](http://docs.aws.amazon.com/id_id/gameliftstreams/latest/developerguide/images/stream_session_lifecycle.png)


## Nilai batas waktu yang memengaruhi sesi streaming
<a name="stream-sessions-lifecycle-timeouts"></a>

Sesi streaming diatur oleh beberapa nilai batas waktu yang mengontrol berbagai aspek siklus hidup sesi. Dalam urutan kronologis kira-kira kapan Anda biasanya menemukannya selama siklus hidup sesi streaming, mereka mencakup yang berikut:

**Batas waktu penempatan**  
Batas waktu Amazon GameLift Streams untuk menemukan sumber daya komputasi untuk meng-host sesi streaming menggunakan kapasitas yang tersedia. Batas waktu penempatan bervariasi berdasarkan jenis kapasitas yang digunakan untuk memenuhi permintaan streaming Anda:  
+ Kapasitas selalu aktif: 75 detik
+ Kapasitas sesuai permintaan:
  + Runtime Linux/Proton: 90 detik
  + Runtime Windows: 10 menit
+ Perilaku: Jika Amazon GameLift Streams tidak dapat mengidentifikasi sumber daya yang tersedia dalam waktu ini, sesi streaming akan `Status` berubah menjadi `ERROR` dengan a `StatusReason` of. `placementTimeout`

**Batas waktu koneksi**  
Lama waktu Amazon GameLift Streams menunggu klien untuk terhubung atau menyambung kembali ke sesi streaming.  
+ Parameter: `ConnectionTimeoutSeconds` di [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)
+ Rentang: 1 - 3600 detik (1 jam)
+ Default: 120 detik (2 menit)
+ Perilaku: Timer dimulai saat sesi streaming mencapai `ACTIVE` atau `PENDING_CLIENT_RECONNECTION` status. Jika tidak ada klien yang terhubung sebelum batas waktu, sesi akan `Status` beralih ke. `TERMINATED`

**Batas waktu lama sesi**  
Durasi maksimum Amazon GameLift Streams membuat sesi streaming tetap terbuka.  
+ Parameter: `SessionLengthSeconds` di [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)
+ Rentang: 1 - 86400 detik (24 jam)
+ Default: 43200 detik (12 jam)
+ Perilaku: Mengakhiri sesi streaming terlepas dari koneksi klien yang ada saat batas waktu tercapai.

## Mengakhiri sesi streaming
<a name="stream-sessions-terminate"></a>

Jika Anda perlu memaksa sesi streaming untuk mengakhiri, Anda memiliki opsi berikut:
+ **Gunakan TerminateStreamSession API:** Untuk menggunakan [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html), Anda akan memerlukan ID grup streaming dan ID sesi streaming. Anda dapat menggunakan [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)atau [ListStreamSessionsByAccount](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessionsByAccount.html)dengan `--status CONNECTED` parameter untuk mendapatkan daftar sesi streaming yang memiliki klien yang terhubung.
+ **Hapus lokasi sesi dari grup alirannya:** Menghapus lokasi dari grup streaming tempat sesi streaming akan menghentikan semua sesi streaming aktif di lokasi tersebut. Anda dapat menghapus lokasi dalam grup streaming dari konsol atau dengan menggunakan [RemoveStreamGroupLocations](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_RemoveStreamGroupLocations.html)API.
+ **Hapus grup aliran sesi:** Menghapus grup aliran akan menghentikan semua sesi aliran aktif di semua lokasi grup aliran. Anda dapat menghapus grup streaming dari konsol atau dengan menggunakan [DeleteStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_DeleteStreamGroup.html)API. Gunakan dengan hati-hati karena Anda akan tiba-tiba mengakhiri koneksi klien.

## Menyambung kembali ke sesi streaming
<a name="stream-sessions-reconnection"></a>

Jika klien terputus dari sesi streaming tanpa mengakhiri sesi, klien dapat terhubung kembali ke sesi dalam waktu yang ditentukan oleh `ConnectionTimeoutSeconds` saat sesi streaming dimulai. Untuk menyambung kembali ke sesi, Anda memerlukan ID sesi streaming. Untuk detailnya, lihat [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html)di *Referensi API Amazon GameLift Streams*. Anda dapat melihat contoh menghubungkan kembali ke sesi streaming di [React Starter Sample](https://github.com/aws-samples/sample-amazon-gamelift-streams-react-app).