Interfaccia Realtime Servers - Amazon GameLift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Interfaccia Realtime Servers

Quando uno script in tempo reale viene inizializzato, viene restituita un'interfaccia per il server Realtime. In questo argomento vengono illustrati i metodi e le proprietà disponibili tramite l'interfaccia. Scopri di più sulla scrittura di script in tempo reale e visualizza un esempio di script dettagliato in. Creazione di uno script in tempo reale

L'interfaccia Realtime fornisce l'accesso ai seguenti oggetti:

  • session

  • player (giocatore)

  • gameMessage

  • configurazione

Oggetto Realtime Session

Utilizza questi metodi per accedere alle informazioni relative al server ed eseguire operazioni correlate al server.

getPlayers()

Recupera un elenco di ID peer per i giocatori attualmente connessi a sessioni di gioco. Restituisce un array di oggetti player.

Sintassi

rtSession.getPlayers()

broadcastGroupMembershipAggiornamento ()

Attiva la distribuzione di un elenco aggiornato delle appartenenze ai gruppi di giocatori. Specifica quale appartenenza trasmettere (groupIdToBroadcast) e il gruppo a cui inviare l'aggiornamento (targetGroupId). Gli ID dei gruppi devono essere un numero intero positivo o «-1" per indicare tutti i gruppi. Vedi un Esempio di script Realtime Servers esempio di ID di gruppo definiti dall'utente.

Sintassi

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

Recupera l'identificatore ID peer univoco del server, che viene utilizzato per instradare messaggi al server.

Sintassi

rtSession.getServerId()

getAllPlayersGroupId()

Recupera l'ID del gruppo per il gruppo predefinito che contiene tutti i giocatori attualmente connessi alla sessione di gioco.

Sintassi

rtSession.getAllPlayersGroupId()

processEnding()

Attiva il server Realtime per terminare il server di gioco. Questa funzione deve essere richiamata dallo script Realtime per uscire senza problemi da una sessione di gioco.

Sintassi

rtSession.processEnding()

getGameSessionID ()

Recupera l'ID univoco della sessione di gioco attualmente in esecuzione.

Sintassi

rtSession.getGameSessionId()

getLogger()

Recupera l'interfaccia per la creazione di log. Utilizza questo oggetto per le dichiarazioni di log che verranno acquisite nel log delle sessioni di gioco. Il logger supporta l'utilizzo delle dichiarazioni "info", "warn" e "error". Ad esempio: logger.info("<string>").

Sintassi

rtSession.getLogger()

sendMessage()

Invia un messaggio, creato utilizzando newTextGameMessage onewBinaryGameMessage, dal server Realtime al destinatario di un giocatore utilizzando il canale UDP. Identifica il destinatario utilizzando l'ID peer del giocatore.

Sintassi

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Invia un messaggio, creato utilizzando newTextGameMessage onewBinaryGameMessage, dal server Realtime a tutti i giocatori di un gruppo di giocatori utilizzando il canale UDP. Gli ID dei gruppi devono essere un numero intero positivo o «-1" per indicare tutti i gruppi. Vedi un Esempio di script Realtime Servers esempio di ID di gruppo definiti dall'utente.

Sintassi

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Invia un messaggio, creato utilizzando newTextGameMessage onewBinaryGameMessage, dal server Realtime al destinatario di un giocatore utilizzando il canale TCP. Identifica il destinatario utilizzando l'ID peer del giocatore.

Sintassi

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupMessaggio ()

Invia un messaggio, creato utilizzando newTextGameMessage onewBinaryGameMessage, dal server Realtime a tutti i giocatori di un gruppo di giocatori utilizzando il canale TCP. ID di gruppo che devono essere un numero intero positivo o «-1" per indicare tutti i gruppi. Vedi un Esempio di script Realtime Servers esempio di ID di gruppo definiti dall'utente.

Sintassi

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameMessaggio ()

Crea un nuovo messaggio contenente testo, da inviare dal server ai destinatari del giocatore utilizzando le SendMessage funzioni. Il formato del messaggio è simile al formato utilizzato nell'SDK del client Realtime (vedi RTMessage). Restituisce un oggetto gameMessage.

Sintassi

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameMessaggio ()

Crea un nuovo messaggio contenente dati binari, da inviare dal server ai destinatari del giocatore utilizzando le SendMessage funzioni. Il formato del messaggio è simile al formato utilizzato nell'SDK del client Realtime (vedi RTMessage). Restituisce un oggetto gameMessage.

Sintassi

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Oggetto player

Accedi alle informazioni sul giocatore.

player.peerId

ID univoco assegnato a un client di gioco quando si connette al server Realtime e partecipa alla sessione di gioco.

giocatore. playerSessionId

ID della sessione del giocatore a cui il client di gioco ha fatto riferimento quando si è connesso al server Realtime e si è unito alla sessione di gioco.

Oggetto game message

Utilizza questi metodi per accedere ai messaggi ricevuti dal server Realtime. I messaggi ricevuti dai client di gioco hanno la struttura RTMessage.

getPayloadAsTesto ()

Ottiene il payload del messaggio di gioco come testo.

Sintassi

gameMessage.getPayloadAsText()

gameMessage.opcode

Il codice dell'operazione contenuto in un messaggio.

gameMessage.payload

Il payload contenuto in un messaggio. Può essere testo o binario.

gameMessage.sender

L'ID peer del client di gioco che ha inviato un messaggio.

gameMessage.reliable

Il valore booleano che indica se il messaggio è stato inviato tramite TCP (true) o UDP (false).

Oggetto di configurazione

L'oggetto di configurazione può essere utilizzato per sovrascrivere le configurazioni predefinite.

Configurazione. Max Players

Il numero massimo di connessioni client/server che possono essere accettate daRealTimeServers.

L'impostazione predefinita è 32.

configurazione. pingIntervalTime

Intervallo di tempo in millisecondi in cui il server tenterà di inviare un ping a tutti i client connessi per verificare che le connessioni siano integre.

L'impostazione predefinita è 3000 ms.