Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dalam alur kerja ini, Anda menggunakan plugin untuk memodifikasi game untuk dihosting di sumber daya komputasi berbasis cloud yang dikelola oleh Amazon. GameLift Anda menambahkan kode game klien dan server untuk GameLift fungsionalitas Amazon, lalu mengunggah build server Anda ke GameLift layanan Amazon untuk diterapkan ke sumber daya berbasis cloud. Ketika alur kerja ini selesai, Anda akan memiliki klien game yang berfungsi yang dapat terhubung ke server game Anda di cloud.
Untuk memulai EC2 alur kerja Amazon yang GameLift dikelola Amazon:
Di toolbar utama editor Unreal, pilih GameLift menu Amazon, dan pilih Host with Managed. EC2 Tindakan ini membuka halaman plugin Deploy Amazon EC2 Fleet, yang menyajikan proses enam langkah untuk mengintegrasikan, membangun, menyebarkan, dan meluncurkan komponen game Anda.
Langkah 1: Atur 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 AWS Wilayah 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 tidak “Aktif”, pilih profil Bootstrap dan tunggu statusnya berubah menjadi “Aktif”.
Langkah 2: Siapkan kode permainan Anda
Pada langkah ini, Anda membuat beberapa pembaruan untuk kode permainan klien dan server Anda. Server game yang dihosting Anda harus dapat berkomunikasi dengan GameLift layanan Amazon untuk menerima permintaan sesi game baru dan status laporan. Klien game Anda (melalui layanan backend) harus dapat meminta sesi permainan baru dan terhubung ke mereka.
Jika Anda belum menyiapkan versi Unreal Editor yang dibuat sumber, plugin menyediakan tautan ke instruksi dan kode sumber.
Jika Anda mengintegrasikan game Anda untuk digunakan dengan armada Anywhere, Anda tidak perlu membuat perubahan apa pun pada kode game Anda. Anda juga dapat menggunakan peta game startup dengan EC2 penerapan.
Setelah membangun server game Anda, selesaikan tugas-tugas berikut untuk mempersiapkannya untuk diunggah ke Amazon GameLift untuk hosting.
Di WindowsServer
folder, tempat editor Unreal mengemas file build server Anda secara default, buat tambahan berikut:
Salin skrip instalasi build server ke root
WindowsServer
folder. Skrip penginstalan disertakan dalam unduhan plugin. Cari filenya[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat
. Amazon GameLift menggunakan file ini untuk menginstal server build ke komputasi hosting Anda.Salin
VC_redist.x64.exe
file ke rootWindowsServer
folder. File ini disertakan dalam instalasi Visual Studio Anda. Biasanya terletak diC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142
.Tambahkan file library OpenSSL ke build server game Anda. Anda harus menggunakan versi OpenSSL yang sama dengan yang digunakan versi Unreal Engine 5 Anda. Ini adalah langkah penting. Jika Anda menyertakan versi yang salah, Anda mungkin dapat menerapkan build ini, tetapi server game Anda tidak akan dapat melaporkan sesi permainan yang siap dan menjadi tuan rumah.
-
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 pustaka tersebut ke direktori paket build game Anda di.
<YourGame>/Binaries/Win64
-
Untuk petunjuk lebih rinci tentang menyiapkan server game yang dibuat untuk Linux, lihat Membangun SDK GameLift Server Amazon untuk Unreal Engine 5 di Amazon
-
Tentukan direktori kerja untuk mengatur file build Anda. Struktur direktori kerja digunakan sebagaimana adanya ke setiap komputasi hosting. Tambahkan server game buatan Linux Anda dan semua file dependen.
-
Buat skrip instalasi build server di root direktori kerja Anda. Jika perlu, buat
install.sh
file dan tambahkan perintah apa pun yang diperlukan untuk menginstal build server game Anda dengan benar. Amazon GameLift menggunakan file ini untuk menginstal build server ke setiap sumber daya EC2 hosting. -
Tambahkan file library OpenSSL ke build server game Anda. Anda harus menggunakan versi OpenSSL yang sama dengan yang digunakan versi Unreal Engine 5 Anda. Ini adalah langkah penting. Jika Anda menyertakan versi yang salah, Anda mungkin dapat menerapkan build ini, tetapi server game Anda tidak akan dapat melaporkan sesi permainan yang siap dan menjadi tuan rumah.
-
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 pustaka tersebut 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.
Armada wilayah tunggal: Menyebarkan server game Anda ke satu armada sumber daya hosting di wilayah default AWS 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 armada (On-Demand) dengan build server game Anda diinstal dan dijalankan.
Kumpulan pengguna dan klien Amazon Cognito untuk memungkinkan pemain mengautentikasi dan memulai permainan.
Authorizer gateway API yang menautkan kumpulan pengguna dengan APIs.
Web ACl 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 +Lambda berfungsi bagi pemain untuk mendapatkan info koneksi untuk permintaan game mereka.
FlexMatch armada: Menyebarkan server game Anda ke satu set armada dan menyiapkan mak FlexMatch comblang dengan aturan untuk membuat pertandingan pemain. Skenario ini menggunakan hosting Spot berbiaya rendah dengan struktur multi-armada, multi-lokasi untuk ketersediaan yang tahan lama. Pendekatan ini berguna ketika Anda siap untuk mulai merancang komponen mak comblang 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 ditetapkan untuk menerima permintaan pemain dan pertandingan formulir.
-
Tiga AWS armada dengan build server game Anda diinstal dan berjalan di beberapa lokasi. Termasuk dua armada Spot dan satu armada On-Demand sebagai cadangan.
-
AWS antrian penempatan sesi permainan yang memenuhi permintaan untuk pertandingan yang diusulkan dengan menemukan sumber daya hosting terbaik (berdasarkan kelayakan, biaya, latensi pemain, dll.) Dan memulai sesi permainan.
-
Kumpulan pengguna dan klien Amazon Cognito untuk memungkinkan pemain mengautentikasi dan memulai permainan.
-
Authorizer gateway API yang menautkan kumpulan pengguna dengan APIs.
-
Web ACl 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 +Lambda berfungsi 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+Lambda berfungsi untuk GameSessionQueue menangani acara.
Langkah 4: Tetapkan parameter permainan
Pada langkah ini, Anda menjelaskan game Anda untuk diunggah ke AWS;
Nama pembuatan server: Berikan nama yang berarti untuk pembuatan server game Anda. AWS menggunakan nama ini untuk merujuk ke 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 akan 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 perlu menunjuk ke folder di build klien Anda yang berisi AWS konfigurasi Anda. Cari di lokasi berikut:
[client-build]/[project-name]/Content/CloudFormation
.
Langkah 5: Menyebarkan skenario
Pada langkah ini, Anda menerapkan game Anda ke solusi hosting cloud berdasarkan skenario penerapan yang Anda pilih. Proses ini dapat memakan waktu beberapa menit sambil AWS memvalidasi pembuatan server Anda, menyediakan sumber daya hosting, menginstal server game Anda, meluncurkan proses server, dan membuatnya siap untuk meng-host sesi game.
Untuk memulai penerapan, pilih CloudFormationDeploy. Anda dapat melacak status hosting game Anda di sini. Untuk informasi selengkapnya, Anda dapat masuk ke konsol AWS Manajemen untuk AWS dan melihat pemberitahuan acara. Pastikan untuk masuk menggunakan akun, pengguna, dan AWS Wilayah yang sama dengan profil pengguna aktif di plugin.
Saat penerapan selesai, server game Anda diinstal pada sebuah AWS EC2 instance. Setidaknya satu proses server 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 yang dihosting dengan Amazon GameLift. Untuk memainkan game, luncurkan instance klien game Anda.
Jika Anda menerapkan skenario armada tunggal, Anda dapat membuka satu instance klien dengan satu pemain, masuk ke peta server dan bergerak. Buka instance tambahan dari klien game untuk menambahkan pemain kedua ke peta game server yang sama.
Jika Anda menerapkan FlexMatch skenario, solusinya menunggu setidaknya dua klien untuk antri untuk penempatan sesi permainan sebelum pemain dapat memasuki peta server.