View a markdown version of this page

Bagaimana hosting dengan GameLift Server Amazon cara kerja - GameLift Server Amazon

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

Bagaimana hosting dengan GameLift Server Amazon cara kerja

Amazon GameLift Serversadalah layanan yang menyediakan server khusus berbiaya rendah, penyediaan infrastruktur, penskalaan, dan manajemen sesi untuk game multipemain berbasis sesi Anda. Layanan ini menawarkan alat dan fitur fleksibel yang dapat Anda sesuaikan untuk game Anda atau gunakan bekerja sama dengan sistem Anda sendiri. Manfaatkan hosting Amazon GameLift Servers terkelola sehingga Anda dapat fokus menciptakan pengalaman gameplay daripada mengelola operasi server.

Topik ini menjelaskan komponen inti dari solusi Amazon GameLift Servers hosting lengkap dan bagaimana mereka bekerja bersama untuk menyediakan sesi permainan multipemain kepada pemain.

Komponen inti dari solusi hosting game

Solusi Amazon GameLift Servers hosting lengkap terdiri dari beberapa komponen penting yang bekerja sama untuk memberikan pengalaman permainan multipemain. Beberapa komponen ini dibuat dan dikelola oleh Anda, sementara yang lain disediakan oleh Amazon GameLift Servers dan dikelola berdasarkan pilihan konfigurasi Anda. Memahami bagaimana komponen-komponen ini berinteraksi dan peran masing-masing sangat penting untuk mengembangkan solusi hosting game yang efektif. Komponen meliputi:

  • Klien game berjalan di perangkat pemain.

  • Layanan backend memungkinkan klien game berkomunikasi dengan Amazon GameLift Servers untuk mendapatkan informasi sesi game dan bergabung dengan game.

  • Perangkat lunak server game berjalan pada sumber daya hosting game dan menyelenggarakan sesi game untuk sekelompok pemain.

  • Sistem penempatan memulai sesi permainan dan mencocokkan pemain dengan game.

  • Armada hosting game menyediakan server game di satu atau lebih lokasi geografis.

  • Sistem manajemen hosting game memantau status hosting game dan mengelola kapasitas.

Arsitektur game dengan dikelolaAmazon GameLift Servers.

Klien permainan

Klien game adalah perangkat lunak game Anda yang berjalan di perangkat pemain. Ini memulai penempatan pemain ke dalam sesi permainan dengan berkomunikasi dengan layanan backend dan terhubung langsung ke server game untuk berpartisipasi dalam gameplay.

Fungsi utama untuk hosting game
  • Kirim permintaan bergabung ke layanan backend. Sertakan data pemain yang relevan dan data sesi permainan sebagai bagian dari permintaan bergabung.

  • Kumpulkan data latensi untuk klien game dan sertakan informasi itu dalam permintaan bergabung.

  • Terima informasi koneksi sesi game dari layanan backend dan gunakan untuk terhubung ke server game.

  • Tangani skenario koneksi sesi seperti verifikasi pemain, penerimaan pertandingan Amazon GameLift ServersFlexMatch, interupsi sesi, atau pemutusan hubungan.

Siapa yang membangunnya

Anda menambahkan fungsionalitas hosting game ke perangkat lunak klien game Anda dan mengatur komunikasi dengan layanan backend.

Layanan backend

Layanan backend adalah lapisan koordinasi antara klien game dan Amazon GameLift Servers layanan. Ini mengontrol semua komunikasi dengan layanan untuk membuat permintaan untuk penempatan sesi permainan dan untuk mengambil sesi permainan dan informasi sesi pemain. Penggunaan layanan backend adalah praktik terbaik yang menjaga komunikasi aman dengan layanan atas nama klien game dan menghindari keharusan berbagi AWS kredenSIAL dan izin sensitif dengan klien game.

Layanan backend Anda menerapkan strategi pengelompokan pemain untuk sesi permainan Anda. Anda memiliki banyak fleksibilitas dalam bagaimana pemain berakhir dalam sesi permainan. Anda dapat mengatur browser sesi permainan untuk pemain atau mendukung pihak yang ditentukan pemain. Atau Anda mungkin mengumpulkan permintaan sesi permainan saat mereka masuk, membentuk grup pemain (mungkin dengan pra-penyortiran), dan memulai sesi permainan untuk setiap grup. Dengan per FlexMatch jodohan, Anda dapat membentuk pertandingan pemain dan mengisi ulang pertandingan yang ada.

Fungsi utama untuk hosting game
  • Otentikasi komunikasi dari klien game.

  • Buat permintaan Amazon GameLift Servers untuk memulai sesi game baru, mendapatkan informasi sesi game, atau bergabung dengan sesi game yang ada. Sertakan sesi permainan yang relevan dan data pemain dalam permintaan sesuai kebutuhan.

  • Secara opsional buat permintaan untuk sesi pemain untuk memantau ketersediaan sesi game dengan lebih dekat. Gunakan sesi pemain untuk memesan slot sesi permainan, memvalidasi pemain saat mereka terhubung, dan melacak pemutusan pemain.

  • Tanggapi klien game dengan detail koneksi sesi game dan informasi lain seperti yang diminta.

Siapa yang membangunnya

Anda membangun layanan backend di lingkungan yang dikelola oleh Anda untuk mendukung persyaratan permainan Anda dan menerapkan cara pemain masuk ke game. Integrasikan AWS SDK untuk melakukan panggilan ke API Amazon GameLift Servers layanan. Secara opsional, buat layanan backend Anda AWS menggunakan layanan seperti AWS Lambda, Amazon Simple Storage Service (Amazon S3), dan Amazon Cognito.

Server permainan

Server game adalah perangkat lunak server khusus Anda yang mengelola status game, memproses tindakan pemain, dan menyinkronkan gameplay di beberapa pemain yang terhubung. Server game mempertahankan komunikasi dengan Amazon GameLift Servers layanan untuk mengelola hosting sesi game.

Fungsi utama untuk hosting game
  • Berkomunikasi Amazon GameLift Servers dengan:

    • status laporan (siap untuk menyelenggarakan sesi, siap menerima pemain, status kesehatan).

    • menanggapi panggilan layanan (memulai atau mengakhiri sesi permainan).

  • Kelola siklus hidup sesi game untuk menyelenggarakan satu sesi game pada satu waktu per proses.

  • Berkoordinasi dengan AWS layanan lain untuk fungsionalitas tambahan.

  • Secara opsional memvalidasi koneksi pemain baru.

Siapa yang membangunnya

Anda membangun perangkat lunak server game Anda. Anda mengintegrasikan SDK server untuk Amazon GameLift Servers dan menambahkan fungsionalitas untuk membuat koneksi dengan layanan dan mendukung manajemen sesi game.

Armada hosting game

Armada hosting adalah kumpulan sumber daya komputasi yang menjalankan server game Anda. Sumber daya armada dapat didistribusikan di beberapa lokasi geografis untuk memberikan gameplay latensi rendah kepada pemain di mana pun mereka berada. Setiap sumber daya armada menjalankan satu atau lebih proses server game, yang berkomunikasi langsung dengannyaAmazon GameLift Servers. Setiap proses server game dapat menjadi tuan rumah satu sesi game pada satu waktu.

Karakteristik dan fungsionalitas armada bervariasi berdasarkan jenis hosting armada. Armada terkelola menyebarkan sumber daya ke AWS Cloud dan dikelola olehAmazon GameLift Servers. Armada di mana saja adalah sumber daya komputasi yang disediakan pelanggan yang dikelola di luar. Amazon GameLift Servers

Fungsi utama untuk hosting game
  • Menyediakan sumber daya hosting server game.

    • Armada terkelola menerapkan instans Amazon EC2 berbasis cloud dengan berbagai pengaturan konfigurasi. Konfigurasi armada menentukan daya komputasi setiap instance dalam armada, lokasi fisik instance, dan detail lainnya. Armada terkelola menambah atau menghapus instans EC2 sebagai respons terhadap penskalaan kapasitas

    • Penyebaran armada di mana saja dikelola sendiri. Armada dapat terdiri dari perangkat keras fisik atau sumber daya cloud lainnya, dan dikonfigurasi sesuai kebutuhan.

  • Instal lingkungan runtime dan perangkat lunak server game.

    • Instans armada Amazon EC2 yang dikelola digunakan dengan build server game Anda dan Amazon Machine Image (AMI) dengan lingkungan runtime yang kompatibel.

    • Instans armada kontainer terkelola digunakan dengan build server game Anda dan AMI yang dioptimalkan kontainer dengan alat Docker dan komponen lainnya untuk bekerja dengan Amazon ECS.

    • Di mana saja armada dikerahkan dengan perangkat lunak server game pilihan Anda dan sistem operasi.

  • Kelola siklus hidup proses server game. Terapkan instruksi runtime yang telah dikonfigurasi sebelumnya untuk memulai dan menghentikan proses pada setiap sumber daya armada.

Siapa yang membangunnya

Ini tergantung pada jenis hosting armada:

  • Armada Amazon EC2 yang dikelola: Anda mengunggah build server game Anda keAmazon GameLift Servers, yang menyimpannya untuk penerapan ke instans armada. Amazon GameLift Serversmenyediakan AWS Cloud infrastruktur armada. Anda mengkonfigurasi armada dan menginstruksikannya tentang cara menjalankan server game pada setiap instance armada.

  • Armada kontainer terkelola: Anda mengemas instruksi build dan runtime server game Anda ke dalam gambar kontainer untuk disimpan di Amazon ECR untuk digunakan. Amazon GameLift Serversmenyediakan AWS Cloud infrastruktur armada. Anda menyediakan arsitektur kontainer dan mengonfigurasi armada untuk meng-host kontainer Anda.

  • Armada di mana saja: Anda menyediakan semua infrastruktur dan mengelola penyebaran perangkat lunak server. Anda membuat armada Anywhere untuk menghubungkan sumber daya hosting game aktif Anda. Amazon GameLift Servers

Sistem penempatan sesi permainan

Sistem penempatan sesi game menemukan server game yang tersedia untuk menjadi tuan rumah sesi game baru. Sistem ini menggunakan informasi real-time tentang ketersediaan server game untuk membuat keputusan penempatan yang optimal.

DiAmazon GameLift Servers, mekanisme penempatan sesi permainan utama adalah antrian. Antrian sesi permainan menggunakan algoritma, yang dapat Anda konfigurasikan, untuk menempatkan sesi permainan untuk hasil terbaik. Anda dapat memprioritaskan penempatan berdasarkan faktor-faktor seperti biaya hosting terendah dan latensi pemain terendah, dan Anda dapat mengonfigurasi antrian untuk mencari di beberapa lokasi geografis. Sebagai alternatif antrian, Anda dapat menetapkan armada tertentu untuk menjadi tuan rumah sesi permainan Anda.

Fungsi utama untuk hosting game
  • Memproses permintaan penempatan sesi game yang diterima dari layanan backend.

  • Buat penempatan berdasarkan informasi real-time tentang ketersediaan sumber daya hosting.

  • Gunakan data latensi pemain dan data lainnya untuk memprioritaskan opsi penempatan (hanya antrian)

  • Meminta proses server game untuk memulai sesi game baru.

  • Perbarui informasi koneksi sesi game setelah sesi permainan siap menerima pemain.

  • Secara opsional mengatur FlexMatch perjodohan untuk membuat pertandingan pemain dan meminta penempatan sesi permainan untuk pertandingan.

Siapa yang membangunnya

Amazon GameLift Serversmemasok sistem penempatan. Anda mengonfigurasi perilaku penempatan melalui cara layanan backend Anda membuat permintaan penempatan dan secara opsional dengan menyiapkan antrian sesi permainan dan FlexMatch pencocokan. Gunakan Amazon GameLift Servers konsol, AWS SDK, atau AWS CLI untuk membuat dan mengonfigurasi antrian dan pencocokan untuk game Anda.

Sistem manajemen hosting game

Sistem manajemen hosting game adalah tulang punggung operasional yang mengoordinasikan dan memantau semua aspek solusi hosting game Anda. Sistem ini menyediakan kecerdasan dan otomatisasi yang Amazon GameLift Servers memungkinkan kemampuan penempatan dan penskalaan.

Fungsi utama untuk hosting game
  • Lacak status real-time dan ketersediaan proses server game, sesi game, dan sesi pemain di semua armada untuk mendukung penempatan sesi game dan penskalaan kapasitas otomatis.

  • Pantau kesehatan dan kinerja armada.

  • Kumpulkan dan analisis metrik aktivitas hosting game.

  • Menyediakan alat penskalaan kapasitas, termasuk penskalaan otomatis berdasarkan permintaan pemain dan pemanfaatan armada.

  • Kelola pembaruan untuk perangkat lunak server game dan instruksi runtime.

Siapa yang membangunnya
  • Armada terkelola: Amazon GameLift Servers menyediakan pelacakan ketersediaan, metrik aktivitas hosting game dan kinerja perangkat keras, dan alat penskalaan kapasitas. Anda menggunakan AWS alat yang tersedia untuk mengelola pembaruan perangkat lunak server game, memodifikasi instruksi runtime, dan menyesuaikan penggunaan metrik Anda (seperti menyiapkan CloudWatch untuk pemantauan). Anda mengonfigurasi kebijakan penskalaan khusus dan memodifikasi sesuai kebutuhan.

  • Armada di mana saja: Amazon GameLift Servers menyediakan pelacakan ketersediaan dan metrik aktivitas hosting game. Anda mengelola perubahan konfigurasi armada, termasuk pembaruan perangkat lunak server game dan instruksi runtime. Anda membuat sistem untuk memantau kinerja armada dan mengelola penskalaan kapasitas armada.

Bagaimana komponen bekerja sama

Saat komputasi hosting game diterapkan
  • Perangkat lunak server game diinstal: Komputasi diinstal dengan lingkungan runtime dan build server game Anda

  • Peluncuran server game: Setidaknya satu contoh server game yang dapat dieksekusi diluncurkan, dengan parameter peluncuran opsional, pada komputasi.

  • Server game terhubung ke Amazon GameLift Servers: Sebagai bagian dari tindakan startup, proses server game memanggil SDK server untuk menginisialisasi koneksi ke layanan.

  • Laporan server game siap untuk menyelenggarakan sesi game: Proses server game menyelesaikan tindakan startup, kemudian memanggil SDK server untuk melaporkan kesiapan. Ini mulai melaporkan status kesehatan berdasarkan konfigurasinya.

  • Amazon GameLift Serversmelacak ketersediaan: Layanan mencatat ketersediaan proses server game untuk penempatan sesi game. Ini juga memperbarui metrik untuk armada, instance, dan sesi game untuk melacak penggunaan dan kapasitas.

  • Server game menunggu penugasan sesi game: Proses server game mempertahankan status idle sementara menunggu prompt untuk memulai sesi game.

Ketika seorang pemain ingin bergabung dengan permainan
  • Pemain memulai permainan: Seorang pemain meluncurkan klien game Anda, mengotentikasi dengan layanan backend Anda, dan meminta untuk bergabung dengan game.

  • Layanan backend meminta sesi permainan: Layanan backend Anda memanggil Amazon GameLift Servers untuk menemukan atau membuat sesi game yang sesuai, berdasarkan strategi pengelompokan pemainnya. Permintaan mungkin termasuk data pemain atau game untuk digunakan dalam sesi permainan.

  • Amazon GameLift Serversmenempatkan sesi permainan: Saat memulai sesi permainan baru, sistem penempatan mengidentifikasi lokasi optimal untuk menjadi tuan rumah sesi dan memilih proses server game yang tersedia. Layanan meminta proses yang dipilih untuk memulai sesi permainan baru dan meneruskan data pemain atau game apa pun. Jika FlexMatch perjodohan digunakan, matchmaker pertama-tama membuat kecocokan, kemudian meminta penempatan untuk pertandingan tersebut.

  • Server permainan memulai sesi permainan: Server game memulai langkah-langkah untuk memulai sesi permainan. Setelah selesai, ia melaporkan Amazon GameLift Servers bahwa ia siap menerima koneksi pemain.

  • Informasi koneksi dikirimkan ke klien game: Setelah server game memperbarui statusnya, Amazon GameLift Servers memberikan informasi koneksi sesi game. Layanan backend menerima informasi ini dan mengirimkannya ke klien game.

  • Pemain terhubung ke sesi game: Klien game menggunakan informasi koneksi untuk terhubung langsung ke server game dan memulai gameplay.

  • Amazon GameLift Serversmemantau status sesi game: Proses server game melaporkan status kesehatan, status koneksi pemain opsional, dan status sesi game untuk melacak ketersediaan sesi game yang sedang berlangsung.

  • Proses server game dimatikan: Proses server game mengakhiri sesi permainan, melaporkan status, dan kemudian mematikan sendiri.