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 managed Amazon GameLift Servers
Anda dapat menyiapkan konfigurasi runtime EC2 armada terkelola untuk menjalankan beberapa proses server game per instance. 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 banyak proses, Amazon GameLift Servers terhuyung-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 instance secara teratur memeriksa pembaruan konfigurasi runtime armada untuk mengimplementasikan perubahan. Berikut cara Amazon GameLift Servers mengadopsi perubahan konfigurasi runtime:
-
Instance mengirimkan Amazon GameLift Servers permintaan ke konfigurasi runtime versi terbaru.
-
Instance 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 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 kelebihan proses server 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 maksimum. Amazon GameLift Servers 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 tersebut. Amazon 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 versi AWS SDK 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
ProcessEnding()server. -
Menerapkan fungsi callback
OnProcessTerminate()dalam kode server game Anda untuk menangani permintaan penghentian dariAmazon GameLift Servers.
-
-
Pastikan itu Amazon GameLift Servers dimatikan dan meluncurkan kembali proses server yang tidak sehat. Laporkan status kesehatan kembali 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 menerapkanOnHealthCheck(), 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 berikut:
-
Amazon GameLift Serversmembatasi setiap instance 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 EC2 instans Amazon mungkin membatasi jumlah proses yang dapat berjalan 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.