Hasilkan permintaan pengisian ulang manual dari server game - Amazon GameLift Servers

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

Hasilkan permintaan pengisian ulang manual dari server game

Anda dapat secara manual memulai permintaan pengisian ulang pertandingan dari proses server game yang menjadi tuan rumah sesi game. Proses server memiliki up-to-date informasi paling banyak tentang pemain yang terhubung ke permainan dan status slot pemain kosong.

Topik ini mengasumsikan bahwa Anda telah membangun FlexMatch komponen yang diperlukan dan berhasil menambahkan proses perjodohan ke server game Anda dan layanan game sisi klien. Untuk detail lebih lanjut tentang pengaturanFlexMatch, lihatPeta jalan: Tambahkan perjodohan ke solusi hosting Amazon GameLift Servers.

Untuk mengaktifkan backfill kecocokan untuk game Anda, tambahkan fungsionalitas berikut:

Seperti fungsi server lainnya, server game menggunakan Amazon GameLift Servers Server SDK. SDK ini tersedia dalam C++ dan C#.

Untuk membuat permintaan backfill kecocokan dari server game Anda, selesaikan tugas-tugas berikut.

  1. Memicu permintaan pengisian ulang kecocokan. Umumnya, Anda ingin memulai permintaan backfill setiap kali game yang cocok memiliki satu slot pemain kosong atau lebih. Anda mungkin ingin mengaitkan permintaan backfill dengan keadaan tertentu, seperti untuk mengisi peran karakter penting atau menyeimbangkan tim. Anda mungkin juga ingin membatasi aktivitas backfill berdasarkan usia sesi game.

  2. Buat permintaan isi ulang. Tambahkan kode untuk membuat dan mengirim permintaan pengisian ulang kecocokan ke FlexMatch mak comblang. Permintaan isi ulang ditangani menggunakan server ini: APIs

    Untuk membuat permintaan backfill, hubungi StartMatchBackfill dengan informasi berikut. Untuk membatalkan permintaan backfill, hubungi StopMatchBackfill dengan ID tiket permintaan backfill.

    • ID Tiket — Berikan ID tiket pencocokan (atau memilih untuk membuatnya otomatis). Anda dapat menggunakan mekanisme yang sama untuk menetapkan tiket IDs ke permintaan perjodohan dan pengisian ulang. Tiket untuk pencocokan dan backfill diproses dengan cara yang sama.

    • Pembuat kecocokan — Identifikasi pembuat kecocokan mana yang akan digunakan untuk permintaan backfill. Umumnya, Anda harus menggunakan pembuat kecocokan yang sama dengan yang digunakan untuk membuat kecocokan asli. Permintaan ini mengambil ARN konfigurasi pencocokan. Informasi ini disimpan dalam objek sesi permainan (GameSession), yang disediakan untuk proses server oleh Amazon GameLift Servers saat mengaktifkan sesi permainan. ARN konfigurasi pencocokan termasuk dalam properti MatchmakerData.

    • ARN sesi game — Identifikasi sesi game yang di-backfill. Anda bisa mendapatkan ARN sesi permainan dengan memanggil server API GetGameSessionId(). Selama proses matchmaking, tiket untuk permintaan baru tidak memiliki ID sesi game, sedangkan tiket untuk permintaan isi ulang memiliki ID sesi game. Kehadiran di ID sesi game merupakan salah satu cara untuk membedakan antara tiket kecocokan baru dan tiket backfill.

    • Data pemain — Sertakan informasi pemain (Pemain) untuk semua pemain saat ini dalam sesi game yang sedang Anda backfill. Informasi ini memungkinkan pembuat kecocokan untuk menemukan kecocokan pemain terbaik untuk para pemain saat ini dalam sesi game. Anda harus menyertakan keanggotaan tim untuk setiap pemain. Jangan tentukan tim jika Anda tidak menggunakan backfill. Jika server game Anda telah melaporkan status koneksi pemain secara akurat, Anda seharusnya dapat memperoleh data ini sebagai berikut:

      1. Proses server hosting sesi permainan harus memiliki up-to-date informasi paling banyak yang pemain saat ini terhubung ke sesi permainan.

      2. Untuk mendapatkan pemain IDs, atribut, dan tugas tim, tarik data pemain dari objek sesi permainan (GameSession), MatchmakerData properti (lihatTentang data mak comblang). Data pembuat kecocokan mencakup semua pemain yang dicocokkan dengan sesi game, jadi Anda harus menarik data pemain hanya untuk pemain yang saat ini terhubung.

      3. Untuk latensi pemain, jika pembuat kecocokan meminta data latensi, kumpulkan nilai latensi baru dari semua pemain saat ini dan sertakan di setiap objek Player. Jika data latensi dihilangkan dan pembuat kecocokan memiliki aturan latensi, permintaan tidak akan berhasil dicocokkan. Permintaan backfill memerlukan data latensi hanya untuk wilayah tempat sesi game saat ini berada. Anda bisa mendapatkan wilayah sesi game dari properti GameSessionId dari objek GameSession; nilai ini adalah ARN, yang mencakup wilayah.

  3. Lacak status permintaan isi ulang. Amazon GameLift Serversmemperbarui server game Anda tentang status permintaan pengisian ulang menggunakan fungsi callback Server SDK onUpdateGameSession (lihat Menginisialisasi proses server). Menambahkan kode untuk menangani pesan status—serta objek sesi game yang diperbarui sebagai hasil dari permintaan backfill yang berhasil—di Memperbarui data kecocokan pada server game.

    Pembuat kecocokan hanya dapat memproses satu permintaan backfill kecocokan dari sesi game dalam satu waktu. Jika Anda perlu membatalkan permintaan, hubungi StopMatchBackfill(). Jika Anda perlu mengubah permintaan, panggil StopMatchBackfill kemudian kirimkan permintaan yang diperbarui.