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 ID rekan untuk pemain yang saat ini terhubung ke sesi game. Mengembalikan himpunan objek pemain.

Sintaksis

rtSession.getPlayers()

broadcastGroupMembershipPerbarui ()

Memicu pengiriman daftar keanggotaan grup yang telah diperbarui kepada grup pemain. Tentukan keanggotaan mana yang akan groupIdTo disiarkan (Siaran) dan grup untuk menerima pembaruan (targetGroupId). ID grup harus berupa bilangan bulat positif atau "-1" untuk mengindikasikan semua grup. Lihat Contoh skrip Server Realtime untuk contoh ID grup yang ditetapkan pengguna.

Sintaksis

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

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

Sintaksis

rtSession.getServerId()

getAllPlayersGroupId()

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

Sintaksis

rtSession.getAllPlayersGroupId()

processEnding()

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

Sintaksis

rtSession.processEnding()

getGameSessionId ()

Mengambil ID unik dari sesi game yang sedang berjalan.

Sintaksis

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>").

Sintaksis

rtSession.getLogger()

sendMessage()

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

Sintaksis

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Mengirim pesan, yang dibuat menggunakan newTextGameMessage atau newBinaryGameMessage, dari server Realtime ke semua pemain dalam grup pemain menggunakan saluran UDP. ID grup harus berupa bilangan bulat positif atau "-1" untuk mengindikasikan semua grup. Lihat Contoh skrip Server Realtime untuk contoh ID grup yang ditetapkan pengguna.

Sintaksis

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Mengirim pesan, yang dibuat menggunakan newTextGameMessage atau newBinaryGameMessage, dari server Realtime ke penerima pemain menggunakan koneksi TCP. Mengidentifikasi penerima menggunakan ID rekan pemain.

Sintaksis

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupPesan ()

Mengirim pesan, yang dibuat menggunakan newTextGameMessage atau newBinaryGameMessage, dari server Realtime ke semua pemain dalam grup pemain menggunakan saluran TCP. ID grup harus berupa bilangan bulat positif atau "-1" untuk mengindikasikan semua grup. Lihat Contoh skrip Server Realtime untuk contoh ID grup yang ditetapkan pengguna.

Sintaksis

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 SDK Realtime Client (lihat RTMessage). Mengembalikan objek gameMessage.

Sintaksis

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 SDK Realtime Client (lihat RTMessage). Mengembalikan objek gameMessage.

Sintaksis

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Objek pemain

Mengakses informasi yang berhubungan dengan pemain.

player.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.

Sintaksis

gameMessage.getPayloadAsText()

gameMessage.opcode

Kode operasi yang terkandung dalam pesan.

gameMessage.payload

Muatan yang terkandung dalam pesan. Mungkin teks atau biner.

gameMessage.sender

ID rekan client game yang mengirim pesan.

gameMessage.reliable

Boolean yang menunjukkan apakah pesan dikirim melalui TCP (betul) atau UDP (salah).

Objek konfigurasi

Objek konfigurasi dapat digunakan untuk menimpa konfigurasi default.

configuration.maxPlayers

Jumlah maksimum koneksi klien/server yang dapat diterima olehRealTimeServers.

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.