Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan Masalah Amazon Streams GameLift
Akses ditolak saat membuat permintaan ke layanan Amazon GameLift Streams
Jika Anda menemukan AccessDenied pengecualian saat melakukan panggilan ke Amazon GameLift Streams APIs atau bekerja dengan resource di konsol, peran AWS Identity and Access Management (IAM) Anda mungkin memiliki izin yang tidak memadai untuk Amazon Streams. GameLift Periksa hal-hal berikut:
-
Jika peran IAM memiliki kebijakan “tolak semua” eksplisit, Anda harus secara eksplisit mencantumkan Amazon GameLift Streams sebagai pengecualian pada kebijakan tersebut dengan menambahkan elemen tersebut.
"gameliftstreams:*"NotAction Contoh:{ "Sid": "DenyAllExceptListedIfNoMFA", "Effect": "Deny", "NotAction": [ "iam:CreateVirtualMFADevice", "iam:EnableMFADevice", "iam:GetUser", "iam:ListMFADevices", "iam:ListVirtualMFADevices", "iam:ResyncMFADevice", "sts:GetSessionToken", "gameliftstreams:*" // Add this ], "Resource": "*", "Condition": { "BoolIfExists": {"aws:MultiFactorAuthPresent": "false"} } } -
Untuk informasi selengkapnya, lihat Identity and Access Management untuk Amazon GameLift Streams di bagian Keamanan, dan tinjau pesan kesalahan akses pemecahan masalah ditolak di Panduan Pengguna IAM.
Masalah aplikasi
Bagian ini mengidentifikasi potensi penyebab masalah yang mencegah aplikasi berjalan atau menyebabkannya muncul secara berbeda di Amazon GameLift Streams.
Pemeriksaan awal
-
Jalankan aplikasi Anda di mesin yang berbeda untuk memverifikasi bahwa itu dikemas dengan benar. Ini mengonfirmasi bahwa konten aplikasi Anda tidak berisi jalur hardcode, aset, pustaka, atau binari yang hilang yang mungkin tidak berfungsi di perangkat lain.
Masalah Proton
-
Pastikan aplikasi Anda kompatibel dengan Proton. Uji aplikasi Anda di lingkungan lokal tanpa server Amazon GameLift Streams untuk memverifikasi bahwa itu kompatibel dengan Proton. Untuk petunjuk, lihat Menguji dan memecahkan masalah kompatibilitas dengan Proton untuk Amazon Streams GameLift .
Masalah aplikasi karena resolusi layar
Aplikasi mungkin macet, macet, atau di-render secara tidak benar jika Anda mencoba menggunakan resolusi layar penuh yang bukan 1920x1080. Kami menyarankan Anda menggunakan jendela layar penuh tanpa batas untuk menjalankan aplikasi Anda dan jangan mencoba mengubah resolusi.
Aplikasi berakhir pada awal sesi streaming
Jika aplikasi Anda segera berakhir saat sesi streaming dimulai, tinjau hal-hal berikut untuk mengetahui kemungkinan penyebab dan solusi:
-
Verifikasi runtime. Dalam konfigurasi aplikasi Amazon GameLift Streams, konfirmasikan bahwa file yang Anda tentukan di jalur peluncuran yang dapat dieksekusi adalah file atau skrip yang dapat dieksekusi dan benar untuk lingkungan runtime yang Anda pilih. Aplikasi Windows harus memiliki jenis file “.exe”, “.bat”, atau “.cmd” dan menargetkan runtime Windows atau Proton. Aplikasi Linux asli harus berupa file yang dapat dieksekusi yang menargetkan runtime Ubuntu 22.04 LTS.
-
Verifikasi diperlukan DLLs. Aplikasi Windows Anda mungkin hilang diperlukan DLLs. Misalnya, jika aplikasi Anda adalah build debug, maka aplikasi tersebut memerlukan versi debug dari pustaka runtime Microsoft C dan C++ (MSVC). Untuk mengatasi ini, kami sarankan Anda mengemas build dan DLLs side-by-side. Untuk instruksi, lihat Mempersiapkan mesin uji untuk menjalankan debug yang dapat dieksekusi oleh Microsoft
.
Secara umum, kami menyarankan Anda menguji build Anda di mesin yang bersih terlebih dahulu, sebelum mencoba Amazon GameLift Streams. Untuk petunjuk tentang pengujian pada EC2 instans Amazon, lihatSiapkan mesin jarak jauh.
Aplikasi Unreal Engine mogok atau membutuhkan dependensi tambahan
Jika aplikasi Unreal Engine Anda gagal memulai, mogok, atau mengharuskan Anda menginstal dependensi tambahan, seperti runtime Microsoft C dan C++ (MSVC), coba yang berikut ini:
-
Gunakan executable yang benar. Agar aplikasi Anda berfungsi dengan benar dengan Amazon GameLift Streams, atur jalur aplikasi ke executable penuh yang terletak di subfolder
Binaries/Win64/(atau serupa). Unreal Engine menghasilkan dua executable: bootstrap kecil yang dapat dieksekusi di root folder, dan target platform yang dapat dieksekusi di subfolder.Binaries/Win64/Bootstrap yang dapat dieksekusi pada upaya root untuk memvalidasi pra-kondisi sudah benar dan dapat membuat positif palsu di Amazon GameLift Streams yang mencegah peluncuran aplikasi. Jika target platform yang dapat dieksekusi hilang, aplikasi mungkin tidak dibangun dengan benar. Misalnya, lihat struktur folder berikut dari contoh aplikasi Unreal:BuildApp |-> MyUnrealApp.exe |-> MyUnrealApp |-> Binaries |-> Win64 |-> MyUnrealApp.exe -
Matikan Unreal Engine Asserts. Nonaktifkan
check,verify, danensuremakro. Mereka dapat mencegah aplikasi membuat crash dumps. Untuk informasi selengkapnya, lihat Menegaskan dalam dokumentasi Unreal Engine. -
Tentukan
USE_CHECKS_IN_SHIPPING=0di build Anda untuk menonaktifkancheckdanverifymakro. -
Gunakan argumen
-handleensurepercent=0baris perintah untuk menonaktifkanensuremakro.
-
Masalah kinerja
Bagian ini mengidentifikasi potensi penyebab masalah performa game saat berjalan di Amazon GameLift Streams, dan menawarkan saran untuk mengoptimalkan streaming Anda di layanan.
Performa game berkurang saat streaming di Amazon GameLift Streams
Jika game Anda berjalan dengan baik di komputer Anda sendiri tetapi mengalami masalah kinerja saat Anda melakukan streaming di Amazon GameLift Streams, pertimbangkan hal berikut:
-
Mesin Anda mungkin memiliki perangkat keras yang lebih kuat daripada Amazon GameLift Streams. Pastikan untuk menguji aplikasi pada mesin dengan kinerja yang mirip dengan perangkat keras yang digunakan Amazon GameLift Streams:
gen4n: sebanding dengan GPU NVIDIA RTX 2060
gen5n: sebanding dengan NVIDIA RTX 3080 GPU
gen6n: sebanding dengan NVIDIA RTX 4060 GPU
Ini memverifikasi bahwa pengaturan rendering aplikasi Anda kompatibel dengan GPU dan kinerjanya memenuhi harapan Anda.
-
Masalahnya mungkin karena koneksi jaringan Anda atau pengaturan Amazon GameLift Streams. Coba tips pemecahan masalah di bagian ini. Masalah konektivitas streaming
Jika game Anda lambat bahkan saat berjalan secara lokal, Anda harus mengoptimalkan kinerjanya. Metode optimasi terbaik akan tergantung pada mesin atau kerangka kerja tertentu yang Anda gunakan.
-
Untuk game Unreal Engine, lihat. Memprofilkan kinerja Unreal Engine
Aplikasi Windows mengalami waktu muat yang lambat atau masalah gagap
Jika game Anda mengalami waktu muat yang lama atau perilaku gagap, kami merekomendasikan tindakan berikut:
-
Pastikan aplikasi Anda dikemas dan dioptimalkan untuk kinerja pemuatan menggunakan panduan vendor engine Anda seputar mengoptimalkan konten dan kinerja shader.
-
Pastikan aplikasi Anda disetel menjadi aplikasi default dalam grup aliran.
-
Optimalkan peluncuran aplikasi pertama pada layanan dengan cache shader sebagai bagian dari kemasan aplikasi Anda.
Ada dua pendekatan untuk mengaktifkan cache shader:
-
Caching berbasis driver — Pendekatan ini khusus untuk GPU lingkungan runtime dan versi driver. Opsi ini dapat diterapkan ke semua aplikasi dan oleh karena itu merupakan pendekatan default yang direkomendasikan. Langkah-langkah untuk pendekatan ini perlu direplikasi untuk setiap GPU/driver kombinasi.
-
Caching berbasis mesin — Pendekatan ini memungkinkan cache shader melalui mesin game, jika tersedia. Ini menempatkan beban untuk membuat cache objek status pipa (PSO) pra-panggang pada pengembang. Ini juga mengasumsikan bahwa mesin mampu menangani dukungan cache untuk driver yang berbeda pada perangkat keras GPU yang sama.
Sebagai praktik terbaik, kami merekomendasikan untuk menerapkan caching berbasis driver terlebih dahulu, karena tidak memerlukan pemahaman mendalam tentang bagaimana caching PSO diimplementasikan untuk mesin yang diberikan.
Dengan implementasi ini, file shader dapat diekspor dan dikemas dengan aplikasi Anda sehingga tidak harus dibuat dengan setiap streaming baru dimulai.
Untuk menerapkan perbaikan caching berbasis driver untuk aplikasi runtime Windows
-
Mulai streaming aplikasi default Anda dan mainkan secara ekstensif untuk menghasilkan shader untuk aplikasi.
penting
Pastikan untuk mengunjungi semua area atau tingkat lingkungan untuk menghasilkan shader sebanyak mungkin.
-
Sebelum menutup aliran, aktifkan fitur ekspor di sesi streaming aktif Anda. Lihat perinciannya di Ekspor file sesi streaming.
-
Unduh file ekspor sesi streaming .zip dari bucket Amazon S3 yang Anda tentukan pada langkah sebelumnya. Anda dapat menemukan tautan unduhan di konsol Amazon GameLift Streams di halaman Sesi.
-
Temukan folder shader dalam ekspor sesi aliran. Biasanya disimpan ke lokasi ini:
AppData\Local\NVIDIA\DXCache. Unggah file shader (*.nvph) yang dihasilkan ke bucket Amazon S3 aplikasi Anda. -
Buat
.batfile yang akan menyalin file shader ke folder caching NVIDIA saat runtime. Folder ini biasanya terletak di:C:\Users\Administrator\AppData\Local\NVIDIA\DXCache. Unggah.batfile ke bucket aplikasi Amazon S3. -
Buat aplikasi Amazon GameLift Streams baru dengan
.batfile sebagai jalur yang dapat dieksekusi.
Saat aplikasi Anda mulai streaming, .bat file Anda akan menyalin shader yang telah dibuat sebelumnya ke cache shader sebelum meluncurkan aplikasi, meningkatkan kinerja pemuatan aliran.
catatan
Anda mungkin perlu mengulangi langkah-langkah ini setiap kali memperbarui aplikasi atau menautkan aplikasi Amazon GameLift Streams ke grup streaming baru. Grup aliran yang lebih baru dapat berisi driver GPU yang diperbarui dari layanan.
Contoh .bat file berikut mengasumsikan bahwa file shader disimpan di bawah awalan bucket Amazon S3. Shaders\ Anda dapat menggunakan struktur folder yang berbeda.
@echo off set CURRENT_PATH=%cd% set DXCACHE_DIR=%CURRENT_PATH%\Shadersset NVIDIA_DXCACHE_DIR=C:\Users\Administrator\AppData\Local\NVIDIA\DXCache if not exist "%NVIDIA_DXCACHE_DIR%" ( mkdir "%NVIDIA_DXCACHE_DIR%" ) xcopy /s /f "%DXCACHE_DIR%" "%NVIDIA_DXCACHE_DIR%" start %CURRENT_PATH%\app.exe
Untuk menerapkan perbaikan caching berbasis driver untuk aplikasi runtime Proton
-
Mulai streaming aplikasi default Anda dengan penggantian variabel lingkungan berikut:
"__GL_SHADER_DISK_CACHE_PATH" : "/home/unpriv/games" -
Mainkan aplikasi secara ekstensif untuk menghasilkan shader.
penting
Pastikan untuk mengunjungi semua area atau tingkat lingkungan untuk menghasilkan shader sebanyak mungkin.
-
Sebelum menutup aliran, aktifkan fitur ekspor di sesi streaming aktif Anda. Lihat perinciannya di Ekspor file sesi streaming.
-
Unduh file ekspor sesi streaming .zip dari bucket Amazon S3 yang Anda tentukan pada langkah sebelumnya. Anda dapat menemukan tautan unduhan di konsol Amazon GameLift Streams di halaman Sesi.
-
Temukan folder dan file shader dalam ekspor sesi aliran:
-
application\GLCachefolder -
jika aplikasi menggunakan DX11:
application\filepath-to-exe\exe-name.dxvk-cache -
jika aplikasi menggunakan DX12:
application\filepath-to-exe\vkd3d-proton.cache.write
-
-
Unggah file shader yang dihasilkan ke bucket Amazon S3 aplikasi Anda:
-
Salin
GLCachefolder ke direktori root aplikasi Anda. -
Jika tersedia, salin file
.dxvk-cacheatauvkd3d-proton.cache.writecache ke folder yang berisi aplikasi yang dapat dieksekusi.
-
-
Buat aplikasi Amazon GameLift Streams baru dengan konfigurasi Proton yang sama.
-
Jalankan aplikasi dengan override variabel lingkungan yang sama:
"__GL_SHADER_DISK_CACHE_PATH" : "/home/unpriv/games"
Ketika aplikasi Anda mulai streaming, itu akan menggunakan shader yang telah dibuat sebelumnya, meningkatkan kinerja pemuatan aliran.
catatan
Anda mungkin perlu mengulangi langkah-langkah ini setiap kali memperbarui aplikasi atau menautkan aplikasi Amazon GameLift Streams ke grup streaming baru. Grup aliran yang lebih baru dapat berisi driver GPU yang diperbarui dari layanan.
Untuk menerapkan perbaikan caching berbasis mesin untuk aplikasi yang menggunakan Unreal Engine
Untuk pendekatan ini, Anda dapat menggunakan fitur Unreal Engine untuk membuat cache objek status pipeline (PSO) untuk aplikasi Amazon GameLift Streams Anda. Cache PSO memungkinkan Anda mengirimkan status pipeline grafis yang telah dikompilasi sebelumnya dengan waktu kompilasi runtime yang berkurang, yang dapat mengurangi hambatan selama pemuatan dan rendering. Ini membutuhkan pengetahuan lanjutan tentang Unreal Engine, dan oleh karena itu kami tidak akan membahas semua detail khusus mesin di sini. Untuk petunjuk tambahan, lihat panduan dari Unreal Engine dalam Membuat Cache PSO yang Dibundel
-
Hasilkan shader untuk aplikasi Anda yang mengaktifkan PSO logging.
-
Buat aplikasi Amazon GameLift Streams baru menggunakan paket build dengan aplikasi berkemampuan PSO.
-
Mulai streaming dengan
-logPSOperintah di aplikasi logging PSO Anda. Anda dapat menggunakan opsi argumen baris perintah pada halaman konfigurasi aliran Uji di konsol Amazon GameLift Streams.penting
Pastikan untuk mengunjungi semua area atau tingkat lingkungan untuk menghasilkan shader sebanyak mungkin.
-
Sebelum menutup aliran, aktifkan fitur ekspor di sesi streaming aktif Anda. Lihat perinciannya di Ekspor file sesi streaming.
-
Keluar dari aplikasi dari menu atau dengan menggunakan perintah shutdown Unreal. Jika Anda menutup aliran secara langsung, file pipeline shader Unreal tidak akan dibuat.
-
Unduh file ekspor.zip sesi streaming dari bucket Amazon S3 yang Anda tentukan di langkah ekspor. Anda dapat menemukan tautan unduhan di konsol Amazon GameLift Streams di halaman Sesi.
-
-
Package file pipeline Unreal shaders ke dalam aplikasi Amazon GameLift Streams Anda.
-
Temukan file PSO yang direkam (
rec.pipelinecache) dalam ekspor sesi aliran di bawahSaved/CollectedPSOs. Buka paket file PSO menggunakan perintah Unreal. -
Package build Unreal baru dengan output yang dihasilkan dari unpacking. Ikuti panduan Unreal, bagian Mengonversi cache PSO dan Termasuk cache
PSO di Aplikasi Anda. penting
Saat menjalankan perintah Unreal di bagian “Mengonversi Cache PSO”, pastikan Anda menggunakan file input versi driver yang sama. Misalnya: untuk DX12, gunakan hanya SM6 file sebagai input. Jika tidak, Anda akan mendapatkan kesalahan saat mengemas aplikasi baru.
-
Buat aplikasi Amazon GameLift Streams baru untuk build paket baru dengan file PSO.
-
Saat memulai dan menguji aliran, konfirmasikan bahwa cache PSO sedang dimuat. Periksa log game untuk baris berikut:
Opened FPipelineCacheFile: ../../...
-
catatan
Anda mungkin perlu mengulangi langkah-langkah ini setiap kali memperbarui aplikasi atau menautkan aplikasi Amazon GameLift Streams ke grup streaming baru. Grup aliran yang lebih baru dapat berisi driver GPU yang diperbarui dari layanan.
Konektivitas streaming dan masalah kinerja jaringan
Saat menyiapkan layanan backend Amazon GameLift Streams, periksa hal berikut:
-
Pilih yang Wilayah AWS paling dekat dengan pengguna akhir. Latensi tinggi dari klien Anda ke Wilayah yang menghosting streaming Anda dapat memengaruhi kualitas streaming. Lihat daftar lokasi tempat Anda dapat melakukan streaming. Wilayah AWS dan lokasi terpencil yang didukung oleh Amazon GameLift Streams Anda dapat melakukan ping pada titik akhir AWS konsol di Wilayah untuk mendapatkan perkiraan pengukuran latensi.
-
Pastikan grup streaming Anda memiliki kapasitas untuk aliran baru.
-
Verifikasi bahwa
ConnectionTimeoutSecondscukup diatur untuk memungkinkan pengguna akhir banyak waktu untuk terhubung sebelum waktu klien web mereka habis.
Sarankan pengguna akhir Anda untuk memeriksa hal-hal berikut:
-
Pastikan firewall memungkinkan akses ke rentang port UDP 33435-33465 untuk memungkinkan streaming dari Amazon Streams. GameLift Jika Amazon GameLift Streams tidak dapat mencapai port ini, itu dapat menyebabkan masalah streaming, seperti layar hitam atau abu-abu.
-
Verifikasi bahwa koneksi internet Anda dapat mempertahankan kecepatan koneksi minimal 10 Mbps untuk streaming 1080p. Jika Anda mendeteksi masalah jaringan saat bermain di Amazon GameLift Streams, kecepatan internet Anda mungkin berfluktuasi dan Anda mungkin tidak mendapatkan setidaknya 10 Mbps secara konsisten. Jalankan tes kecepatan internet dan lanjutkan melalui langkah-langkah pemecahan masalah.
-
Gunakan jaringan kabel jika memungkinkan. Saat menggunakan Wi-Fi, pindahkan perangkat Anda dekat dengan router Anda untuk kekuatan sinyal yang lebih kuat.
-
Jika Anda menggunakan router Wi-Fi dengan GHz band 2.4 GHz dan 5, coba sambungkan ke band yang berbeda. Jika Anda tidak yakin cara mengalihkan router Anda ke band yang berbeda, kunjungi halaman dukungan produsen atau penyedia router Wi-Fi Anda. Anda juga dapat menghubungi layanan pelanggan mereka.
-
Identifikasi apakah orang lain di jaringan yang sama (terutama saat menggunakan Wi-Fi rumah) menjalankan aplikasi bandwidth tinggi seperti streaming video, pengunduhan, game online, atau cadangan.
-
Tutup aplikasi lain di perangkat Anda yang menggunakan bandwidth.
-
Jangan gunakan VPN atau proxy saat streaming. Mereka dapat menyebabkan latensi yang lebih tinggi dan berdampak pada gameplay.
-
Pastikan Anda menggunakan Wi-Fi alih-alih jaringan seluler saat bermain di iPad atau iPhone. Menggunakan jaringan seluler dapat menyebabkan masalah konektivitas.
-
Pengguna macOS harus menonaktifkan Layanan Lokasi karena akan menyebabkan Wi-Fi berhenti sejenak dari waktu ke waktu, yang akan menyebabkan pengalaman streaming yang buruk.
Masalah masukan aliran
Bagian ini mengidentifikasi potensi penyebab dan solusi untuk masalah yang terkait dengan input pengguna dalam sesi streaming.
Pemecahan masalah masukan umum
-
Uji untuk melihat apakah masalahnya adalah browser-specifc. Secara keseluruhan, kami merekomendasikan Google Chrome, Microsoft Edge, atau aplikasi desktop berbasis Chromium khusus untuk pengalaman pengguna akhir terbaik dan kompatibilitas maksimum, terutama dengan pengontrol game.
-
Log peristiwa masukan yang dikirim dari klien dan diterima oleh aplikasi untuk mengidentifikasi di mana ada ketidakcocokan input dalam kode front end Anda.
-
Pastikan Browser dan masukan yang didukung untuk memeriksa informasi tambahan tentang browser dan perangkat input yang didukung, termasuk masalah dan batasan yang diketahui.
Input gamepad dan mikrofon tidak berfungsi pada aplikasi Linux asli
Input gamepad dan mikrofon tidak didukung dalam aplikasi Linux asli. Lihat Browser dan masukan yang didukung untuk informasi tambahan tentang perangkat input yang didukung, termasuk masalah dan batasan yang diketahui.
Masukan kunci tampak macet di klien macOS
Pada klien macOS, kunci mungkin tiba-tiba tampak macet ketika tombol pengubah Perintah dan tombol lain ditekan secara bersamaan, mengulangi peristiwa kunci. Misalnya, tombol panah mungkin macet ketika tombol Command juga ditekan. Dalam permainan, jika tombol panah digunakan untuk memutar kamera, ini akan membuat kamera berputar tanpa henti.
-
Masalah: Tombol Command di macOS memetakan ke peristiwa kunci Meta, yang dipetakan ke kunci Windows di Microsoft Windows. Masalahnya adalah bug
yang memengaruhi browser macOS saat Command dan tombol lain ditekan secara bersamaan, di mana tombol Meta diatur ulang saat dirilis tetapi tombol panah tidak diatur ulang karena browser tidak menangkap peristiwa keyup untuk tombol panah, jadi klien SDK Web tidak akan mengirim acara keyup ke server dan aplikasi streaming masih berpikir tombol sedang ditekan. -
Solusi: Jika Anda tidak menggunakan tombol Command, Anda dapat memfilternya menggunakan mekanisme filter keyboard Web SDK (
keyboardFilter) yang ditemukan di antarmuka Web SDK.InputConfiguration
Gerakan mouse berperilaku berbeda di Amazon Streams GameLift
Jika gerakan mouse berperilaku berbeda saat streaming dengan Amazon GameLift Streams, seperti bergerak lebih cepat dari yang diharapkan, Anda mungkin perlu menyesuaikan penanganan mouse dan logika manajemen kursor dalam aplikasi Anda.
-
Masalah: Amazon GameLift Streams menggunakan heuristik untuk memilih apakah akan mengirimkan peristiwa mouse dalam mode “relatif” atau “absolut”. Dalam mode relatif, pembaruan mouse baru disediakan sebagai perbedaan kecil dan bertahap dari pembaruan sebelumnya. Dalam mode absolut, kursor mouse terus-menerus dipaksa ke posisi layar yang disinkronkan dengan klien. Ketika kursor sistem operasi terlihat di atas konten yang dialirkan, heuristik selalu memilih koordinat absolut. Ini dapat menyebabkan delta pergerakan besar yang tidak terduga jika aplikasi Anda mengharapkan pembaruan relatif kecil.
-
Solusi: Jika aplikasi Anda mengharapkan gerakan mouse relatif (misalnya, kontrol kamera gaya FPS atau interaksi berbasis drag), sembunyikan kursor sistem operasi selama interaksi mouse. Misalnya, sembunyikan kursor pada mouse-down dan tampilkan lagi pada mouse-up. Ini memastikan gerakan menyeret menggunakan koordinat relatif, dengan posisi absolut disinkronkan hanya ketika tombol dilepaskan.
Untuk informasi lebih lanjut tentang gerakan mouse di Amazon GameLift Streams, lihatPenanganan gerakan mouse.
Masalah sesi streaming
Bagian ini mengidentifikasi potensi penyebab dan solusi untuk masalah yang terkait dengan sesi streaming yang dimulai atau berakhir secara tidak terduga.
Sesi streaming tidak dimulai
Penyebab potensial:
-
Aplikasi digantung atau macet. Lihat Masalah aplikasi bagian untuk instruksi pemecahan masalah.
-
Status grup streaming tidak
Active. Verifikasi status grup streaming. -
Kapasitas sesuai permintaan membutuhkan waktu lebih lama untuk berputar daripada batas waktu yang ditentukan oleh
ConnectionTimeoutSecondsAPI. StartStreamSession Pada runtime Windows, waktu spin up sesuai permintaan dapat memakan waktu 5 menit atau lebih. -
Tidak ada kapasitas yang tersedia di lokasi streaming. Pastikan kapasitas yang dialokasikan lebih besar dari kapasitas yang digunakan, atau bahwa Anda memiliki kapasitas sesuai permintaan yang tidak digunakan (kapasitas yang dialokasikan kurang dari kapasitas selalu aktif ditambah kapasitas sesuai permintaan). Di konsol, Anda dapat menemukan nilai-nilai ini dalam daftar grup aliran atau di halaman detail grup aliran. Menggunakan API layanan, Anda dapat menemukan nilai-nilai ini menggunakan GetStreamGroup. Beberapa skenario di mana kapasitas yang tersedia untuk sementara nol termasuk yang berikut:
-
Jika Anda baru saja meningkatkan kapasitas selalu aktif di lokasi streaming, tunggu beberapa menit hingga kapasitas dialokasikan.
-
Jika Anda hanya memiliki 1 kapasitas yang tersedia di lokasi streaming dan klien Anda tiba-tiba terputus, sesi sebelumnya mungkin masih dalam keadaan terputus. Tunggu beberapa menit hingga sesi habis dan coba lagi.
-
Jika Anda baru-baru ini menambahkan lokasi ke grup streaming Anda dan aplikasi tidak ada di lokasi, aplikasi mungkin belum selesai mereplikasi di sana. Periksa status replikasi pada halaman detail grup streaming di konsol. Atau, Anda dapat menggunakan GetApplicationAPI dan memeriksa
ReplicationStatusesnilainya untuk memverifikasi bahwa lokasi streaming yang diinginkan adalahCOMPLETED.Status
-
-
Kondisi jaringan sangat buruk sehingga frame, terutama frame pertama, tidak dikirim. Periksa kondisi jaringan antara klien dan lokasi streaming dan sesuaikan atau coba lokasi yang berbeda.
Sesi streaming dihentikan
Sesi streaming secara otomatis berakhir ketika aplikasi mogok atau berhenti, atau ketika koneksi klien terputus. Sesi juga dapat dihentikan karena nilai batas waktu berikut:
-
Batas waktu penempatan: Nilai batas waktu untuk Amazon GameLift Streams untuk menemukan sumber daya komputasi untuk meng-host sesi streaming.
-
Batas waktu koneksi: Nilai batas waktu bagi klien untuk terhubung atau menyambung kembali ke sesi streaming.
-
Batas waktu idle: Waktu maksimum sesi streaming dapat menganggur tanpa input pengguna.
-
Waktu tunggu lama sesi: Waktu maksimum untuk sesi streaming.
Untuk penjelasan rinci tentang setiap batas waktu dan kemungkinan nilainya, lihat. Nilai batas waktu yang memengaruhi sesi streaming