Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Server SDK (Tidak Nyata) untuk Amazon GameLift Servers -- Tindakan
Gunakan SDK server untuk Unreal untuk mengintegrasikan game multipemain Anda untuk hosting. Amazon GameLift Servers Untuk panduan tentang proses integrasi, lihatTambahkan Amazon GameLift Servers ke server game Anda dengan SDK server.
catatan
Referensi ini untuk versi SDK server yang lebih lama untukAmazon GameLift Servers. Untuk versi terbaru, lihatServer C ++ (Tidak nyata) SDK 5.x untuk -- Tindakan Amazon GameLift Servers.
API ini didefinisikan dalam GameLiftServerSDK.h dan GameLiftServerSDKModels.h.
Untuk menyiapkan plugin Unreal Engine dan melihat contoh kode Integrasikan Amazon GameLift Servers ke dalam proyek Unreal Engine.
Server SDK (Unreal) untuk Amazon GameLift Servers -- Tipe data
Topik
AcceptPlayerSession()
Memberitahu Amazon GameLift Servers layanan bahwa pemain dengan ID sesi pemain tertentu telah terhubung ke proses server dan perlu validasi. Amazon GameLift Serversmemverifikasi bahwa ID sesi pemain valid—yaitu, ID pemain telah memesan slot pemain dalam sesi permainan. Setelah divalidasi, Amazon GameLift Servers ubah status slot pemain dari RESERVED ke ACTIVE.
Sintaks
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
Parameter
- playerSessionId
-
ID unik yang dikeluarkan oleh Amazon GameLift Servers layanan sebagai respons terhadap panggilan ke tindakan AWS CreatePlayerSessionSDK Amazon GameLift Servers API. Client game mereferensi ID ini saat menghubungkan ke proses server.
Jenis: FString
Wajib: Ya
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
ActivateGameSession()
Memberitahu Amazon GameLift Servers layanan bahwa proses server telah mengaktifkan sesi permainan dan sekarang siap menerima koneksi pemain. Tindakan ini harus dipanggil sebagai bagian dari fungsi callback onStartGameSession(), setelah semua inisialisasi sesi game selesai.
Sintaks
FGameLiftGenericOutcome ActivateGameSession()
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
DescribePlayerSessions()
Mengambil data sesi pemain, termasuk pengaturan, metadata sesi, dan data pemain. Gunakan tindakan ini untuk mendapatkan informasi untuk satu sesi pemain, untuk semua sesi pemain dalam sesi game, atau untuk semua sesi pemain yang terkait dengan ID pemain tunggal.
Sintaks
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
Parameter
- describePlayerSessionsPermintaan
-
Sebuah objek FDescribePlayerSessionsRequest yang menjelaskan sesi pemain mana yang diambil.
Wajib: Ya
Nilai yang dikembalikan
Jika berhasil, ini mengembalikan objek FDescribePlayerSessionsRequest yang berisi satu set objek sesi pemain yang sesuai dengan parameter permintaan. Objek sesi pemain memiliki struktur yang identik dengan tipe PlayerSessiondata AWS SDK Amazon GameLift Servers API.
GetGameSessionId()
Mengambil ID dari sesi game yang saat ini sedang di-host oleh proses server, jika proses server aktif.
Sintaks
FGameLiftStringOutcome GetGameSessionId()
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Jika berhasil, ini mengembalikan ID sesi game sebagai objek FGameLiftStringOutcome. Jika tidak berhasil, ini mengembalikan pesan kesalahan.
GetInstanceCertificate()
Mengambil lokasi file sertifikat TLS yang dikodekan pem-encode yang terkait dengan armada dan instance-nya. AWS Certificate Manager menghasilkan sertifikat ini saat Anda membuat armada baru dengan konfigurasi sertifikat yang disetel ke GENERATED. Gunakan sertifikat ini untuk membuat koneksi yang aman dengan client game dan untuk mengenkripsi komunikasi client/server.
Sintaks
FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Jika berhasil, mengembalikan GetInstanceCertificateOutcome objek yang berisi lokasi file sertifikat TLS armada dan rantai sertifikat, yang disimpan pada instance. File sertifikat root, diekstrak dari rantai sertifikat, juga disimpan pada instance. Jika tidak berhasil, ini mengembalikan pesan kesalahan.
Untuk informasi selengkapnya tentang sertifikat dan data rantai sertifikat, lihat Elemen GetCertificate Respons di Referensi AWS Certificate Manager API.
GetSdkVersion()
Mengembalikan nomor versi SDK saat ini yang dibangun ke dalam proses server.
Sintaks
FGameLiftStringOutcome GetSdkVersion();
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Jika berhasil, ini mengembalikan versi SDK saat ini sebagai objek FGameLiftStringOutcome. String yang dikembalikan mencakup nomor versi saja (mis. "3.1.5"). Jika tidak berhasil, ini mengembalikan pesan kesalahan.
Contoh
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();
InitSDK()
Menginisialisasi Amazon GameLift Servers SDK. Metode ini harus dipanggil saat peluncuran, sebelum inisialisasi Amazon GameLift Servers terkait lainnya terjadi.
Sintaks
FGameLiftGenericOutcome InitSDK()
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
ProcessEnding()
Memberitahu Amazon GameLift Servers layanan bahwa proses server dimatikan. Metode ini harus dipanggil setelah semua tugas pembersihan lainnya, termasuk mematikan semua sesi game aktif. Metode ini harus keluar dengan kode keluar 0; sebuah kode non-nol menghasilkan pesan kejadian bahwa proses tidak keluar dengan bersih.
Sintaks
FGameLiftGenericOutcome ProcessEnding()
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
ProcessReady()
Memberitahu Amazon GameLift Servers layanan bahwa proses server siap untuk meng-host sesi permainan. Panggil metode ini setelah berhasil meminta InitSDK() dan menyelesaikan tugas penyiapan yang diperlukan sebelum proses server dapat menjadi host sesi game. Metode ini harus dipanggil hanya satu kali per proses.
Sintaks
FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)
Parameter
- FProcessParameter
-
Sebuah objek FProcessParameter yang mengomunikasikan informasi berikut tentang proses server:
-
Nama metode callback, diimplementasikan dalam kode server game, yang dipanggil Amazon GameLift Servers layanan untuk berkomunikasi dengan proses server.
-
Nomor port yang didengarkan oleh proses server.
-
Jalur ke file khusus sesi game apa pun yang Amazon GameLift Servers ingin Anda tangkap dan simpan.
Wajib: Ya
-
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
Contoh
Lihat kode sampel di Menggunakan Plugin Unreal Engine.
RemovePlayerSession()
Memberi tahu Amazon GameLift Servers layanan bahwa pemain dengan ID sesi pemain yang ditentukan telah terputus dari proses server. Sebagai tanggapan, Amazon GameLift Servers mengubah slot pemain menjadi tersedia, yang memungkinkannya ditugaskan ke pemain baru.
Sintaks
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
Parameter
- playerSessionId
-
ID unik yang dikeluarkan oleh Amazon GameLift Servers layanan sebagai respons terhadap panggilan ke tindakan AWS CreatePlayerSessionSDK Amazon GameLift Servers API. Client game mereferensi ID ini saat menghubungkan ke proses server.
Jenis: FString
Wajib: Ya
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
StartMatchBackfill()
Mengirim permintaan untuk menemukan pemain baru untuk slot terbuka dalam sesi permainan yang dibuat denganFlexMatch. Lihat juga aksi AWS SDK StartMatchBackfill(). Dengan tindakan ini, permintaan backfill match dapat dimulai dengan proses server game yang menjadi host sesi game. Pelajari lebih lanjut tentang fitur FlexMatch isi ulang.
Tindakan ini asinkron. Jika pemain baru berhasil dicocokkan, Amazon GameLift Servers layanan akan mengirimkan data mak comblang yang diperbarui menggunakan fungsi panggilan balik. OnUpdateGameSession()
Proses server hanya dapat melakukan satu permintaan backfill match yang aktif dalam satu waktu. Untuk mengirim permintaan baru, panggil StopMatchBackfill() terlebih dahulu untuk membatalkan permintaan asli.
Sintaks
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
Parameter
- FStartMatchBackfillRequest
-
Sebuah objek FStartMatchBackfillRequest yang mengkomunikasikan informasi berikut:
-
ID tiket untuk ditetapkan ke permintaan backfill. Informasi ini opsional; jika tidak ada ID yang diberikan, Amazon GameLift Servers akan dibuat secara otomatis.
-
Matchmaker untuk dikirimi permintaan. ARN konfigurasi penuh diperlukan. Nilai ini dapat diperoleh dari data matchmaker sesi game.
-
ID dari sesi game yang sedang di-backfill.
-
Data matchmaking yang tersedia untuk pemain sesi game saat ini.
Wajib: Ya
-
Nilai yang dikembalikan
Jika berhasil, mengembalikan tiket backfill match sebagai objek FGameLiftStringOutcome. Jika tidak berhasil, ini mengembalikan pesan kesalahan. Status tiket dapat dilacak menggunakan tindakan AWS SDK DescribeMatchmaking().
StopMatchBackfill()
Membatalkan permintaan backfill match aktif yang dibuat dengan StartMatchBackfill(). Lihat juga aksi AWS SDK StopMatchmaking(). Pelajari lebih lanjut tentang fitur FlexMatch isi ulang.
Sintaks
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
Parameter
- StopMatchBackfillRequest
-
Sebuah objek FStopMatchBackfillRequest yang mengidentifikasi tiket matchmaking untuk membatalkan:
-
ID tiket yang ditetapkan ke permintaan backfill yang dibatalkan
-
matchmaker yang dikirimi permintaan backfill
-
sesi game yang terkait dengan permintaan backfill
Wajib: Ya
-
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
TerminateGameSession()
Metode ini tidak lagi digunakan dengan versi 4.0.1. Sebaliknya, proses server harus memanggil ProcessEnding() setelah sesi permainan berakhir.
Memberitahu Amazon GameLift Servers layanan bahwa proses server telah mengakhiri sesi permainan saat ini. Tindakan ini dipanggil ketika proses server akan tetap aktif dan siap untuk menjadi host sesi game baru. Ini harus dipanggil hanya setelah prosedur penghentian sesi permainan Anda selesai, karena ini menandakan Amazon GameLift Servers bahwa proses server segera tersedia untuk meng-host sesi permainan baru.
Tindakan ini tidak dipanggil jika proses server akan dimatikan setelah sesi game berhenti. Sebagai gantinya, panggil ProcessEnding() untuk memberi tahu bahwa sesi game dan proses server akan berakhir.
Sintaks
FGameLiftGenericOutcome TerminateGameSession()
Parameter
Tindakan ini tidak memiliki parameter.
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.
UpdatePlayerSessionCreationPolicy()
Memperbarui kemampuan sesi game saat ini untuk menerima sesi pemain baru. Sesi game dapat diatur untuk menerima atau menolak semua sesi pemain baru. (Lihat juga UpdateGameSession()tindakan di Referensi API Amazon GameLift Servers Layanan).
Sintaks
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
Parameter
- Kebijakan
-
Nilai yang menunjukkan apakah sesi game menerima pemain baru.
Jenis: Enum
EPlayerSessionCreationPolicy. Nilai yang valid meliputi:-
ACCEPT_ALL — Menerima semua sesi pemain baru.
-
DENY_ALL — Menolak semua sesi pemain baru.
Wajib: Ya
-
Nilai yang dikembalikan
Mengembalikan hasil generik yang terdiri dari keberhasilan atau kegagalan dalam sebuah pesan kesalahan.