View a markdown version of this page

Buat sebuah GameLift Server Amazon armada EC2 yang dikelola - GameLift Server Amazon

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

Buat sebuah GameLift Server Amazon armada EC2 yang dikelola

Topik ini menjelaskan cara membuat armada EC Amazon GameLift Servers 2 terkelola. Armada terkelola menggunakan instans komputasi Amazon Elastic Compute Cloud (Amazon EC2) yang dioptimalkan untuk hosting game multipemain. Anda dapat membuat armada terkelola yang menerapkan komputasi secara global ke Wilayah AWS dan Zona Lokal yang didukung oleh. Amazon GameLift Servers

Saat Anda membuat sumber daya armada EC2 terkelola baru, Anda segera memulai fase pertama pembuatan armada. Pembuatan armada terkelola melewati beberapa Amazon GameLift Servers fase saat menerapkan instans EC2, menginstal lingkungan runtime dan membangun server game Anda di instans, dan mulai meluncurkan server game. Bergantung pada lingkungan runtime yang dibutuhkan build server game Amazon GameLift Servers Anda, menerapkan versi terbaru Amazon Machine Image (AMI) pada saat pembuatan armada (dan semua instance mendatang dalam armada akan menggunakan versi yang sama). Anda dapat memantau status armada di konsol atau menggunakan AWS Command Line Interface (AWS CLI). Ketika armada siap untuk menyelenggarakan sesi permainan, statusnya berubah menjadiACTIVE. Untuk informasi selengkapnya tentang pembuatan armada terkelola, lihat topik ini:

catatan

Sebagai praktik terbaik, kami sarankan mengganti armada Anda setiap 30 hari untuk menjaga lingkungan runtime yang aman dan terkini untuk server game yang Anda hosting. Ini membutuhkan pembuatan armada baru dan migrasi lalu lintas pemain ke sana. Untuk panduan lebih lanjut, lihatPraktik terbaik keamanan untuk GameLift Server Amazon.

Untuk membuat armada EC2 terkelola

Gunakan Amazon GameLift Servers konsol atau AWS Command Line Interface (AWS CLI) untuk membuat armada EC2 terkelola.

Console

Di Amazon GameLift Servers konsol, gunakan panel navigasi untuk membuka halaman Man aged EC2, Fleets. Pilih Buat armada EC2 terkelola untuk memulai alur kerja pembuatan armada.

Langkah 1 Tentukan detail armada EC2 yang dikelola
Untuk konfigurasi armada minimal:
  • Berikan nama armada.

  • Pilih jenis biner: Bangun. Pilih build dari daftar build server yang sebelumnya telah Anda unggahAmazon GameLift Servers.

  • Lewati bagian Detail tambahan dan Tag untuk menggunakan pengaturan default.

  1. Isi bagian rincian Ar mada:

    1. Masukkan Nama armada. Nama armada hanya bersifat deskriptif, berguna untuk menyortir atau memfilter daftar armada. Mereka tidak perlu menjadi unik.

    2. Berikan Deskripsi armada singkat untuk menyertakan informasi khusus yang ingin Anda tangkap tentang armada.

    3. Pilih Jenis biner, Bangun, dan gunakan daftar dropdown untuk memilih build server game yang sebelumnya telah Anda unggah. Amazon GameLift Servers

  2. Atur rincian tambahan sesuai kebutuhan.

    1. Jika server game yang dapat dieksekusi perlu mengakses AWS sumber daya lain di akun Anda, tentukan peran Instans IAM dengan izin yang diperlukan. Untuk informasi selengkapnya, termasuk cara mengotorisasi aplikasi sisi server lainnya (seperti CloudWatch agen), lihat. Hubungkan Anda GameLift Server Amazon server game yang di-host ke yang lain AWS sumber daya Pengaturan ini tidak dapat diubah setelah Anda membuat armada.

      Anda harus membuat peran sebelum membuat armada yang menggunakannya. Selain itu, untuk membuat armada dengan peran instance, AWS pengguna Anda harus memiliki PassRole izin IAM (lihatContoh izin IAM untuk Amazon GameLift Servers).

    2. Aktifkan opsi Buat sertifikat TLS untuk mengatur otentikasi dan enkripsi untuk game Anda. Klien game menggunakan sertifikat ini untuk mengotentikasi server game saat menghubungkan dan mengenkripsi semua client/server komunikasi. Untuk setiap contoh dalam TLS-enabled armada. Amazon GameLift Serversjuga membuat entri DNS baru dengan sertifikat. Pengaturan ini tidak dapat diubah setelah Anda membuat armada.

    3. Amazon GameLift Serversmemancarkan data metrik untuk setiap armada individu. Jika Anda ingin menggabungkan data metrik untuk beberapa armada, tentukan nama grup Metrik. Gunakan nama grup metrik yang sama untuk semua armada yang ingin Anda gabungkan metriknya. Gunakan CloudWatch untuk melihat data grup metrik agregat.

  3. Tambahkan Tag ke sumber daya armada. Setiap tag terdiri dari satu kunci dan satu nilai opsional, yang keduanya Anda tentukan sendiri. Tetapkan tag ke AWS sumber daya yang ingin Anda kategorikan, seperti berdasarkan tujuan, pemilik, atau lingkungan. Pilih Tambahkan tag baru untuk setiap tag yang ingin Anda tambahkan.

  4. Pilih Berikutnya untuk melanjutkan alur kerja.

Langkah 2 Tentukan detail instance

Pada langkah ini, pilih jenis sumber daya perangkat keras yang akan digunakan untuk server game Anda dan tentukan di mana Anda ingin menyebarkannya. Dengan memilih beberapa lokasi, Anda dapat menyebarkan server game Anda ke lokasi geografis yang lebih luas, yang menempatkannya lebih dekat dengan pemain Anda dan meminimalkan latensi. Semua instans EC2 dalam armada harus memiliki tipe yang sama. Tidak semua jenis instans tersedia di semua lokasi.

Untuk konfigurasi armada minimal:
  • Mulailah dengan menerapkan ke lokasi rumah saja. Anda tidak perlu menambahkan lokasi jarak jauh untuk pengembangan dan pengujian awal.

  • Setel jenis armada yang disetel ke "On-Demand”. Armada spot memerlukan pekerjaan pengaturan tambahan.

  • Setel jenis instance ke “c5.large”. Jenis instance yang umum digunakan ini tersedia di semua Wilayah AWS. Anda dapat mengoptimalkan penggunaan perangkat keras Anda nanti.

  1. Dalam Pener apan Inst ance, tentukan lokasi dan jenis armada.

    1. Pilih satu atau beberapa Lokasi tambahan tempat Anda ingin menerapkan instans armada. Lokasi terpencil ini ditambahkan ke lokasi asal armada (yang telah dipilih sebelumnya), yang merupakan Wilayah AWS tempat Anda membuat armada ini. Anda dapat memilih lokasi jarak jauh dari semua Wilayah AWS dan Zona Lokal yang Amazon GameLift Servers mendukung.

      Untuk mempelajari lebih lanjut tentang lokasi yang didukung, termasuk cara menggunakan lokasi Wilayah AWS yang tidak diaktifkan secara default, lihat GameLift Server Amazon lokasi layanan untuk hosting terkelola. Juga tinj Amazon GameLift Servers au kuota pada lokasi per armada.

    2. Pilih untuk menggunakan salah satu inst On-demand ans atau Spot untuk armada ini. Untuk informasi selengkapnya tentang jenis armada, lihatOn-Demand Instans versus Instans Spot.

  2. Pilih konfigurasi Instans Amazon EC2 yang memenuhi kebutuhan Anda dan tersedia di semua lokasi pilihan Anda. Daftar ini difilter berdasarkan lokasi Anda saat ini dan pilihan jenis armada. Anda dapat memfilternya lebih lanjut dengan faktor lain seperti keluarga tipe instance dan arsitektur. Setelah membuat armada, Anda tidak dapat mengubah jenis instans.

    Beberapa lokasi memiliki opsi jenis instans terbatas. Jika jenis instans pilihan Anda tidak tersedia untuk semua lokasi, pilih nilai ketersediaan lokasi untuk melihat detail lengkap. Untuk mengakomodasi semua lokasi, Anda mungkin perlu membuat armada terpisah dengan jenis instans yang berbeda.

    Untuk informasi selengkapnya tentang memilih jenis instance, lihatTipe instans. Untuk mempelajari selengkapnya tentang arsitektur Amazon EC2 Arm, lihat Prosesor AWS Graviton dan jenis instans Amazon EC2. Untuk daftar lengkap jenis instans yang didukung olehAmazon GameLift Servers, lihat referensi API untuk EC2InstanceType (CreateFleet()).

    catatan

    Instans Graviton Arm memerlukan build server untuk AMI Linux. Server SDK 5.1.1 atau yang lebih baru diperlukan untuk C++ dan C#. Server SDK 5.0 atau yang lebih baru diperlukan untuk Go. Instans ini tidak menyediakan dukungan bawaan untuk instalasi Mono di Amazon Linux 2023 (AL2023) atau Amazon Linux 2 (AL2).

    catatan

    Jika Anda memilih instance arsitektur ARM, pastikan build yang Anda pilih berjalan pada arsitektur ARM. Jika tidak, penyebaran armada akan gagal.

  3. Pilih Berikutnya untuk melanjutkan alur kerja.

Langkah 4 Konfigurasikan runtime

Pada langkah ini, jelaskan bagaimana Anda ingin setiap instance dalam armada menjalankan perangkat lunak server game Anda. Tentukan item baris proses server terpisah untuk setiap eksekusi untuk dijalankan pada sebuah instance, dan putuskan berapa banyak dari setiap proses server yang akan dijalankan secara bersamaan. Buka port pada setiap instance untuk memungkinkan pemain terhubung langsung ke server game. Anda dapat memperbarui pengaturan armada ini kapan saja.

Untuk konfigurasi armada minimal:
  • Tentukan item baris proses server tunggal untuk server game Anda yang dapat dieksekusi. Jika server game Anda memerlukan proses lain untuk berjalan, buat definisi untuk masing-masing juga.

  • Gunakan jumlah default proses bersamaan (1) untuk setiap item baris.

  • Lewati pengaturan aktivasi sesi permainan.

  • Tentukan nomor port tunggal.

  • Lewati pengaturan sumber daya sesi game.

  1. Buat konfigurasi Runtime untuk menginstruksikan Amazon GameLift Servers cara menjalankan proses server pada setiap instance dalam armada. Anda dapat mengubah konfigurasi runtime armada kapan saja setelah penerapan.

    1. Masukkan jalur Launch ke file yang dapat dieksekusi di build Anda. Pada instance Windows, file yang dapat dieksekusi server game dibangun ke jalurC:\game. Pada instans Linux, server game dibuat ke /local/game. Contoh: C:\game\MyGame\server.exe atau /local/game/MyGame/server.exe.

    2. Masukkan parameter Pel uncuran opsional untuk diteruskan ke game yang dapat dieksekusi. Contoh:+sv_port 33435 +start_lobby.

    3. Tentukan jumlah proses bersamaan yang akan dijalankan pada setiap instance. Untuk server game yang dapat dieksekusi, setiap proses dapat menjadi tuan rumah satu sesi game, sehingga proses bersamaan menentukan jumlah sesi game yang dapat dihosting instans secara bersamaan.

      Tinjau Amazon GameLift Servers kuota pada proses server per instance. Kuota ini berlaku untuk total proses bersamaan untuk semua konfigurasi. Jika Anda mengonfigurasi armada untuk melebihi mereka, armada tidak dapat mengaktifkan.

  2. Gunakan default aktivasi sesi Game atau sesuaikan untuk game Anda. Jika konfigurasi runtime memanggil beberapa proses server game bersamaan per instans, pengaturan ini menentukan seberapa cepat sesi game baru dapat dimulai.

    1. A tur aktivasi sesi game serentak maksimum untuk membatasi jumlah server game pada instance yang sedang mempersiapkan sesi game baru. Pengaturan ini berguna saat meluncurkan beberapa sesi game baru yang membutuhkan banyak sumber daya dan dapat memengaruhi kinerja sesi game lainnya yang sedang berjalan.

    2. Atur batas waktu aktivasi baru untuk mencerminkan jumlah waktu maksimum yang dibutuhkan sesi permainan baru untuk menyelesaikan aktivasi dan melaporkan siap untuk menjadi tuan rumah pemain. Amazon GameLift Serversmengakhiri aktivasi sesi permainan jika melebihi nilai ini.

  3. Buka pengaturan port EC2 untuk memungkinkan lalu lintas masuk mengakses proses server pada armada. Pengaturan ini tidak diperlukan untuk membuat armada, tetapi Anda perlu mengaturnya sebelum pemain dapat terhubung ke sesi permainan di armada.

    Untuk setiap pengaturan port, pilih Jenis protokol transfer data yang akan digunakan untuk komunikasi antara klien game dan server game Anda. Berikan rentang Port (dalam formatnnnnn[-nnnnn]) dan rentang alamat IP menggunakan notasi CIDR (seperti 0.0.0.0/0 yang memungkinkan akses ke siapa saja).

    Jika Anda perlu mengatur beberapa rentang yang tidak berurutan, buat beberapa pengaturan port.

  4. Tentukan pengaturan sumber daya sesi Game opsional. Anda dapat memperbarui pengaturan ini kapan saja setelah penerapan.

    1. Akti fkan atau menon aktifkan kebijakan perlindungan penskalaan Game untuk semua instans di armada. Selama acara penurunan skala, instans armada yang dilindungi tidak Amazon GameLift Servers akan menghentikan jika mereka menyelenggarakan sesi game aktif.

    2. Tetapkan batas maksimum pembuatan Sumber daya jika Anda ingin membatasi jumlah sesi permainan yang dapat dibuat oleh satu pemain selama rentang waktu tertentu.

  5. Pilih Berikutnya untuk melanjutkan alur kerja.

Langkah 5 Tinjau dan buat

Tinjau pengaturan Anda sebelum membuat armada. Meskipun beberapa pengaturan dapat diperbarui nanti (lihatPerbarui konfigurasi Amazon GameLift Servers armada), perubahan pada pengaturan berikut tidak diperbolehkan setelah armada dibuat:

  • Jenis komputasi: Anda tidak dapat mengonversi armada EC2 terkelola menjadi armada Anywhere.

  • Biner server game: Untuk menerapkan pembaruan ke build server game Anda, Anda harus membuat armada baru.

  • Opsi tambahan, termasuk peran instans dan pembuatan sertifikat TLS.

  • Detail instans, termasuk jenis armada (Spot atau On-Demand) dan tipe instans EC2.

Saat Anda siap untuk menggunakan armada baru, pilih Buat. Amazon GameLift Serverssegera memulai proses aktivasi armada, menetapkan ID unik dan menempatkan armada dalam NEW status. Lacak kemajuan armada dari halaman Armad a.Lihat halaman detail armada dan buka tab Acara.

Anda dapat menyesuaikan kapasitas hosting armada setelah armada mencapai status AKTIF. Amazon GameLift Serversawalnya menyebarkan armada dengan satu instance di setiap lokasi armada, dan Anda menyesuaikan kapasitas dengan menambahkan instance ke setiap lokasi. Untuk informasi selengkapnya, lihat Menskalakan kapasitas hosting game dengan Amazon GameLift Servers.

AWS CLI

Gunakan create-fleet perintah untuk membuat armada tipe EC2 komputasi. Amazon GameLift Serversmembuat sumber daya armada dalam default Anda saat ini Wilayah AWS (atau Anda dapat menambahkan tag --region untuk menentukan yang berbeda Wilayah AWS).

Buat armada yang dikelola minimal

Contoh permintaan berikut membuat armada baru dengan pengaturan minimal yang diperlukan untuk menyebarkan armada dengan menjalankan server game yang dapat dihubungkan oleh klien game. Armada baru memiliki karakteristik ini:

  • Ini menentukan build server game, yang telah diunggah ke Amazon GameLift Servers dan dalam READY status.

  • Ini menggunakan Instans c5. On-Demand large dengan sistem operasi yang cocok dengan build game yang dipilih.

  • Ini menetapkan rumah armada Wilayah AWS ke us-west-2 dan menyebarkan instance ke Wilayah itu saja.

  • Berdasarkan konfigurasi runtime, setiap komputasi dalam armada menjalankan satu proses server game, yang berarti bahwa setiap komputasi hanya dapat meng-host satu sesi game pada satu waktu. Waktu tunggu aktivasi sesi game diatur ke nilai default 300 detik, dan tidak ada batasan jumlah aktivasi bersamaan.

  • Pemain dapat terhubung ke server game menggunakan pengaturan port tunggal33435.

  • Semua fitur lainnya dimatikan atau menggunakan pengaturan default.

aws gamelift create-fleet \ --name MinimalFleet123 \ --description "A basic test fleet" \ --region us-west-2 \ --ec2-instance-type c5.large \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --runtime-configuration "ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, ConcurrentExecutions=10}]" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP"

Buat armada terkelola yang dikonfigurasi sepenuhnya

Contoh permintaan berikut membuat armada produksi dengan pengaturan untuk semua fitur opsional. Armada baru memiliki karakteristik ini:

  • Ini menentukan build server game, yang telah diunggah ke Amazon GameLift Servers dan dalam READY status.

  • Ini menggunakan Instans c5. On-Demand large dengan sistem operasi yang cocok dengan build game yang dipilih.

  • Ini mengatur rumah armada us-west-2 dan Wilayah AWS menyebarkan instance ke Wilayah asal dan satu lokasi sa-east-1 terpencil.

  • Berdasarkan konfigurasi runtime:

    • Setiap komputasi dalam armada menjalankan 10 proses server game dengan parameter peluncuran yang sama, yang berarti bahwa setiap komputasi dapat menampung hingga 10 sesi game secara bersamaan.

    • Pada setiap komputasi, hanya dua sesi permainan yang dapat diaktifkan secara bersamaan. Mengaktifkan sesi permainan harus siap untuk menampung pemain dalam waktu 300 detik (5 menit) atau dihentikan.

  • Pemain dapat terhubung ke server game menggunakan port dalam rentang berikut33435 to 33535.

  • Ini menghasilkan sertifikat TLS untuk komunikasi terenkripsi antara klien game dan server.

  • Semua sesi game di armada memiliki perlindungan sesi game yang diaktifkan.

  • Pemain individu dibatasi untuk membuat tiga sesi permainan baru dalam periode 15 menit.

  • Metrik untuk armada ini disertakan dalam grup metrikAMERfleets, yang (untuk contoh ini) menggabungkan metrik untuk kelompok armada di Amerika Utara, Tengah, dan Selatan.

aws gamelift create-fleet \ --name ProdFleet123 \ --description "A fully configured prod fleet" \ --ec2-instance-type c5.large \ --region us-west-2 \ --locations "Location=sa-east-1" \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --certificate-configuration "CertificateType=GENERATED" \ --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" \ --new-game-session-protection-policy "FullProtection" \ --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33535,IpRange=0.0.0.0/0,Protocol=UDP" \ --metric-groups "AMERfleets"

Jika permintaan create-fleet berhasil, Amazon GameLift Servers mengembalikan serangkaian atribut armada yang mencakup pengaturan konfigurasi yang Anda minta dan ID armada baru. Amazon GameLift Serverskemudian memulai proses aktivasi armada dan menetapkan status armada dan status lokasi ke Baru. Anda dapat melacak status armada dan melihat informasi armada lainnya menggunakan perintah CLI ini:

Anda dapat mengubah kapasitas armada dan pengaturan konfigurasi lainnya sesuai kebutuhan menggunakan perintah berikut: