Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Plugin untuk Unreal: Terapkan game Anda ke armada EC2 yang dikelola
Dalam alur kerja ini, terapkan game Anda untuk hosting di sumber daya komputasi berbasis cloud yang dikelola olehAmazon GameLift Servers. Unggah build server game terintegrasi Anda ke Amazon GameLift Servers layanan untuk penerapan. Jika Anda belum mengintegrasikan kode game Anda, lihatPlugin untuk Unreal: Integrasikan kode game Anda. Ketika alur kerja ini selesai, Anda akan memiliki klien game yang berfungsi yang dapat terhubung ke server game Anda di cloud.
Untuk memulai GameLift Server Amazon alur kerja Amazon EC2 yang dikelola:
Di bilah alat utama editor Unreal, pilih Amazon GameLift Servers menu, dan pilih Host dengan Managed EC 2. Tindakan ini membuka halaman plugin De ploy Amazon EC2 Fleet, yang menyajikan proses enam langkah untuk mengintegrasikan, membangun, menyebarkan, dan meluncurkan komponen game Anda.
Langkah 1: 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.
Untuk mengatur profil pengguna
-
Pilih profil dari daftar dropdown profil yang tersedia. Jika Anda belum memiliki profil atau ingin membuat yang baru, buka GameLift menu Amazon dan pilih Set AWS User Profiles.
-
Jika status bootstrap bukan “Aktif”, pilih profil Bootstrap dan tunggu status berubah menjadi “Aktif”.
Langkah 2: Siapkan kode game Anda
Pada langkah ini, siapkan server game dan build klien game Anda untuk bekerja dengan SDK server Amazon GameLift Servers C++ untuk Unreal. Jika Anda belum mengintegrasikan kode game dan membuat file yang dapat dieksekusi klien game dan server, lihatPlugin untuk Unreal: Integrasikan kode game Anda. Masukkan jalur ke file yang dapat dieksekusi game Anda di workstation lokal Anda.
Langkah ini dalam alur kerja plugin menyediakan tautan ke instruksi dan kode sumber untuk menyiapkan versi Unreal Editor yang dibuat sumber. Anda perlu menggunakan versi yang dibangun sumber saat membangun komponen klien dan server Anda.
Setelah membangun server game yang terintegrasi dengan SDK server, selesaikan tugas berikut untuk mempersiapkannya untuk diunggah ke Amazon GameLift Servers hosting.
Di WindowsServer folder, tempat editor Unreal menyimpan file build server Anda secara default, buat penambahan berikut:
Salin skrip instalasi build server ke root
WindowsServerfolder. Skrip instalasi disertakan dalam unduhan plugin. Cari file-nya[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift Serversmenggunakan file ini untuk menginstal server yang dibangun ke komputasi hosting Anda.Salin
VC_redist.x64.exefile ke rootWindowsServerfolder. Anda dapat melewati langkah ini jika Anda menggunakan Unreal Engine versi 5.6 atau yang lebih baru. File ini disertakan dalam instalasi Visual Studio Anda. Hal ini biasanya terletak diC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.Tambahkan file pustaka OpenSSL ke build server game Anda. . Anda dapat melewati langkah ini jika server game Anda terintegrasi dengan server SDK 5.3 atau yang lebih baru. Versi ini termasuk dalam Amazon GameLift Servers plugin untuk Unreal, versi 3.0 atau yang lebih baru.
Cari dan salin pustaka OpenSSL secara manual ke direktori paket build game Anda di
<YourGame>/Binaries/Win64. Anda harus menggunakan versi OpenSSL yang sama dengan versi Unreal Engine 5 Anda. Build game yang digunakan dengan pustaka OpenSSL yang salah tidak akan dapat berkomunikasi dengan Amazon GameLift Servers layanan.Cari pustaka OpenSSL di sumber mesin game Anda. Lokasi bervariasi tergantung pada lingkungan pengembangan Anda:
Di Windows:
-
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll -
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll
Di Linux:
-
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1 -
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1
-
Untuk petunjuk lebih rinci tentang menyiapkan server game yang dibuat untuk Linux, lihat Membangun SDK server Amazon GameLift Servers untuk Unreal Engine 5 di Amazon Linux
-
Tentukan direktori kerja untuk mengatur file build Anda. Struktur direktori kerja diterapkan sebagaimana adanya ke setiap komputasi hosting. Tambahkan server Linux-built game Anda dan semua file dependen.
-
Buat skrip instalasi build server di root direktori kerja Anda. Jika perlu, buat
install.shfile dan tambahkan perintah apa pun yang diperlukan untuk menginstal build server game Anda dengan benar. Amazon GameLift Serversmenggunakan file ini untuk menginstal server yang dibangun ke setiap sumber daya hosting EC2. -
Tambahkan file pustaka OpenSSL ke build server game Anda. Anda dapat melewati langkah ini jika server game Anda terintegrasi dengan server SDK 5.3 atau yang lebih baru.
Cari dan salin perpustakaan secara manual. Anda harus menggunakan versi OpenSSL yang sama dengan versi Unreal Engine 5 Anda. Build game yang digunakan dengan pustaka OpenSSL yang salah tidak akan dapat berkomunikasi dengan Amazon GameLift Servers layanan.
-
Cari pustaka OpenSSL di sumber mesin game Anda. Lokasi bervariasi tergantung pada lingkungan pengembangan Anda:
Di Windows:
-
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll -
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll
Di Linux:
-
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1 -
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1
-
-
Saat Anda menemukan pustaka OpenSSL, salin ke direktori paket build game Anda di
<YourGame>/Binaries/Linux.
-
Langkah 3: Pilih skenario penerapan
Pada langkah ini, Anda memilih solusi hosting game yang ingin Anda terapkan saat ini. Anda dapat memiliki beberapa penerapan game Anda, menggunakan salah satu skenario.
Single-region armada: Menyebarkan server game Anda ke satu armada sumber daya hosting di AWS wilayah default profil aktif. Skenario ini adalah titik awal yang baik untuk menguji integrasi server Anda dengan AWS dan konfigurasi build server. Ini menyebarkan sumber daya berikut:
AWS fleet (On-Demand) dengan build server game Anda diinstal dan berjalan.
Kumpulan pengguna dan klien Amazon Cognito untuk memungkinkan pemain mengotentikasi dan memulai permainan.
Otorisasi gateway API yang menghubungkan kumpulan pengguna dengan API.
WebACL untuk membatasi panggilan pemain yang berlebihan ke gateway API.
API gateway + fungsi Lambda bagi pemain untuk meminta slot game. Fungsi ini memanggil
CreateGameSession()jika tidak ada yang tersedia.API gateway + fungsi Lambda bagi pemain untuk mendapatkan info koneksi untuk permintaan game mereka.
FlexMatch armada: Menyebarkan server game Anda ke satu set armada dan menyiapkan FlexMatch matchmaker dengan aturan untuk membuat pertandingan pemain. Skenario ini menggunakan hosting Spot berbiaya rendah dengan struktur multi-armada dan multi-lokasi untuk ketersediaan yang tahan lama. Pendekatan ini berguna ketika Anda siap untuk mulai merancang komponen matchmaker untuk solusi hosting Anda. Dalam skenario ini, Anda akan membuat sumber daya dasar untuk solusi ini, yang dapat Anda sesuaikan nanti sesuai kebutuhan. Ini menyebarkan sumber daya berikut:
FlexMatch konfigurasi perjodohan dan aturan perjodohan diatur untuk menerima permintaan pemain dan membentuk pertandingan.
-
Tiga AWS armada dengan build server game Anda diinstal dan berjalan di beberapa lokasi. Termasuk dua armada Spot dan satu On-Demand armada sebagai cadangan.
-
AWS antrian penempatan sesi permainan yang memenuhi permintaan untuk pertandingan yang diusulkan dengan menemukan sumber daya hosting terbaik (berdasarkan kelangsungan hidup, biaya, latensi pemain, dll.) Dan memulai sesi permainan.
-
Kumpulan pengguna dan klien Amazon Cognito untuk memungkinkan pemain mengotentikasi dan memulai permainan.
-
Otorisasi gateway API yang menghubungkan kumpulan pengguna dengan API.
-
WebACL untuk membatasi panggilan pemain yang berlebihan ke gateway API.
-
API gateway + fungsi Lambda bagi pemain untuk meminta slot game. Fungsi ini memanggil
StartMatchmaking(). -
API gateway + fungsi Lambda bagi pemain untuk mendapatkan info koneksi untuk permintaan game mereka.
-
Tabel Amazon DynamoDB untuk menyimpan tiket perjodohan untuk pemain dan informasi sesi permainan.
-
Topik SNS+fungsi Lambda untuk menangani GameSessionQueue peristiwa.
Langkah 4: Atur parameter permainan
Pada langkah ini, Anda menjelaskan permainan Anda untuk diunggah ke AWS;
Nama build server: Berikan nama yang bermakna untuk build server game Anda. AWS menggunakan nama ini untuk merujuk pada salinan build server Anda yang diunggah dan digunakan untuk penerapan.
Server build OS: Masukkan sistem operasi tempat server Anda dibangun untuk dijalankan. Ini memberi tahu jenis sumber daya komputasi AWS apa yang digunakan untuk meng-host game Anda.
Folder server game: Identifikasi jalur ke folder build server lokal Anda.
Pembuatan server game: Identifikasi jalur ke server game yang dapat dieksekusi.
Jalur klien game: Identifikasi jalur ke klien game yang dapat dieksekusi.
Output konfigurasi klien: Bidang ini harus menunjuk ke folder di build klien Anda yang berisi AWS konfigurasi Anda. Carilah di lokasi berikut:
[client-build]/[project-name]/Content/CloudFormation.
Langkah 5: Terapkan skenario
Pada langkah ini, Anda menyebarkan game Anda ke solusi hosting cloud berdasarkan skenario penerapan yang Anda pilih. Proses ini dapat memakan waktu beberapa menit saat AWS memvalidasi build server Anda, menyediakan sumber daya hosting, menginstal server game Anda, meluncurkan proses server, dan membuatnya siap untuk menyelenggarakan sesi game.
Untuk memulai penerapan, pilih Deplo y CloudFormation. Anda dapat melacak status hosting game Anda di sini. Untuk informasi selengkapnya, Anda dapat masuk ke konsol AWS Manajemen untuk AWS dan melihat notifikasi acara. Pastikan untuk masuk menggunakan akun, pengguna, dan Wil AWS ayah yang sama dengan profil pengguna aktif di plugin.
Ketika penerapan selesai, server game Anda diinstal pada instans AWS EC2. Setidaknya satu proses server sedang berjalan dan siap untuk memulai sesi permainan.
Langkah 6: Luncurkan klien
Pada titik ini, Anda telah menyelesaikan semua tugas yang diperlukan untuk meluncurkan dan memainkan game multipemain Anda yang dihostingAmazon GameLift Servers. Untuk memainkan game, luncurkan instance klien game Anda.
Jika Anda menerapkan skenario armada tunggal, Anda dapat membuka satu instance klien dengan satu pemain, memasukkan peta server, dan bergerak. Buka contoh tambahan dari klien game untuk menambahkan pemain kedua ke peta game server yang sama.
Jika Anda menerapkan FlexMatch skenario, solusi menunggu setidaknya dua klien mengantri untuk penempatan sesi game sebelum pemain dapat memasuki peta server.