Peta jalan pengembangan untuk hosting dengan Amazon GameLift Servers terkelola EC2 - Amazon GameLift Servers

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

Peta jalan pengembangan untuk hosting dengan Amazon GameLift Servers terkelola EC2

Peta jalan ini memandu Anda melalui cara mengembangkan solusi EC2 hosting Amazon GameLift Servers terkelola untuk game multipemain Anda. Amazon GameLift Serversmenawarkan beberapa opsi hosting game; untuk informasi lebih lanjut tentang opsi ini, lihatAmazon GameLift Serverssolusi.

Dengan hosting Amazon GameLift Servers terkelola, server game Anda di-host pada sumber daya komputasi virtual AWS Cloud berbasis yang Amazon GameLift Servers memiliki dan beroperasi berdasarkan konfigurasi Anda. Anda mendapatkan keamanan, keandalan, dan ketersediaan global instans Amazon Elastic Compute Cloud (Amazon EC2) yang dioptimalkan lebih lanjut untuk digunakan dengan hosting game multipemain. Amazon GameLift Serversmerampingkan manajemen hosting dengan alat-alat seperti penerapan server otomatis, penanganan siklus hidup, dan auto-scaling kapasitas.

Solusi Amazon GameLift Servers terkelola terdiri dari komponen-komponen berikut:

  • Satu atau beberapa armada Amazon GameLift Servers terkelola, yang menggunakan instans Amazon Elastic Compute Cloud EC2 (Amazon) yang dioptimalkan untuk hosting game multipemain.

  • Sebuah build server game, terintegrasi dengan SDK server untukAmazon GameLift Servers, untuk digunakan di semua armada.

  • Klien game dan layanan backend, terintegrasi dengan AWS SDK, untuk berinteraksi dengan Amazon GameLift Servers layanan dan meminta sesi permainan.

  • Amazon GameLift ServersAntrian untuk menempatkan sesi permainan baru dengan server game yang tersedia di semua armada.

  • (Opsional) FlexMatch Mak comblang untuk membuat pertandingan multi-pemain dan mengatur sesi permainan untuk mereka.

Peta jalan ini menyajikan jalur yang efisien untuk membuat game multipemain Anda aktif dan berjalan dengan sukses dengan Amazon GameLift Servers hosting terkelola. EC2 Setelah Anda memiliki komponen yang diperlukan, Anda dapat terus mengulangi pengembangan game dan menyesuaikan solusi hosting Anda. Saat Anda semakin dekat dengan peluncuran, lihat ini Mempersiapkan game Anda untuk diluncurkan dengan Amazon GameLift Servers hosting untuk bantuan dalam mempersiapkan solusi hosting Anda untuk penggunaan tingkat produksi.

Mulailah dengan Amazon GameLift Servers plugin untuk Unreal Engine dan Unity

Untuk penyebaran yang lebih cepat, coba Amazon GameLift Serversplugin untuk Unreal Engine dan Unity. Ini menyediakan alur kerja UI terpandu untuk menyebarkan server game Anda dengan cepat dengan pengaturan minimal, sehingga Anda dapat mencoba komponen game Anda dalam aksi. Kemudian Anda dapat membangun fondasi ini untuk membuat solusi hosting khusus untuk game Anda. Untuk detail selengkapnya, lihat Jelajahi dengan Amazon GameLift Servers plugin.

Tambahkan fungsionalitas ke server game Anda sehingga dapat berkomunikasi dengan Amazon GameLift Servers layanan saat digunakan untuk hosting.

  • Dapatkan SDK server untuk Amazon GameLift Servers (versi 5.x) untuk proyek game Anda. Server SDK tersedia dalam C ++, C #, dan Go. Unduh SDK Amazon GameLift Servers server.

  • Ubah kode server game Anda untuk menambahkan fungsionalitas SDK server. Untuk panduan, lihat Integrasikan game dengan server game khusus. Minimal, lakukan hal berikut:

    • Tambahkan kode untuk menginisialisasi Amazon GameLift Servers SDK dan membuat WebSocket koneksi dengan layanan. Amazon GameLift Servers Gunakan tindakan InitSdk() SDK server.

    • Tambahkan kode untuk melaporkan ke Amazon GameLift Servers layanan ketika proses server siap untuk meng-host sesi permainan. Gunakan tindakan ProcessReady() SDK server.

    • Menerapkan fungsi callback yang diperlukanOnProcessTerminate(), danOnStartGameSession(). Dengan fungsi-fungsi ini, proses server game dapat mempertahankan koneksi dengan Amazon GameLift Servers layanan, memulai sesi permainan ketika diminta olehAmazon GameLift Servers, dan menanggapi prompt untuk mengakhiri proses server game.

    • Tambahkan kode untuk melaporkan ke Amazon GameLift Servers layanan saat proses server mengakhiri sesi permainan. Gunakan tindakan ProcessEnding() SDK server.

  • Package build server game Anda. Buat skrip penginstalan dengan file build, dependensi, dan perangkat lunak pendukung Anda. Lihat Membuat paket file bangunan game Anda. Sebaiknya gunakan bucket Amazon Simple Storage Service (Amazon S3) untuk menyimpan versi build game Anda.

  • Uji integrasi server game Anda. Untuk tugas ini, kami sarankan menyiapkan armada Amazon GameLift Servers Anywhere untuk workstation lokal, seperti yang dijelaskan dalamSiapkan pengujian lokal dengan Amazon GameLift Servers Anywhere. Untuk langkah ini, instal server game Anda secara manual ke perangkat uji dan mulai proses server. Gunakan AWS CLI untuk meminta sesi permainan baru, dan verifikasi bahwa Amazon GameLift Servers layanan berhasil meminta proses server Anda untuk memulai sesi permainan.

Buat cara bagi klien game Anda untuk meminta bergabung dengan sesi game, mendapatkan info koneksi, dan kemudian terhubung langsung ke sesi game yang dihosting. Pendekatan yang paling umum adalah mengatur fungsionalitas layanan backend yang berfungsi sebagai perantara antara klien game Anda dan layanan. Amazon GameLift Servers Pendekatan ini melindungi sumber daya hosting Anda dan memberi Anda kontrol yang lebih besar atas bagaimana pemain ditempatkan ke dalam sesi permainan.

  • Bangun fungsionalitas layanan backend untuk hosting. Layanan backend berkomunikasi dengan Amazon GameLift Servers layanan dan memberikan informasi koneksi ke klien game. Fungsionalitas ini termasuk memulai sesi permainan, menempatkan pemain ke dalam game, dan mengambil informasi sesi permainan. Untuk panduan, lihat Integrasikan game dengan server game khusus. Minimal, lakukan hal berikut:

  • Tambahkan fungsionalitas ke klien game Anda yang memungkinkan pemain bergabung dengan sesi game yang dihosting. Klien game membuat permintaan ke layanan backend Anda, tidak langsung ke. Amazon GameLift Servers Setelah layanan backend menyediakan informasi koneksi sesi game, klien game terhubung langsung dengan sesi game untuk memainkan game.

  • Uji integrasi klien game Anda. Anda dapat menggunakan armada Amazon GameLift Servers Anywhere yang sama dengan workstation lokal untuk pengujian.

    Untuk pengembangan berulang yang cepat atau saat bekerja dengan tim multi-orang, sebaiknya siapkan lingkungan pengujian berbasis cloud. Solusi Amazon GameLift Servers Toolkit ini meniru perilaku armada Amazon GameLift Servers terkelola tetapi memungkinkan Anda memperbarui build server game dengan waktu penyelesaian minimal.

Sesuaikan cara Anda Amazon GameLift Servers ingin memproses permintaan untuk sesi permainan baru dan temukan server game yang tersedia untuk meng-host mereka. Amazon GameLift Serverssecara otomatis melacak ketersediaan semua server game di semua armada. Ketika klien game mengirim permintaan untuk bergabung dengan sesi permainan, Amazon GameLift Servers cari penempatan “terbaik” berdasarkan serangkaian prioritas yang ditentukan seperti latensi minimum, biaya, dan ketersediaan.

  • Buat antrian sesi permainan untuk menempatkan sesi permainan baru dengan server game yang tersedia. Antrian adalah mekanisme utama untuk penempatan sesi permainan. Untuk panduan, lihat Buat antrean sesi game.

    • Minimal, tambahkan armada Anywhere Anda sebagai tujuan dalam antrian Anda. Semua pengaturan lainnya adalah kustomisasi opsional.

  • Dalam kode layanan backend Anda, ubah CreateGameSession() panggilan ke. StartGameSessionPlacement() Lihat Membuat sesi permainan dalam antrean multi-lokasi.

  • Buat mekanisme untuk memberi tahu klien game saat sesi permainan siap untuk bergabung. Saat dalam pengembangan, Anda dapat melakukan polling untuk status sesi game menggunakan panggilan ke DescribeGameSessionPlacement. Namun, sebelum menggunakan antrian untuk memproses volume tinggi, Anda harus mengaktifkan notifikasi acara. Lihat Atur notifikasi kejadian untuk penempatan sesi game.

  • (Opsional) Tambahkan komponen FlexMatch perjodohan. Untuk panduan, lihat panduan Amazon GameLift ServersFlexMatch pengembang.

Hingga saat ini Anda telah bekerja dengan armada Anywhere yang dikelola sendiri untuk menguji dan mengulangi komponen game Anda dan Anda telah menyempurnakan penempatan sesi game Anda.Bagian terakhir dari solusi Anda adalah mengatur jenis sumber daya hosting yang Anda perlukan untuk sistem produksi. Untuk mulai merencanakan dan mengonfigurasi produksi, Anda ingin beralih ke bekerja dengan armada yang Amazon GameLift Servers dikelola.

  • Package build server game Anda dan unggah keAmazon GameLift Servers. Buat skrip penginstalan dengan file build, dependensi, dan perangkat lunak pendukung Anda. Lihat Menerapkan build server khusus untuk Amazon GameLift Servers mengadakan. Anda dapat mengunggah build Anda Amazon GameLift Servers menggunakan konsol atau AWS CLI.

    Sebelum mengunggah build Anda, putuskan apa yang ingin Wilayah AWS Anda buat armada. Anda harus mengunggah build ke Wilayah yang sama. Untuk informasi lebih lanjut tentang memilih lokasi armada, lihatLokasi armada.

  • Buat EC2 armada yang dikelola. Saat Anda membuat armada, Amazon GameLift Servers segera mulai menerapkan build server game Anda untuk hosting. Anda dapat mengonfigurasi banyak aspek armada yang dikelola. Untuk panduan, lihat Buat EC2 armada Amazon GameLift Servers terkelola. Minimal, lakukan hal berikut:

    • Beri nama armada dan tentukan build game yang diunggah untuk diterapkan.

    • Pilih Instans Sesuai Permintaan untuk armada Anda dan pilih jenis instans yang tersedia di lokasi armada Anda. Armada spot adalah pilihan yang berharga tetapi membutuhkan desain dan konfigurasi tambahan.

    • Buat konfigurasi runtime untuk armada. Minimal, tentukan jalur peluncuran untuk server game Anda yang dapat dieksekusi.

    • Tentukan pengaturan port untuk memungkinkan lalu lintas masuk mengakses server game Anda.

  • Tambahkan armada terkelola ke antrian Anda. Dalam antrean sesi permainan Anda, ganti armada Anywhere dengan armada terkelola Anda.

  • Uji hosting game dengan armada terkelola Anda. Pada titik ini Anda harus dapat menguji seluruh siklus hosting, dengan klien game yang meminta sesi permainan, mendapatkan info koneksi, dan berhasil terhubung ke sesi permainan.

Saat Anda mempersiapkan peluncuran game, Anda harus menyempurnakan sumber daya hosting terkelola Anda. Beberapa keputusan yang perlu dipertimbangkan meliputi: