Siapkan pengujian lokal dengan Amazon GameLift Anywhere - Amazon GameLift

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

Siapkan pengujian lokal dengan Amazon GameLift Anywhere

catatan

Topik ini mencakup pengujian lokal untuk game yang terintegrasi dengan GameLift server Amazon SDK versi 5.x. Jika game Anda menggunakan server SDK versi 4.x atau yang lebih lama, lihatUji integrasi Anda menggunakan Amazon GameLift Local.

Gunakan Amazon GameLift Anywhere armada dan perangkat keras Anda sendiri untuk membangun dan menguji komponen game Anda secara berulang di lingkungan host yang disimulasikan. Mengatur sebuah Anywhere armada dan daftarkan perangkat lokal untuk membuat koneksi ke GameLift layanan Amazon. Instal build server game Anda ke perangkat, mulai proses server game, dan uji fungsionalitas game sesuai kebutuhan. Anda dapat memperbarui build server game sesering yang diperlukan untuk menguji setiap iterasi build baru.

Dengan Anywhere armada, Anda dapat menguji menggunakan AWS CLI atau dengan skrip pengujian. Jika Anda telah mengintegrasikan klien game dengan Amazon GameLift, Anda dapat menjalankan klien di perangkat lokal yang sama atau di perangkat lain.

Pengujian secara lokal dengan Anywhere armada sangat berguna untuk menguji integrasi server game Anda dengan Amazon GameLift. Anda memiliki visibilitas penuh ke semua aktivitas hosting di mesin lokal, serta peristiwa dan data logging.

catatan

Apakah Anda menggunakan GameLift plugin Amazon untuk Unreal Engine atau Unity? Alat-alat ini mencakup alur kerja terpandu untuk menyiapkan pengujian lokal dengan Anywhere armada. Ikuti dokumentasi untuk Plugin untuk Unity: Siapkan pengujian lokal dengan Amazon GameLift Anywhere atauPlugin untuk Unreal: Siapkan pengujian lokal dengan Amazon GameLift Anywhere.

Menyiapkan lokal Anywhere armada

Ikuti langkah-langkah ini untuk membuat Anywhere armada untuk workstation lokal Anda. Untuk petunjuk terperinci menggunakan salah satu AWS CLI atau AWS Management Console untuk Amazon GameLift, lihatBuat Amazon GameLift Anywhere armada.

Untuk membuat Anywhere armada
  1. Buat lokasi khusus untuk workstation lokal Anda. (AWS CLIatau konsol). Lokasi kustom hanyalah label untuk sumber daya komputasi yang Anda rencanakan untuk disertakan dalam Anywhere armada. Nama lokasi khusus harus dimulai dengancustom-. Sebagai contoh: custom-my_laptop. Lihat Buat lokasi kustom.

  2. Buat sebuah Anywhere armada (AWS CLIatau konsol). Pada langkah ini, buat sumber daya armada dengan lokasi kustom untuk workstation lokal Anda. Lihat Buat armada Anywhere.

    Catat ID atau ARN nilai armada baru. Anda akan membutuhkan nilai ini untuk langkah selanjutnya.

  3. Daftarkan workstation lokal Anda sebagai komputasi armada (AWS CLIhanya). Sesi Anywhere armada harus memiliki setidaknya satu sumber daya komputasi untuk meng-host server game Anda. Lihat Tambahkan komputasi ke armada. Untuk menambahkan komputasi ke armada, Anda memerlukan informasi berikut:

    • Nama komputasi. Setiap komputasi dalam armada harus memiliki nama yang unik.

    • Bagian Anywhere pengidentifikasi armada. Anda dapat menggunakan salah satu FleetID atauFleetArn.

    • Info koneksi komputasi. Tentukan salah satu dari IpAddress atau DnsName. Ini adalah bagaimana Amazon GameLift dan klien game akan terhubung ke server game.

    • Lokasi khusus di Anywhere armada.

    Catat nilai GameLiftServiceSdkEndpoint pengembalian. Anda akan membutuhkan nilai ini saat memperbarui server game Anda untuk berjalan di Anywhere armada.

Perbarui dan instal server game Anda

Tugas ini mengasumsikan bahwa Anda telah mengintegrasikan build server game dengan GameLift server Amazon SDK 5.x. Proses integrasi melibatkan penambahan kode ke server game Anda sehingga dapat berinteraksi dengan GameLift layanan Amazon untuk memulai dan mengelola sesi permainan.

Untuk Anywhere armada, Anda perlu mengkonfigurasi pengaturan server game tertentu secara manual. Pada armada yang GameLift dikelola Amazon, pengaturan ini dikonfigurasi secara otomatis.

Untuk mempersiapkan server game Anda untuk Anywhere armada
  1. Dapatkan token otentikasi. Server game Anda harus menyertakan token otentikasi dengan setiap komunikasi dengan GameLift layanan Amazon. Token GameLift autentikasi Amazon berumur pendek dan harus disegarkan secara teratur.

    Sebagai praktik terbaik, buat skrip untuk menyelesaikan tugas-tugas berikut:

    • Panggil AWS CLI tindakanget-compute-auth-token.

    • Simpan nilai token yang dikembalikan di mana proses server game dapat mengambilnya, seperti dalam variabel lingkungan pada komputasi lokal.

    Instal skrip dengan server game Anda di komputasi. Atur skrip untuk dijalankan sebelum memulai proses server game pertama. Saat proses server game aktif, jalankan skrip secara teratur untuk mempertahankan token autentikasi yang valid. Semua proses server game pada komputasi dapat menggunakan token autentikasi yang sama.

  2. Perbarui kode server GameLift game Amazon Anda. Saat Anda mengintegrasikan kode server game Anda dengan GameLift server AmazonSDK, Anda menambahkan panggilan ke tindakanInitSdk(). Ketika server game berjalan pada Anywhere armada, panggilan ini membutuhkan parameter server tambahan. Untuk informasi selengkapnya, lihat Inisialisasi proses server dan GameLift Server Amazon SDK 5.x untuk bahasa pengembangan Anda. Parameter server adalah:

    • webSocketUrl— Tetapkan parameter ini ke GameLiftServiceSdkEndpoint nilai yang dikembalikan saat Anda mendaftarkan komputasi dengan armada.

    • hostId— Setel parameter ini ke nama komputasi yang Anda tentukan saat Anda mendaftarkan komputasi dengan armada Anywhere.

    • fleetId— Atur parameter ini ke ID Anywhere armada.

    • authToken— Setel parameter ini ke token yang dikembalikan sebagai tanggapan atas permintaan untuk mengambil token otentikaiton untuk komputasi.

    • processId— Tetapkan parameter ini untuk mengidentifikasi proses server game yang berjalan pada komputasi lokal. Setiap proses server game bersamaan harus memiliki ID proses yang unik.

    Nilai parameter server yang digunakan setiap proses server game harus spesifik untuk komputasi armada Anywhere tempat proses berjalan. Untuk detail tentang cara mendapatkan nilai yang sesuai untuk komputasi, lihatTambahkan komputasi ke armada. Sebagai praktik terbaik, aturwebSocketUrl,, hostIdfleetId, dan authToken sebagai variabel lingkungan pada komputasi lokal. Semua proses server yang berjalan pada komputasi akan menggunakan nilai-nilai ini.

  3. Instal server game yang dibangun di komputasi lokal. Sertakan semua dependensi yang diperlukan untuk menjalankan server game.

  4. Mulai satu atau beberapa proses server game yang berjalan pada komputasi lokal. Ketika proses server game memanggil SDK tindakan serverProcessReady(), proses siap untuk meng-host sesi permainan.

Uji aktivitas sesi permainan

Uji integrasi server game Anda dengan bekerja dengan sesi permainan. Jika Anda tidak memiliki klien game yang terintegrasi dengan GameLift fungsionalitas Amazon, Anda dapat menggunakannya AWS CLI untuk memulai sesi permainan. Coba skenario berikut:

  • Buat sesi permainan. Panggil create-game-session perintah (atau CreateGameSessionAPIoperasi). Tentukan Anywhere ID armada dan lokasi kustom. Panggilan ini mengembalikan pengenal unik untuk sesi permainan baru.

  • Periksa status sesi permainan.Panggil describe-game-sessionsperintah (atau DescribeGameSessionsAPItindakan). Tentukan ID sesi permainan. Panggilan ini mengembalikan informasi sesi permainan terperinci, termasuk status sesi permainan. Sesi permainan dalam status Aktif siap untuk pemain terhubung. Untuk mendapatkan daftar semua sesi permainan untuk armada, panggil list-game-sessionsperintah (atau ListGameSessionsAPItindakan).

  • Connect ke sesi permainan. Jika klien game Anda memiliki kemampuan untuk bergabung dengan sesi permainan, gunakan informasi koneksi yang termasuk dalam informasi sesi permainan.

Iterasi di server game Anda

Anda dapat menggunakan yang sama Anywhere armada dan komputasi untuk menguji versi lain dari build server game Anda.

  1. Bersihkan yang sudah adaGameSession. Jika proses server game mogok atau tidak mau meneleponProcessEnding(), Amazon GameLift membersihkannya GameSession setelah server game berhenti mengirim pemeriksaan kesehatan.

  2. Hasilkan build server game baru. Buat perubahan pada server game Anda dan paketkan build yang direvisi.

  3. Perbarui build server game di komputasi lokal Anda. Anda sebelumnya Anywhere armada masih aktif dan laptop Anda masih terdaftar sebagai sumber daya komputasi di armada.

  4. Dapatkan token otorisasi yang diperbarui. Panggil get-compute-auth-tokenCLIperintah dan simpan token pada komputasi lokal.

  5. Mulai satu atau beberapa proses server game yang berjalan pada komputasi lokal. Ketika server game memproses panggilanProcessReady(), itu siap digunakan untuk pengujian.

Transisi game Anda ke armada GameLift terkelola Amazon

Setelah Anda menyelesaikan pengujian pengembangan dan Anda siap untuk mempersiapkan peluncuran, ini adalah saat yang tepat untuk beralih ke armada yang GameLift dikelola Amazon. Gunakan armada terkelola untuk menyempurnakan dan menguji sumber daya hosting game Anda. Terapkan solusi penempatan sesi permainan Anda (antrian dan mak comblang), pilih perangkat keras hosting optimal (termasuk armada Spot) dan lokasi, dan pilih strategi untuk kapasitas penskalaan. Anda mungkin juga ingin mulai menggunakan AWS CloudFormation untuk mengelola siklus hidup semua sumber daya hosting game Anda dengan lebih efisien, termasuk armada, antrian, dan mak comblang.

Anda perlu membuat beberapa modifikasi kecil untuk transisi dari lokal Anywhere uji armada ke armada yang GameLift dikelola Amazon. Anda dapat menggunakan kembali antrian dan mak comblang yang sama. Lakukan tugas-tugas berikut:

  • Ubah panggilan kode server game keInitSdk(). Hapus parameter server. Untuk armada yang dikelola, Amazon GameLift secara otomatis melacak informasi ini.

  • Buat sumber daya GameLift build Amazon. Dengan Anywhere uji armada, Anda harus menerapkan build server game dan dependensi secara manual ke setiap komputasi armada. Dengan armada terkelola, Anda membuat dan mengunggah paket pembuatan game ke Amazon GameLift, yang secara otomatis menerapkannya ke semua komputasi armada. Lihat Menerapkan build server khusus untuk hosting Amazon GameLift detail tentang mengemas file build game Anda dan membuat sumber daya build dengan file di bucket Amazon S3. Jangan sertakan skrip yang mendaftarkan komputasi dan mendapatkan token otentikasi, karena Amazon GameLift secara otomatis menangani tugas ini dengan armada terkelola.

  • Buat armada yang dikelola. Buat armada menggunakan konsol atau AWS CLI, tentukan armada EC2 terkelola. Jenis armada ini memerlukan pengaturan konfigurasi tambahan, termasuk menentukan sumber daya build dan tipe instance. Anda semua perlu menyiapkan konfigurasi runtime untuk mengelola siklus hidup server game pada setiap komputasi armada. Lihat Buat EC2 armada GameLift terkelola Amazon detail tentang membuat armada terkelola.

  • Alias armada pengalihan (opsional). Jika Anda mengatur alias untuk digunakan dengan Anywhere armada, Anda dapat menggunakan kembali alias yang sama untuk armada terkelola Anda. Lihat Buat GameLift alias Amazon detail tentang membuat atau memperbarui alias.