View a markdown version of this page

Siapkan pengujian lokal dengan GameLift Server Amazon Dimana saja - GameLift Server Amazon

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

Siapkan pengujian lokal dengan GameLift Server Amazon Dimana saja

catatan

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

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

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

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

catatan

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

Siapkan armada Anywhere lokal

Ikuti langkah-langkah ini untuk membuat armada Anywhere untuk workstation lokal Anda. Untuk petunjuk terperinci menggunakan AWS CLI atau Konsol Manajemen AWS forAmazon GameLift Servers, lihatBuat sebuah GameLift Server Amazon Armada di mana saja.

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

  2. Buat armada Anywhere (AWS CLI atau konsol). Pada langkah ini, buat sumber daya armada dengan lokasi khusus untuk workstation lokal Anda. Lihat Membuat armada Anywhere.

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

  3. Daftarkan workstation lokal Anda sebagai komputasi armada (hanya AWS CLI). Armada Anywhere 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.

    • Pengidentifikasi armada Anywhere. Anda dapat menggunakan FleetID atauFleetArn.

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

    • Lokasi khusus di armada Anywhere.

    Catat nilai pengem GameLiftServiceSdkEndpoint balian. Anda akan memerlukan nilai ini saat memperbarui server game Anda untuk berjalan di armada Anywhere.

Perbarui dan instal server game Anda

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

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

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

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

    • Panggil tindakan AWS get-compute-auth-token CLI.

    • 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 Amazon GameLift Servers game Anda. Saat Anda mengintegrasikan kode server game Anda dengan SDK server untukAmazon GameLift Servers, Anda menambahkan panggilan untuk tindakanInitSdk(). Ketika server game berjalan pada armada Anywhere, panggilan ini memerlukan parameter server tambahan. Untuk informasi lebih lanjut, lihat Inisialisasi proses server dan Server SDK 5.x untuk GameLift Server Amazon untuk bahasa pengembangan Anda. Parameter server adalah:

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

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

    • fleetId— Atur parameter ini ke ID armada Anywhere.

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

    • processId— Setel 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, atur,webSocketUrl, 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 pada komputasi lokal. Sertakan semua dependensi yang diperlukan untuk menjalankan server game.

  4. Mulai satu atau lebih proses server game yang berjalan pada komputasi lokal. Ketika proses server game memanggil tindakan SDK serverProcessReady(), proses siap untuk menyelenggarakan sesi game.

Aktivitas sesi permainan uji

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

  • Buat sesi permainan. Panggil perintah create-game-session (atau operasi API). CreateGameSession Tentukan ID armada Anywhere Anda dan lokasi khusus. Panggilan ini mengembalikan pengenal unik untuk sesi permainan baru.

  • Periksa status sesi permainan. Panggil perintah describe-game-sessions (atau tindakan API). DescribeGameSessions Tentukan ID sesi game untuk mengambil sesi tertentu, atau tentukan ID armada untuk mengambil semua sesi game untuk armada. Panggilan ini mengembalikan informasi sesi permainan terperinci, termasuk status sesi game. Sesi game dalam status Aktif siap untuk pemain untuk terhubung.

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

Iterasi di server game Anda

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

  1. Bersihkan yang adaGameSession. Jika proses server game macet atau tidak akan meneleponProcessEnding(), Amazon GameLift Servers bersihkan GameSession setelah server game berhenti mengirim pemeriksaan kesehatan.

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

  3. Perbarui server game yang dibangun pada komputasi lokal Anda. Armada Anywhere Anda sebelumnya masih aktif dan laptop Anda masih terdaftar sebagai sumber daya komputasi dalam armada.

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

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

Transisi permainan Anda ke GameLift Server Amazon armada yang dikelola

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

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

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

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

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

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