Server sesi game mandiri dengan backend tanpa server - Amazon GameLift Servers

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

Server sesi game mandiri dengan backend tanpa server

Menggunakan arsitektur layanan klien tanpa server, backend dapat melihat status tiket perjodohan dari database yang sangat skalabel, bukan dengan mengakses API secara langsung. Amazon GameLift Servers

Diagram berikut menunjukkan backend tanpa server yang dibangun dengan yang cocok dengan pemain ke dalam game Layanan AWS yang berjalan di armada. Amazon GameLift Servers Daftar berikut memberikan deskripsi untuk setiap callout bernomor dalam diagram. Untuk mencoba contoh ini, lihat Hosting Game Berbasis Sesi Multiplayer di. AWS GitHub

Contoh arsitektur tanpa server yang mencocokkan pemain ke dalam game yang berjalan di armadaAmazon GameLift Servers.
  1. Klien game meminta identitas pengguna Amazon Cognito dari kumpulan identitas Amazon Cognito.

  2. Klien game menerima kredensil akses sementara dan meminta sesi game melalui API Amazon API Gateway.

  3. API Gateway memanggil AWS Lambda fungsi.

  4. Fungsi Lambda meminta data pemutar dari tabel NoSQL Amazon DynamoDB. Fungsi ini menyediakan identitas Amazon Cognito dalam data konteks permintaan.

  5. Fungsi Lambda meminta kecocokan melalui Amazon GameLift Servers FlexMatch perjodohan.

  6. FlexMatchmencocokkan sekelompok pemain dengan latensi yang sesuai, dan kemudian meminta penempatan sesi permainan melalui Amazon GameLift Servers antrian. Antrian memiliki armada dengan satu atau lebih Wilayah AWS lokasi di dalamnya.

  7. Setelah Amazon GameLift Servers menempatkan sesi di salah satu lokasi armada, Amazon GameLift Servers kirimkan pemberitahuan acara ke topik Amazon Simple Notification Service (Amazon SNS).

  8. Fungsi Lambda menerima acara Amazon SNS dan memprosesnya.

  9. Jika tiket perjodohan adalah sebuah MatchmakingSucceeded acara, maka fungsi Lambda menulis hasilnya, bersama dengan port dan alamat IP server game, ke tabel DynamoDB.

  10. Klien game membuat permintaan yang ditandatangani ke API Gateway untuk melihat status tiket perjodohan pada interval tertentu.

  11. API Gateway menggunakan fungsi Lambda yang memeriksa status tiket perjodohan.

  12. Fungsi Lambda memeriksa tabel DynamoDB untuk melihat apakah tiket berhasil. Jika berhasil, fungsi mengirimkan port dan alamat IP server game, bersama dengan ID sesi pemain, kembali ke klien. Jika tiket belum berhasil, fungsi mengirimkan respons yang memverifikasi bahwa kecocokan belum siap.

  13. Klien game terhubung ke server game menggunakan TCP atau UDP dengan menggunakan port dan alamat IP yang disediakan layanan backend. Klien game kemudian mengirimkan ID sesi pemain ke server game, yang kemudian memvalidasi ID menggunakan SDK server untuk. Amazon GameLift Servers