View a markdown version of this page

Tutorial: Onboarding cepat dengan GameLift Server Amazon pembungkus - GameLift Server Amazon

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

Tutorial: Onboarding cepat dengan GameLift Server Amazon pembungkus

Selamat datang di tutorial onboarding untukAmazon GameLift Servers. Dalam tutorial ini, Anda dengan cepat menyebarkan server game Anda untuk di-host pada armada sumber daya komputasi berbasis cloud. Gunakan tutorial ini untuk melewatkan pekerjaan mengintegrasikan SDK server Amazon GameLift Servers ke dalam kode game Anda, dan sebagai gantinya menyebarkan game Anda dengan fungsionalitas minimal untuk berkomunikasi dengan Amazon GameLift Servers layanan dan menjalankan sesi game. Anda akan menyiapkan solusi hosting dasar dan menggunakannya untuk mengalami berbagai fitur seperti penskalaan otomatis dan perjodohan. Ini juga cara yang bagus untuk meng-host prototipe game Anda sebagai bagian dari demo langsung atau untuk pengujian.

Manfaat utama dari metode onboarding ini:

  • Terapkan server game Anda dengan cepat untuk hosting dengan cepat.

  • Nol perubahan kode permainan dan tidak diperlukan modifikasi.

  • Gunakan metode ini dengan game apa pun yang dapat dieksekusi, terlepas dari mesin game.

  • Jelajahi semua alat Amazon GameLift Servers manajemen, termasuk pemantauan aktivitas sesi permainan dan kesehatan hosting.

catatan

Pembungkus dimaksudkan untuk evaluasi dan penggunaan produksi dasar. Fitur-fitur lanjutan seperti manajemen sesi pemain terperinci memerlukan integrasi SDK server lengkap.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • An Akun AWS dengan izin yang sesuai

  • AWS CLI terpasang

  • Pergi 1.18+

  • Server game multipemain yang dapat dieksekusi

  • Membuat (Linux/Mac)

  • Git diinstal dengan akun aktif

Gambaran umum

Dalam tutorial ini Anda akan:

  1. Dapatkan dan buat pembungkusnya

  2. Siapkan pembuatan game

  3. Konfigurasikan pembungkus

  4. Unggah build server game

  5. Buat armada EC2 yang dikelola

  6. Membuat dan menghubungkan ke sesi permainan

  7. Pantau dan kelola server game Anda

  8. Menskalakan server game Anda

Langkah 1: Dapatkan dan bangun pembungkus server game

Gunakan perintah berikut untuk mendapatkan sumber pembungkus server game dan membangun pembungkus. Perintah ini menggunakan SSH, tetapi Anda juga dapat pergi ke GitHub repositori secara langsung.

Windows

> git clone git@github.com:amazon-gamelift/amazon-gamelift-servers-game-server-wrapper.git > cd amazon-gamelift-servers-game-server-wrapper > powershell -file .\build.ps1

Mac dan Linux

$ git clone git@github.com:amazon-gamelift/amazon-gamelift-servers-game-server-wrapper.git $ cd amazon-gamelift-servers-game-server-wrapper $ make

Pada build yang berhasil, direktori “out” ditambahkan keamazon-gamelift-servers-game-server-wrapper. Di direktori ini ada tiga folder, satu untuk setiap opsi armada hosting yang didukung, yang berisi satu set artefak build. Untuk tutorial ini, Anda menerapkan ke armada EC2 yang dikelola, jadi Anda akan menggunakan folder. gamelift-servers-managed-ec2

Langkah 2: Siapkan build server game Anda

Pada langkah ini, Anda menyiapkan file build server game Anda untuk diunggah keAmazon GameLift Servers.

Buat direktori game

Sekarang, siapkan direktori game di mesin lokal Anda. Direktori ini harus berisi semua file yang Anda butuhkan untuk menjalankan server game AndaAmazon GameLift Servers. Ini termasuk pembungkus server game, build server game Anda dan config.yaml yang membuat pembungkus berfungsi dengan server game Anda.

Gunakan langkah-langkah berikut:

  1. Armada EC2 yang dikelola. Di folder output pembungkus server game, temukan artefak build untuk digunakan ke armada EC2 Terkelola. Build akan ditulis ke direktori out seperti yang ditunjukkan di sini:out\linux\amd64\gamelift-servers-managed-ec2.

  2. Salin server game Anda yang dapat dieksekusi dan semua file terkait yang diperlukan untuk dijalankan ke gamelift-servers-managed-ec2 folder. Anda dapat memiliki direktori bersarang sesuai kebutuhan.

Contoh struktur direktori akan terlihat seperti ini:

gamelift-servers-managed-ec2 │-- config.yaml │-- amazon-gamelift-servers-game-server-wrapper │-- MyGame │ │-- server-executable.exe │ │-- my-game-settings │ │ ......

Langkah 3: Konfigurasikan pembungkus untuk armada Anda

Amazon GameLift Serversmengelola siklus hidup instans komputasi armada, memutar instans baru dengan build server Anda diinstal, dan mendaur ulang instans sesuai kebutuhan. Layanan ini mengelola siklus proses server game yang berjalan pada setiap instance. Armada EC2 Terkelola dapat memiliki instans di beberapa lokasi untuk mendukung pemain di mana pun mereka berada.

Edit file config.yaml untuk mengonfigurasi pembungkus untuk logging, pengaturan port, dan inisialisasi server.

  1. Konfigurasikan pengaturan logging. Pembungkus server game menghasilkan pesan log untuk setiap proses server game. Secara default, level log diatur ke debug untuk verbositas maksimum. Ini sangat berguna selama pengaturan dan pemecahan masalah dan menentukan seberapa detail pesan log - dalam hal ini, yang paling bertele-tele. Opsi termasuk debug, info, peringatan, dan kesalahan (paling tidak bertele-tele).

  2. Tentukan jalur ke direktori log server game. Jalur default untuk log server game adalah./game-server-logs. Direktori ini berisi semua log yang dihasilkan oleh server game Anda dan setiap instance memilikinya. Log secara otomatis diunggah ke Amazon GameLift Servers tempat mereka diakses dari tab Acara. Lihat bagian Pemecahan Masalah untuk detail selengkapnya.

  3. Tentukan konfigurasi port jaringan. Atur port game ke apa pun yang Anda inginkan. Untuk tutorial ini, tentukan satu port saja, karena Anda akan membuat armada yang hanya menjalankan satu proses server game bersamaan per instance. Jika Anda memutuskan untuk menjalankan beberapa proses sekaligus, Anda harus mengonfigurasi port yang cukup untuk setiap proses bersamaan. Nilai defaultnya adalah 37016 seperti yang ditunjukkan dalam file konfigurasi, tetapi secara umum, untuk armada yang menggunakan build Linux gunakan port 22 dan 1026-60000. Untuk armada yang menggunakan build Windows, gunakan port 1026-60000.

  4. Siapkan jalur ke server game yang dapat dieksekusi. Untuk ./MyGame/my-server-executable.exe menyesuaikan jalur ke server game Anda yang dapat dieksekusi dengan nama dan lokasi sebenarnya untuk itu. Ini adalah titik masuk untuk meluncurkan server game Anda.

  5. Konfigurasikan argumen server game. Minimal, tentukan argumen -port dan gunakan nilai port game yang sama yang Anda tentukan sebelumnya. Nilai “pos” 0 menunjukkan ini adalah argumen pertama. Tambahkan argumen lain sesuai kebutuhan. Argumen ini diteruskan ke server game Anda saat diluncurkan, memungkinkan Anda untuk mengkonfigurasi perilaku runtime.

    1. Argumen: "--port"

    2. Nilai: "{{.port number here}}"

    3. Posisi: 0 (Argumen pertama dalam daftar)

Contoh konfigurasi:

log-config: wrapper-log-level: debug game-server-logs-dir: ./game-server-logs ports: gamePort: 37016 game-server-details: executable-file-path: ./MyGame/my-server-executable game-server-args: - arg: "--port" val: "{{.gameport}}" pos: 0

Langkah 4: Unggah build server game

Anda sekarang telah menyelesaikan semua elemen yang diperlukan dari build server game Anda (pembungkus server game, config.yaml, dan file server game Anda), dan Anda siap untuk mengunggah build game Anda untuk hosting. Amazon GameLift Servers Cara tercepat untuk mengunggah build game Anda adalah dengan menggunakan AWS CLI perintah upload-build seperti yang ditunjukkan pada contoh berikut.

Mengunggah build game dengan Windows:

aws gamelift upload-build \ --name gamelift-test-2025-03-11-1 \ --build-version gamelift-test-2025-03-11-1 \ --build-root out/windows/amd64/gamelift-servers-managed-ec2 \ --operating-system WINDOWS_2022 \ --server-sdk-version 5.3.0 \ --region us-west-2
catatan

Untuk build Mac dan Linux, gunakan --operation-system AMAZON_LINUX_2023

Saat Anda membuat build, catat ID build dari respons API untuk menggunakannya untuk pembuatan armada.

Langkah 5: Buat armada EC2 yang dikelola

Langkah-langkah berikut menjelaskan konfigurasi armada minimal, sehingga Anda dapat siap dan menjalankannya sesegera mungkin.

Untuk membuat armada Anda:

  1. Masuk ke Konsol Manajemen AWS dan arahkan keAmazon GameLift Servers.

  2. Pada bilah menu di bagian atas jendela konsol, periksa untuk memastikan wilayah di mana build Anda berada. Catat karena armada Anda harus berada di wilayah yang sama atau Anda tidak akan dapat menemukan atau memilih bangunan Anda.

  3. Di panel navigasi di bagian EC2 Terkelola, pilih Build.

  4. Pilih build yang Anda unggah sebelumnya untuk menampilkan halaman detail Build.

  5. Di bagian Armada pilih Buat Armada yang menampilkan halaman detail Define Managed EC2 fleet dari mana Anda dapat melacak status armada Anda serta melihat peristiwa pembuatan armada di tab Acara.

  6. Isi nama dan deskripsi dan pilih Ber ikutnya.

  7. Di halaman Define instance details, wilayah build ditampilkan secara default. Pilih wilayah tambahan yang ingin Anda tambahkan.

  8. Untuk jenis Armada pilih On-Demand.

  9. Di bawah Jenis Instance pilih c5.large dan pilih Next.

  10. Di bawah konfigurasi Runtime, Karena build game yang Anda unggah menggunakan pembungkus, Anda harus menunjuk ke pembungkus yang dapat dieksekusi sebagai gantinya. Untuk server game Windows ini adalahC:\game\amazon-gamelift-servers-game-server-wrapper.exe. Untuk server game Linux, ini adalah/local/game/amazon-gamelift-servers-game-server-wrapper.

    Misalnya: LaunchPath": "/local/game/amazon-gamelift-servers-game-server-wrapper", "ConcurrentExecutions": 1, "Parameters": "—port 37016

    Juga, konfigurasikan nilai port game dengan rentang yang memungkinkan port yang ditetapkan dalam config.yaml dan parameter peluncuran konfigurasi runtime. Port di config.yaml tidak perlu cocok dengan yang ditentukan dalam konfigurasi runtime armada, tetapi pada waktu proses jika konfigurasi menentukan port yang berbeda, nilai itu menggantikan apa yang ada diconfig.yaml. Parameter peluncuran yang dimasukkan dalam konfigurasi runtime juga mengesampingkan apa yang ada diconfig.yaml.

  11. Pada halaman T injau dan buat, periksa kembali semua konfigurasi, lalu pilih K irim untuk membuat armada Anda. Status armada akan berubah saat meningkatkan kapasitas untuk meng-host server game, dan segera menunjukkan status Aktif. Setelah aktivasi selesai dan armada dikerahkan, layanan meluncurkan pembungkus yang siap menerima permintaan sesi game.

Langkah 6: Buat dan sambungkan ke sesi permainan

Ketika status armada Anda menunjukkan Aktif, ini berarti server game siap dan menunggu untuk menyelenggarakan sesi permainan. Untuk memulai sesi permainan, buat permintaan sesi game ke Amazon GameLift Servers layanan. Di sini, Anda akan menggunakan AWS CLI untuk membuat permintaan ini.

catatan

Perlu diingat bahwa membuat sesi permainan menggunakan AWS CLI berguna untuk pengujian dan menjadi akrab dengan prosesnya. Pada titik tertentu, Anda akan menambahkan panggilan AWS SDK terprogram ke layanan backend game Anda sebagai bagian dari perjodohan game atau sistem penempatan sesi game Anda.

Gunakan yang berikut ini untuk membuat sesi permainan:

aws gamelift create-game-session \ --fleet-id <FLEET_ID> \ --game-properties '[{"Key": "exampleProperty", "Value": "exampleValue"}]' \ --maximum-player-session-count 3 \ --region us-west-2

Anda juga dapat meneruskan properti game yang disesuaikan ke server yang dapat dieksekusi. Lihat Argumen Server Game di README untuk detailnya. Ketika menerima panggilan create-game-session, beri Amazon GameLift Servers tahu pembungkus untuk meluncurkan server game yang dapat dieksekusi dan memulai sesi game. Apa yang ada config.yaml mempengaruhi konfigurasi server game, dan parameter peluncuran yang diatur di konsol menentukan konfigurasi sesi game itu sendiri.

Contoh format untuk menambahkan properti game:

defaultArgs: - arg: "--port" val: "{{.GamePort}}" pos: 0 - arg: "--ipAddress" val: "{{.IpAddress}}" pos: 1 - arg: "--gameSessionId" val: "{{.GameSessionId}}" pos: 2

Langkah 7: Kelola dan pantau armada Anda

Sekarang armada server game Anda diatur dan sesi game dimulai, Anda dapat mengelola dan memantaunya dari Amazon GameLift Servers konsol. Cara terbaik untuk mencapai hal ini adalah dari halaman detail Armada tempat Anda dapat mengedit detail armada atau mengubah penskalaan dan kapasitas armada pada tab Pen skalaan. Lihat bagian berikut tentang penskalaan server game Anda.

Pilih tab Metrik untuk melihat grafik yang menggambarkan pemantauan untuk metrik Aktivitas dan Perangkat Keras. Untuk detail tentang grafik metrik, pilih tautan Info di sebelah ID armada Anda. Selain itu, meskipun Anda dapat memantau server game Anda dengan cermat dari tab Metrik, Anda juga dapat menambahkan alarm ke metrik ini di CloudWatch dasbor.

Untuk menavigasi ke CloudWatch dasbor dari konsol:

  1. Ketik CloudWatch "" di bilah pencarian dan pilih dari daftar hasil pencarian untuk menampilkan Ikh CloudWatch tisar.

  2. Gulir ke bawah dan pilih Lihat GameLift dasbor untuk melihat grafik berdasarkan metrik utama untuk armada dan sesi permainan Anda.

Langkah 8: Skalakan server game Anda

Untuk langkah selanjutnya, Anda mengatur penskalaan otomatis. Dengan penskalaan otomatis, Anda secara dinamis menskalakan kapasitas armada Anda sebagai respons terhadap aktivitas server game. Saat pemain tiba dan memulai sesi permainan, penskalaan otomatis menambahkan lebih banyak instance, dan saat permintaan pemain berkurang, penskalaan otomatis melepaskan instance yang tidak digunakan. Ini adalah cara yang efektif untuk meminimalkan sumber daya dan biaya hosting Anda sambil tetap memberikan pengalaman pemain yang lancar dan cepat.

Saat Anda bersiap untuk peluncuran game, Anda pasti ingin mengatur penskalaan otomatis untuk armada Anda. Penskalaan otomatis direkomendasikan sebagai cara yang efektif untuk meminimalkan sumber daya dan biaya hosting Anda sambil tetap memberikan pengalaman pemain yang lancar dan cepat.

Untuk mengatur kapasitas armada secara manual

Untuk mengatur kapasitas armada secara manual

  1. Buka tab S caling di halaman detail untuk armada Anda.

  2. Pilih lokasi dan pilih Edit.

  3. Ubah nilai instance yang diinginkan dan ubah pengaturan ukuran Min dan Max untuk menskalakan melampaui nilai saat ini, lalu pilih Kon firmasi.

catatan

Gunakan setelan instans maks sebagai stop gap untuk mencegah penskalaan dan biaya yang berlebihan.

Untuk menggunakan penskalaan otomatis berbasis target

Untuk menggunakan penskalaan otomatis berbasis target

Target-based autoscaling (pelacakan target) menghubungkan penskalaan armada ke persentase sesi game yang tersedia. Saat pemain meningkat untuk memainkan game Anda dan sesi game yang tersedia berkurang, ia merespons dengan secara otomatis menambahkan lebih banyak instance ke armada.

  1. Di bawah kebijakan penskalaan Target-based otomatis, pilih Tam bah kebijakan dan atur kapasitas armada untuk berubah secara otomatis saat mencapai ambang persentase sesi game yang tersedia yang Anda tetapkan. Buffer yang lebih besar dapat menangani lonjakan dengan lebih baik, membuat pemain baru masuk ke game dengan cepat, tetapi juga dapat menyebabkan biaya hosting yang lebih tinggi.

  2. Pilih Konfirmasi untuk menerima perubahan.

Rule-based penskalaan otomatis memberi Anda kontrol yang lebih terperinci, seperti kemampuan untuk menautkan penskalaan ke metrik armada lainnya dan menetapkan ambang batas khusus dan respons penskalaan. Ini menawarkan opsi yang kuat, tetapi juga membutuhkan penggunaan CLI dan pengujian signifikan untuk memahami bagaimana aturan khusus berperilaku dalam tindakan. Tutorial ini berfokus pada pengaturan pertama pendekatan berbasis target.

Memecahkan masalah umum

Berikut ini adalah masalah umum yang mungkin Anda temui saat menjalankan server game dan sesi game Anda. Ketika server atau sesi game tidak berjalan dengan benar, langkah pertama adalah memeriksa log yang dapat mengungkapkan salah satu masalah yang dijelaskan di bawah ini untuk penerapan baru atau game dalam produksi.

Berikut ini sering terungkap dalam log:

  • Proses server game tidak dapat diluncurkan. Ini mungkin kesalahan dalam konfigurasi pembungkus—verifikasi file memiliki jalur peluncuran yang benar dan parameter dan argumen peluncuran yang benar.

  • Pembuatan server game tidak dapat dijalankan. Ini kemungkinan kesalahan dalam kode permainan.

  • Pemain tidak dapat terhubung ke sesi permainan. Ini kemungkinan kesalahan konfigurasi port.

  • Koneksi lag atau lambat. Tinjau kebijakan penskalaan dan ambang batas.

  • Tidak ada koneksi. Verifikasi aturan port dan konfigurasi untuk armada Anda.

Untuk melihat log peristiwa untuk GameLift Server Amazon armada

Untuk melihat log peristiwa untuk Amazon GameLift Servers armada Anda

  1. Buka konsol Amazon GameLift Servers.

  2. Pada halaman Rincian Armada pilih tab Acara dan unduh log. Anda juga dapat memantau aktivitas dan metrik perangkat keras untuk kesehatan server game dan aktivasi sesi game dari tab Metrik.

Untuk melihat log sesi game

Untuk melihat log sesi game

  1. Dari konsol, buka armada Anda dan buka tab Sesi permainan.

  2. Pilih ID sesi game dari daftar untuk menampilkan halaman Ikhtisar untuk itu.

  3. Pilih Unduh log untuk mengunduh file log secara lokal.

Untuk melihat log sesi game dengan CLI gunakan GetGameSessionLogURL API. Amazon GameLift Serverssecara otomatis menyimpan log selama 14 hari.

Anda juga dapat mengonfigurasi CloudWatch log Amazon untuk armada Anda. Ini memberikan kemampuan logging tambahan dan integrasi dengan layanan AWS pemantauan lainnya.

Untuk akses log real-time atau periode retensi yang diperpanjang melalui CloudWatch:

  1. Di bagian atas dasbor Amazon GameLift Servers konsol Anda ke CloudWatch tik "" di bilah pencarian dan pilih dari drop-down hasil.

  2. Buka Grup CloudWatch Log dan cari sesi tertentu. Metode termudah adalah dengan mengklik Cari Semua dan memfilter menggunakan game SessionId atau clientID.

Langkah selanjutnya