Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Plugin untuk Unity: Siapkan pengujian lokal dengan GameLift Server Amazon Dimana saja
Dalam alur kerja ini, Anda menambahkan kode permainan klien dan server untuk Amazon GameLift Servers fungsionalitas dan menggunakan plugin untuk menunjuk workstation lokal Anda sebagai host server game uji. Ketika Anda telah menyelesaikan tugas integrasi, gunakan plugin untuk membangun komponen klien dan server game Anda.
Untuk memulai GameLift Server Amazon Alur kerja di mana saja:
Di menu utama editor Unity, pilih Amazon GameLift Servers dan pilih Host with Anywhere. Tindakan ini membuka halaman plugin untuk menyiapkan game Anda dengan armada @Anywhere. Halaman ini menyajikan proses lima langkah untuk mengintegrasikan, membangun, dan meluncurkan komponen game Anda.
Tetapkan profil Anda
Pilih profil yang ingin Anda gunakan saat mengikuti alur kerja ini. Profil yang Anda pilih memengaruhi semua langkah dalam alur kerja. Semua sumber daya yang Anda buat dikaitkan dengan AWS akun profil dan ditempatkan di Wil AWS ayah default profil. Izin pengguna profil menentukan akses Anda ke AWS sumber daya dan tindakan.
-
Pilih profil dari daftar dropdown profil yang tersedia. Jika Anda belum memiliki profil atau ingin membuat yang baru, buka Amazon GameLift Servers menu dan pilih Set Ac AWS count Profiles.
-
Jika status bootstrap bukan “Aktif”, pilih profil Bootstrap dan tunggu status berubah menjadi “Aktif”.
Integrasikan kode game Anda dengan SDK server C #
catatan
Jika Anda mengimpor game sampel, Anda dapat melewati langkah ini. Aset game sampel sudah memiliki server dan kode klien yang diperlukan.
Untuk langkah ini dalam alur kerja, Anda membuat pembaruan ke kode klien dan server dalam proyek game Anda.
Server game harus dapat berkomunikasi dengan Amazon GameLift Servers layanan untuk menerima petunjuk untuk memulai sesi game, memberikan informasi koneksi sesi game, dan melaporkan status.
Klien game harus bisa mendapatkan informasi tentang sesi game, bergabung atau memulai sesi game, dan mendapatkan informasi koneksi untuk bergabung dengan game.
Integrasikan kode server Anda
Jika Anda menggunakan proyek game Anda sendiri dengan adegan khusus, gunakan kode sampel yang disediakan untuk menambahkan kode server yang diperlukan ke proyek game Anda:
-
Di file proyek game Anda, buka
Assets/Scripts/Serverfolder. Jika tidak ada, buatlah. -
Pergi ke GitHub repo aws/amazon -gamelift-plugin-
unity dan buka jalurnya. Samples~/SampleGame/Assets/Scripts/Server Temukan file
GameLiftServer.csdan salin keServerfolder proyek game Anda. Saat Anda membangun server yang dapat dieksekusi, gunakan file ini sebagai target build.
Kode sampel mencakup elemen minimum yang diperlukan ini, yang menggunakan SDK server Amazon GameLift Servers C# (versi 5):
Menginisialisasi klien Amazon GameLift Servers API. Pang
InitSDK()gilan dengan parameter server diperlukan untuk armada Amazon GameLift Servers Anywhere. Pengaturan ini secara otomatis diatur untuk digunakan dalam plugin.Mengimplementasikan fungsi callback yang diperlukan untuk menanggapi permintaan dari Amazon GameLift Servers layanan, termasuk
OnStartGameSession,OnProcessTerminate, danonHealthCheck.Panggilan
ProcessReady()dengan port yang ditunjuk untuk memberi tahu Amazon GameLift Servers layanan ketika proses server siap untuk menyelenggarakan sesi permainan.
Jika Anda ingin menyesuaikan kode server sampel, lihat sumber daya berikut:
Integrasikan kode klien Anda
Jika Anda menggunakan proyek game Anda sendiri dengan adegan khusus, maka Anda perlu mengintegrasikan fungsionalitas dasar ke dalam klien game Anda. Anda juga perlu menambahkan elemen UI sehingga pemain dapat masuk dan bergabung dengan sesi permainan. Gunakan API layanan untuk Amazon GameLift Servers (dalam AWS SDK) untuk mendapatkan informasi sesi game, membuat sesi game baru, atau bergabung dengan sesi game yang ada,
Saat membangun klien untuk pengujian lokal dengan armada Anywhere, Anda dapat menambahkan panggilan langsung ke Amazon GameLift Servers layanan. Saat Anda mengembangkan game untuk cloud hosting—atau jika Anda berencana menggunakan armada Anywhere untuk hosting produksi—Anda harus membuat layanan backend sisi klien untuk menangani semua komunikasi antara klien game dan layanan. Amazon GameLift Servers
Untuk meng Amazon GameLift Servers integrasikan ke dalam kode klien Anda, gunakan sumber daya berikut sebagai panduan.
-
Integrasikan klien dengan GameLiftCoreApi kelas di GitHub repo aws/amazon -gamelift-plugin-unity. Kelas ini menyediakan kontrol untuk otentikasi pemain dan untuk mengambil informasi sesi game.
-
Lihat contoh integrasi game, tersedia di GitHub repo aws/amazon -gamelift-plugin-unity,.
Samples~/SampleGame/Assets/Scripts/Client/GameLiftClient.cs -
Ikuti instruksi di Tambahkan Amazon GameLift Servers ke klien game Unity Anda.
Untuk klien game yang terhubung ke armada Anywhere, klien game Anda memerlukan informasi berikut. Plugin secara otomatis memperbarui proyek game Anda untuk menggunakan sumber daya yang Anda buat di plugin.
FleetId - Pengidentifikasi unik untuk armada Anywhere Anda.
FleetLocation - Lokasi khusus armada Anywhere Anda.
AwsRegion - Wil AWS ayah tempat armada Anywhere Anda dihosting. Ini adalah wilayah yang Anda tetapkan di profil pengguna Anda.
ProfileName - Profil AWS kredenSIAL pada mesin lokal Anda yang memungkinkan akses ke AWS SDK untukAmazon GameLift Servers. Klien game menggunakan kredenSIAL ini untuk mengotentikasi permintaan ke Amazon GameLift Servers layanan.
catatan
Profil kredenSIAL dihasilkan oleh plugin dan disimpan di mesin lokal. Akibatnya, Anda harus menjalankan klien di mesin lokal (atau pada mesin dengan profil yang sama).
Terhubung ke armada Anywhere
Pada langkah ini, Anda menetapkan armada Anywhere untuk digunakan. Armada Anywhere mendefinisikan kumpulan sumber daya komputasi, yang dapat ditemukan di mana saja, untuk hosting server game.
Jika AWS akun yang Anda gunakan saat ini memiliki armada Anywhere yang ada, buka bidang dropdown Nama Ar mada dan pilih armada. Dropdown ini hanya menampilkan armada Anywhere di Wil AWS ayah untuk profil pengguna yang aktif saat ini.
Jika tidak ada armada yang ada—atau Anda ingin membuat armada baru, pilih Buat armada Anywhere baru dan berikan nama armada.
Setelah Anda memilih armada Anywhere untuk proyek Anda, Amazon GameLift Servers memverifikasi bahwa status armada aktif dan menampilkan ID armada. Anda dapat melacak kemajuan permintaan ini di log keluaran editor Unity.
Daftarkan komputasi
Pada langkah ini, Anda mendaftarkan workstation lokal Anda sebagai sumber daya komputasi di armada Anywhere baru.
Masukkan nama komputasi untuk mesin lokal Anda. Jika Anda menambahkan lebih dari satu komputasi dalam armada, nama harus unik.
Pilih Daftar komputasi. Anda dapat melacak kemajuan permintaan ini di log keluaran editor Unity.
Plugin mendaftarkan workstation lokal Anda dengan alamat IP yang disetel ke localhost (127.0.0.1). Pengaturan ini mengasumsikan bahwa Anda akan menjalankan klien dan server game Anda di mesin yang sama.
Menanggapi tindakan ini, Amazon GameLift Servers memverifikasi bahwa ia dapat terhubung ke komputasi dan mengembalikan informasi tentang komputasi yang baru terdaftar.
Luncurkan game
Pada langkah ini Anda membangun komponen game Anda dan meluncurkannya untuk memainkan game. Lakukan hal-hal berikut:
-
Konfigurasikan klien game Anda. Pada langkah ini, Anda meminta plugin untuk memperbarui
GameLiftClientSettingsaset untuk proyek game Anda. Plugin menggunakan aset ini untuk menyimpan informasi tertentu yang dibutuhkan klien game Anda untuk terhubung ke Amazon GameLift Servers layanan.-
Jika Anda tidak mengimpor dan menginisialisasi game sampel, buat
GameLiftClientSettingsaset baru. Di menu utama editor Unity, pilih Assets, Create, Amazon GameLift, Client Settings. Jika Anda membuat beberapa salinanGameLiftClientSettingsdalam proyek Anda, plugin secara otomatis mendeteksi ini dan memberi tahu Anda aset mana yang akan diperbarui plugin. -
Di Luncurkan Game, pilih Konfigurasi Klien: Terapkan Pengaturan Di Mana Saja. Tindakan ini memperbarui pengaturan klien game Anda untuk menggunakan armada Anywhere yang baru saja Anda atur.
-
Membangun dan menjalankan klien game Anda.
Membangun klien yang dapat dieksekusi menggunakan proses build Unity standar. Di File, Build Sett ings, alihkan platform ke Windows, Mac, Linux. Jika Anda mengimpor game sampel dan menginisialisasi pengaturan, daftar build dan target build akan diperbarui secara otomatis.
Luncurkan satu atau lebih instance klien game yang baru dibangun yang dapat dieksekusi.
Luncurkan server game di armada Anywhere Anda. Pilih Server: Luncurkan Server di Editor. Tugas ini memulai server langsung yang dapat terhubung ke klien Anda selama editor Unity tetap terbuka.
Mulai atau bergabung dengan sesi permainan. Dalam instance klien game Anda, gunakan UI untuk bergabung dengan setiap klien ke sesi game. Bagaimana Anda melakukan ini tergantung pada bagaimana Anda menambahkan fungsionalitas ke klien.
Jika Anda menggunakan klien game sampel, ia memiliki karakteristik sebagai berikut:
Komponen login pemain. Saat menghubungkan ke server game di armada Anywhere, tidak ada validasi pemain. Anda dapat memasukkan nilai apa pun untuk bergabung dengan sesi permainan.
UI permainan bergabung sederhana. Ketika klien mencoba untuk bergabung dengan permainan, klien secara otomatis mencari sesi permainan aktif dengan slot pemain yang tersedia. Jika tidak ada sesi permainan yang tersedia, klien meminta sesi permainan baru. Jika sesi permainan tersedia, klien meminta untuk bergabung dengan sesi permainan yang tersedia. Saat menguji game Anda dengan beberapa klien bersamaan, klien pertama memulai sesi permainan, dan klien yang tersisa secara otomatis bergabung dengan sesi game yang ada.
Sesi permainan dengan empat slot pemain. Anda dapat meluncurkan hingga empat instans klien game secara bersamaan dan mereka akan bergabung dengan sesi game yang sama.
Luncurkan dari server yang dapat dieksekusi (opsional)
Anda dapat membangun dan meluncurkan server game Anda yang dapat dieksekusi untuk pengujian pada armada Anywhere.
Membangun server yang dapat dieksekusi menggunakan proses build Unity standar. Di File, Build Sett ings, alihkan platform ke D edicated Server dan buat.
-
Dapatkan token otentikasi jangka pendek dengan memanggil perintah AWS CLI get-compute-auth-token dengan ID armada dan Wilayah Anywhere Anda. AWS ID armada ditampilkan di Connect to an Anywhere Fleet saat Anda membuat armada. Wil AWS ayah ditampilkan di Set Your Profile saat Anda memilih profil aktif Anda.
aws gamelift get-compute-auth-token --fleet-id [your anywhere fleet ID] --region [your AWS region] -
Luncurkan server game yang baru dibangun yang dapat dieksekusi dari baris perintah dan berikan token autentikasi yang valid.
my_project.exe --authToken [token]