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 GameLift Server Amazon EC2 yang dikelola
Peta jalan ini memandu Anda melalui cara mengembangkan solusi hosting Amazon GameLift Servers EC2 terkelola untuk game multipemain Anda. Amazon GameLift Serversmenawarkan beberapa opsi hosting game; untuk informasi lebih lanjut tentang opsi ini, lihatGameLift Server Amazon opsi hosting game.
Dengan Amazon GameLift Servers hosting terkelola, server game Anda di-host pada sumber daya komputasi virtual AWS CloudAmazon GameLift Servers berbasis yang memiliki dan beroperasi berdasarkan konfigurasi Anda. Anda mendapatkan keamanan, keandalan, dan ketersediaan global instans Amazon Elastic Compute Cloud (Amazon EC2) yang selanjutnya dioptimalkan untuk digunakan dengan hosting game multipemain. Amazon GameLift Serversmenyederhanakan manajemen hosting dengan alat-alat seperti penerapan server otomatis, penanganan siklus hidup, dan penskalaan otomatis kapasitas.
Solusi Amazon GameLift Servers terkelola terdiri dari komponen-komponen berikut:
-
Pembuatan 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.
-
An Amazon GameLift Servers trian atau mekanisme penempatan lainnya untuk menempatkan sesi game baru dengan server game yang tersedia di semua armada.
-
(Opsional) Seorang FlexMatch matchmaker untuk membuat pertandingan multi-pemain dan mengatur sesi permainan untuk mereka.
-
Satu atau lebih armada Amazon GameLift Servers terkelola, yang menggunakan instans Amazon Elastic Compute Cloud (Amazon EC2) yang dioptimalkan untuk hosting game multipemain.
Peta jalan ini menyajikan jalur yang efisien untuk membuat game multipemain Anda berjalan dengan sukses dengan hosting EC Amazon GameLift Servers 2 terkelola. Setelah Anda memiliki komponen yang diperlukan, Anda dapat terus mengulangi pengembangan game dan menyesuaikan solusi hosting Anda. Saat Anda semakin dekat untuk peluncuran, lihat ini Bersiaplah untuk peluncuran dengan GameLift Server Amazon mengadakan untuk bantuan menyiapkan solusi hosting Anda untuk penggunaan tingkat produksi.
Mulailah dengan GameLift Server Amazon plugin untuk Unreal Engine dan Unity
Untuk penyebaran yang lebih cepat, coba 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 Siapkan game untuk hosting dengan Amazon GameLift Servers. Minimal, lakukan hal berikut:
-
Tambahkan kode untuk menginisialisasi Amazon GameLift Servers SDK dan membuat WebSocket koneksi dengan Amazon GameLift Servers layanan. Gunakan tindakan SDK server
InitSdk(). -
Tambahkan kode untuk melaporkan ke Amazon GameLift Servers layanan saat proses server siap untuk menyelenggarakan sesi game. Gunakan tindakan SDK server
ProcessReady(). -
Menerapkan fungsi callback yang diperlukan
OnProcessTerminate(), 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 SDK server
ProcessEnding().
-
-
Kemas build server game Anda. Buat skrip instalasi 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, sebaiknya siapkan armada Any Amazon GameLift Servers where untuk workstation lokal, seperti yang dijelaskan dalamSiapkan pengujian lokal dengan GameLift Server Amazon Dimana saja. 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 game.
Buat cara bagi klien game Anda untuk meminta untuk 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.
-
Membangun fungsionalitas layanan backend untuk hosting. Layanan backend berkomunikasi dengan Amazon GameLift Servers layanan dan memberikan informasi koneksi ke klien game. Fungsi ini termasuk memulai sesi permainan, menempatkan pemain ke dalam game, dan mengambil informasi sesi game. Untuk panduan, lihat Siapkan game untuk hosting dengan Amazon GameLift Servers. Minimal, lakukan hal berikut:
-
Dapatkan AWS SDK untuk Amazon GameLift Servers dan tambahkan ke proyek layanan backend Anda. Lihat sumber daya Amazon GameLift Servers SDK untuk layanan klien.
-
Tambahkan kode untuk menginisialisasi Amazon GameLift Servers klien dan menyimpan pengaturan kunci. Lihat Siapkan GameLift Server Amazon API.
-
Tambahkan fungsionalitas untuk memanggil tindakan AWS SDK
CreateGameSession()dan memberikan informasi koneksi sesi game ke klien game. Lihat Membuat sesi permainan pada armada tertentu.Mem
CreateGameSession()anggil adalah titik awal yang nyaman untuk meminta sesi permainan baru. Setelah Anda memiliki sistem penempatan sesi game (lihat Langkah 3), Anda akan mengganti kode ini dengan panggilan keStartGameSessionPlacement()(atauStartMatchmaking()jika Anda menggunakanFlexMatch).Untuk panduan merancang layanan backend Anda, lihatMembangun layanan backend untuk GameLift Server Amazon.
-
-
Tambahkan fungsionalitas ke klien game Anda yang memungkinkan pemain bergabung dengan sesi game yang dihosting. Klien game membuat permintaan ke layanan backend Anda, bukan langsung keAmazon 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 iteratif yang cepat atau saat bekerja dengan tim multi-orang, sebaiknya siapkan lingkungan pengujian berbasis cloud. Solusi Amazon GameLift Servers Toolkit ini meniru perilaku armada yang Amazon GameLift Servers dikelola tetapi memungkinkan Anda memperbarui build server game dengan waktu penyelesaian minimal.
Sesuaikan cara Anda Amazon GameLift Servers ingin memproses permintaan untuk sesi game 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 game, Amazon GameLift Servers cari penempatan “terbaik mungkin” berdasarkan serangkaian prioritas yang ditentukan seperti latensi minimum, biaya, dan ketersediaan.
-
Buat antrian sesi game untuk menempatkan sesi game 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 penyesuaian opsional.
-
-
Dalam kode layanan backend Anda, konversi
CreateGameSession()panggilan keStartGameSessionPlacement(). Lihat Membuat sesi game dalam antri an multi-lokasi. -
Buat mekanisme untuk memberi tahu klien game ketika sesi game 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 per FlexMatch jodohan. 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.
-
Kemas build server game Anda dan unggah keAmazon GameLift Servers. Buat skrip instalasi dengan file build, dependensi, dan perangkat lunak pendukung Anda. Lihat Buat build server game untuk GameLift Peladen Amazon. 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 geografis.
-
Buat armada EC2 terkelola. Saat Anda membuat armada, Amazon GameLift Servers segera mulai menerapkan build server game Anda untuk hosting. Anda dapat mengonfigurasi banyak aspek dari armada yang dikelola. Untuk panduan, lihat Buat sebuah GameLift Server Amazon armada EC2 yang dikelola. Minimal, lakukan hal berikut:
-
Beri nama armada dan tentukan build game mana yang diunggah untuk digunakan.
-
Pilih On-Demand Instans untuk armada Anda dan pilih jenis instans yang tersedia di lokasi armada Anda. Armada spot adalah pilihan yang berharga tetapi memerlukan 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 yang dikelola ke antrian Anda. Dalam antrian 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 meminta sesi permainan, mendapatkan info koneksi, dan berhasil terhubung ke sesi game.
Saat Anda mempersiapkan peluncuran game, Anda harus menyempurnakan sumber daya hosting terkelola Anda. Beberapa keputusan yang perlu dipertimbangkan meliputi:
Pertimbangkan untuk menambahkan armada Spot untuk penghematan biaya. Lihat Kurangi biaya hosting game dengan armada Spot.
-
Jika server game Anda perlu mengkomunikasikan AWS sumber daya lain, atur peran IAM untuk mengelola akses. Lihat Hubungkan Anda GameLift Server Amazon server game yang di-host ke yang lain AWS sumber daya.
Tentukan di mana secara geografis Anda ingin memposisikan server game. Tambahkan lokasi jarak jauh ke armada terkelola Anda. Lihat Kustomisasi sumber daya hosting.
Optimalkan kinerja armada dengan memilih jenis dan ukuran instance dan mengonfigurasi runtime untuk menjalankan beberapa proses server. Lihat Optimalkan konfigurasi runtime server game pada managed Amazon GameLift Servers.
Bereksperimenlah dengan opsi penempatan sesi game untuk armada yang dikelola, termasuk menyesuaikan pengaturan prioritas. Lihat Kustomisasi antrian sesi permainan.
-
Siapkan penskalaan kapasitas otomatis untuk memenuhi permintaan pemain yang diharapkan. Lihat Menskalakan kapasitas hosting game dengan Amazon GameLift Servers.
-
Siapkan armada siaga di armada lain Wilayah AWS dan ubah antrian dan penskalaan otomatis untuk menangani failover jika diperlukan.
-
Siapkan alat pengamatan hosting, termasuk analitik dan pencatatan. Lihat Memantau GameLift Peladen Amazon.
-
Otomatiskan penerapan Anda menggunakan infrastruktur sebagai kode (iAc). Lihat Kelola GameLift Server Amazon sumber daya hosting menggunakan CloudFormation.
Amazon GameLift Serversmendukung penggunaan AWS CloudFormation templat untuk konfigurasi khusus penerapan apa pun. Anda juga dapat menggunakan AWS Cloud Development Kit (AWS CDK) untuk menentukan Amazon GameLift Servers sumber daya Anda. Untuk informasi selengkapnya AWS CDK, lihat Panduan Peng AWS Cloud Development Kit (AWS CDK) embang.
Untuk mengelola penerapan tumpu CloudFormation kan Anda, sebaiknya gunakan alat dan layanan integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) seperti AWS CodePipeline. Alat-alat ini membantu Anda menerapkan secara otomatis atau dengan persetujuan setiap kali Anda membangun biner server game. Dengan CI/CD alat atau layanan, penyebaran sumber daya untuk versi server game baru dapat terlihat seperti ini:
-
Bangun dan uji biner server game Anda.
-
Unggah biner keAmazon GameLift Servers.
-
Terapkan armada baru dengan build baru.
-
Tambahkan armada baru ke antrian sesi game Anda dan hapus armada dengan versi build sebelumnya.
-
Ketika armada dengan build sebelumnya tidak lagi menjadi tuan rumah sesi game aktif, hapus tumpukan CloudFormation armada tersebut.
-