View a markdown version of this page

Optimalkan konfigurasi runtime server game pada terkelola GameLift Server Amazon - GameLift Server Amazon

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

Optimalkan konfigurasi runtime server game pada terkelola GameLift Server Amazon

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

Bagaimana armada mengelola beberapa proses

Amazon GameLift Serversmenggunakan konfigurasi runtime armada untuk menentukan jenis dan jumlah proses yang akan dijalankan pada setiap instance. 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 ditentukan dalam konfigurasi runtime. Dengan beberapa proses, ter Amazon GameLift Servers huyung-huyung peluncuran setiap proses. Proses server memiliki rentang hidup yang terbatas. Saat mereka berakhir, Amazon GameLift Servers meluncurkan proses baru untuk mempertahankan jumlah dan jenis proses server yang ditentukan dalam konfigurasi runtime.

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 cara Amazon GameLift Servers mengadopsi perubahan konfigurasi runtime:

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

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

    • Jika konfigurasi runtime yang diperbarui menghapus jenis proses server, maka proses server aktif dari jenis ini terus berjalan hingga 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 runtime yang diperbarui menambahkan jenis proses server baru atau meningkatkan proses bersamaan untuk tipe yang ada, maka instance memulai proses server baru, hingga Amazon GameLift Servers maksimum. Dalam hal ini, instance meluncurkan proses server baru saat proses yang ada berakhir.

Mengoptimalkan armada untuk berbagai proses

Untuk menggunakan beberapa proses pada armada, lakukan hal berikut:

  • Buat build yang berisi eksekusi server game yang ingin Anda terapkan ke armada, lalu unggah build keAmazon GameLift Servers. Semua server game dalam build harus berjalan pada platform yang sama dan menggunakan SDK server untukAmazon GameLift Servers.

  • 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 sarankan Anda melakukan hal berikut:

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

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

    • Terapkan fungsi callback OnProcessTerminate() dalam kode server game Anda untuk menangani permintaan penghentian dariAmazon GameLift Servers.

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

Pilih jumlah proses per instance

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

  • Amazon GameLift Serversmembatasi setiap instance untuk 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 Serverstidak 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.