Mengelola cara Amazon GameLift meluncurkan server game - Amazon GameLift

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

Mengelola cara Amazon GameLift meluncurkan server game

Anda dapat mengatur konfigurasi runtime armada EC2 yang dikelola untuk menjalankan beberapa proses server game per instans. Ini menggunakan sumber daya hosting Anda dengan lebih efisien.

Bagaimana armada mengelola beberapa proses

Amazon GameLift menggunakan konfigurasi runtime armada untuk menentukan jenis dan jumlah proses yang akan dijalankan pada setiap instans. Konfigurasi runtime berisi setidaknya satu konfigurasi proses server yang mewakili satu server game yang dapat dieksekusi. Anda dapat menentukan konfigurasi proses server tambahan untuk menjalankan jenis proses lain yang terkait dengan game Anda. Setiap konfigurasi proses server berisi informasi berikut:

  • Nama file dan jalur yang dapat dieksekusi di bangunan game Anda.

  • (Opsional) Parameter yang akan diteruskan ke proses saat peluncuran.

  • Jumlah proses untuk berjalan secara konkuren.

Ketika sebuah instance dalam armada diaktifkan, ia meluncurkan serangkaian proses server yang didefinisikan dalam konfigurasi runtime. Dengan beberapa proses, Amazon membuat peluncuran setiap proses GameLift terhuyung-huyung. Proses server memiliki rentang hidup yang terbatas. Saat berakhir, Amazon GameLift meluncurkan proses baru untuk mempertahankan jumlah dan jenis proses server yang ditentukan dalam konfigurasi waktu proses.

Anda dapat mengubah konfigurasi waktu aktif kapan saja dengan menambahkan, mengubah, atau menghapus konfigurasi proses server. Setiap instans secara teratur memeriksa pembaruan konfigurasi runtime armada untuk mengimplementasikan perubahan. Berikut adalah cara Amazon GameLift mengadopsi perubahan konfigurasi runtime:

  1. Instance mengirimkan permintaan ke Amazon GameLift untuk versi terbaru konfigurasi runtime.

  2. Instance membandingkan proses aktifnya dengan konfigurasi runtime terbaru, dan kemudian melakukan hal berikut:

    • Jika konfigurasi runtime diperbarui menghapus jenis proses server, maka proses server aktif jenis ini terus berjalan sampai mereka berakhir. Instance tidak menggantikan proses server ini.

    • Jika konfigurasi runtime yang diperbarui mengurangi jumlah proses bersamaan untuk jenis proses server, maka proses server berlebih dari jenis ini terus berjalan hingga berakhir. Instance tidak menggantikan proses server berlebih ini.

    • Jika konfigurasi waktu proses yang diperbarui menambahkan jenis proses server baru atau meningkatkan proses bersamaan untuk jenis yang ada, maka instans memulai proses server baru, hingga GameLift maksimum Amazon. Dalam hal ini, instance meluncurkan proses server baru saat proses yang ada berakhir.

Optimalkan armada untuk beberapa proses

Untuk menggunakan beberapa proses pada armada, lakukan hal berikut:

  • Buat build yang berisi executable server game yang ingin Anda terapkan ke armada, lalu unggah build ke Amazon. GameLift Semua server game dalam build harus berjalan di platform yang sama dan menggunakan Amazon GameLift Server SDK.

  • Buat konfigurasi waktu aktif dengan satu atau lebih konfigurasi proses server dan beberapa proses konkuren.

  • Integrasikan klien game dengan AWS SDK versi 2016-08-04 atau yang lebih baru.

Untuk mengoptimalkan kinerja armada, kami menyarankan Anda melakukan hal berikut:

  • Menangani skenario shutdown proses server sehingga Amazon GameLift dapat mendaur ulang proses secara efisien. Misalnya:

    • Tambahkan prosedur shutdown ke kode server game Anda yang memanggil API serverProcessEnding().

    • Menerapkan fungsi callback OnProcessTerminate() dalam kode server game Anda untuk menangani permintaan penghentian dari Amazon. GameLift

  • Pastikan Amazon GameLift mematikan dan meluncurkan kembali proses server yang tidak sehat. Laporkan status kesehatan kembali ke Amazon GameLift dengan menerapkan fungsi OnHealthCheck() callback dalam kode server game Anda. Amazon GameLift secara otomatis menutup proses server yang dilaporkan tidak sehat selama tiga laporan berturut-turut. Jika Anda tidak mengimplementasikanOnHealthCheck(), maka Amazon GameLift mengasumsikan bahwa proses server sehat, kecuali prosesnya gagal merespons komunikasi.

Pilih jumlah proses per instans

Saat memutuskan jumlah proses bersamaan yang akan dijalankan pada sebuah instance, ingatlah hal berikut:

  • Amazon GameLift membatasi setiap instans ke jumlah maksimum proses bersamaan. Jumlah semua proses bersamaan untuk konfigurasi proses server armada tidak dapat melebihi kuota ini.

  • Untuk mempertahankan tingkat kinerja yang dapat diterima, jenis instans Amazon EC2 mungkin membatasi jumlah proses yang dapat dijalankan secara bersamaan. Uji konfigurasi yang berbeda untuk game Anda untuk menemukan jumlah proses yang tepat untuk jenis instans pilihan Anda.

  • Amazon GameLift tidak menjalankan lebih banyak proses bersamaan daripada jumlah total yang dikonfigurasi. Ini berarti bahwa transisi dari konfigurasi runtime sebelumnya ke konfigurasi baru mungkin terjadi secara bertahap.