Antarmuka Server Realtime - Amazon GameLift

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

Antarmuka Server Realtime

Ketika skrip Realtime menginisialisasi, sebuah antarmuka ke Realtime server dikembalikan. Topik ini menjelaskan properti dan metode yang tersedia melalui antarmuka. Pelajari selengkapnya tentang menulis skrip Realtime dan lihat contoh skrip detail di Membuat skrip Realtime.

Antarmuka Realtime menyediakan akses ke objek berikut:

  • sesi

  • pemain

  • gameMessage

  • konfigurasi

Objek Realtime Session

Gunakan metode ini untuk mengakses informasi terkait server dan melakukan tindakan terkait server.

getPlayers()

Mengambil daftar rekan IDs untuk pemain yang saat ini terhubung ke sesi permainan. Mengembalikan himpunan objek pemain.

Sintaks

rtSession.getPlayers()

broadcastGroupMembershipPerbarui ()

Memicu pengiriman daftar keanggotaan grup yang telah diperbarui kepada grup pemain. Tentukan keanggotaan mana yang akan groupIdTo disiarkan (Broadcast) dan grup yang akan menerima pembaruan (targetGroupId). Grup IDs harus berupa bilangan bulat positif atau “-1" untuk menunjukkan semua kelompok. Lihat Contoh skrip Server Realtime contoh grup yang ditentukan pengguna. IDs

Sintaks

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

Mengambil pengidentifikasi ID unik rekan milik server, yang digunakan untuk merute pesan ke server.

Sintaks

rtSession.getServerId()

getAllPlayersGroupId()

Mengambil ID grup untuk grup default yang berisi semua pemain yang saat ini terhubung ke sesi game.

Sintaks

rtSession.getAllPlayersGroupId()

processEnding()

Memicu server Realtime untuk mengakhiri server game. Fungsi ini harus dipanggil dari skrip Realtime untuk keluar dengan bersih dari sesi game.

Sintaks

rtSession.processEnding()

getGameSessionId ()

Mengambil ID unik dari sesi game yang sedang berjalan.

Sintaks

rtSession.getGameSessionId()

getLogger()

Mengambil antarmuka untuk pencatatan. Gunakan ini untuk mencatat pernyataan yang akan ditangkap dalam log sesi game Anda. Logger mendukung penggunaan pernyataan "info", "memperingatkan", dan "kesalahan". Misalnya: logger.info("<string>").

Sintaks

rtSession.getLogger()

sendMessage()

Mengirim pesan, dibuat menggunakan newTextGameMessage ataunewBinaryGameMessage, dari server Realtime ke penerima pemain menggunakan UDP saluran. Mengidentifikasi penerima menggunakan ID rekan pemain.

Sintaks

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Mengirim pesan, dibuat menggunakan newTextGameMessage ataunewBinaryGameMessage, dari server Realtime ke semua pemain dalam grup pemain menggunakan UDP saluran. Grup IDs harus berupa bilangan bulat positif atau “-1" untuk menunjukkan semua kelompok. Lihat Contoh skrip Server Realtime contoh grup yang ditentukan pengguna. IDs

Sintaks

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Mengirim pesan, dibuat menggunakan newTextGameMessage ataunewBinaryGameMessage, dari server Realtime ke penerima pemain menggunakan TCP saluran. Mengidentifikasi penerima menggunakan ID rekan pemain.

Sintaks

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupPesan ()

Mengirim pesan, dibuat menggunakan newTextGameMessage ataunewBinaryGameMessage, dari server Realtime ke semua pemain dalam grup pemain menggunakan TCP saluran. Kelompok IDs yang harus berupa bilangan bulat positif atau “-1" untuk menunjukkan semua kelompok. Lihat Contoh skrip Server Realtime contoh grup yang ditentukan pengguna. IDs

Sintaks

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGamePesan ()

Membuat pesan baru yang berisi teks, yang akan dikirim dari server ke penerima pemain menggunakan SendMessage fungsi. Format pesan mirip dengan format yang digunakan dalam Klien Realtime SDK (lihatRTMessage). Mengembalikan objek gameMessage.

Sintaks

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGamePesan ()

Membuat pesan baru yang berisi data biner, yang akan dikirim dari server ke penerima pemain menggunakan SendMessage fungsi. Format pesan mirip dengan format yang digunakan dalam Klien Realtime SDK (lihatRTMessage). Mengembalikan objek gameMessage.

Sintaks

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Objek pemain

Mengakses informasi yang berhubungan dengan pemain.

pemain. peerId

ID unik yang ditetapkan untuk client game saat terhubung ke server Realtime dan bergabung dengan sesi game.

pemain. playerSessionId

ID sesi pemain yang direferensikan oleh client game saat terhubung ke server Realtime dan bergabung dengan sesi game.

Objek pesan game

Gunakan metode ini untuk mengakses pesan yang diterima oleh server Realtime. Pesan yang diterima dari client game memiliki struktur RTMessage.

getPayloadAsTeks ()

Mendapatkan muatan pesan game sebagai teks.

Sintaks

gameMessage.getPayloadAsText()

gameMessage.opcode

Kode operasi yang terkandung dalam pesan.

gameMessage.payload

Muatan yang terkandung dalam pesan. Mungkin teks atau biner.

gameMessage.pengirim

ID rekan client game yang mengirim pesan.

gameMessage.handal

Boolean menunjukkan apakah pesan dikirim melalui TCP (true) atau UDP (false).

Objek konfigurasi

Objek konfigurasi dapat digunakan untuk menimpa konfigurasi default.

konfigurasi. maxPlayers

Jumlah maksimum koneksi klien/server yang dapat diterima oleh RealTimeServers.

Default-nya adalah 32.

konfigurasi. pingIntervalTime

Interval waktu dalam milidetik yang akan dicoba server untuk mengirim ping ke semua client yang terhubung untuk memverifikasi koneksi yang sehat.

Defaultnya adalah 3000ms.