Interfaccia Realtime Server - 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 Server

Quando uno script Realtime viene inizializzato, viene restituita un'interfaccia al 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 giocatori che sono attualmente connessi alla sessione di gioco. IDs Restituisce un array di oggetti player.

Sintassi

rtSession.getPlayers()

broadcastGroupMembershipAggiorna ()

Attiva la distribuzione di un elenco aggiornato delle appartenenze ai gruppi di giocatori. Specificate quale iscrizione trasmettere (groupIdToBroadcast) e il gruppo a cui inviare l'aggiornamento (targetGroupId). Il gruppo IDs deve essere un numero intero positivo o «-1" per indicare tutti i gruppi. Vedi un Esempio di script Realtime Servers esempio di gruppo definito dall'utente. IDs

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 chiudere il server di gioco. Questa funzione deve essere chiamata 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 a un destinatario del giocatore che utilizza il UDP canale. 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 che utilizzano il UDP canale. Il gruppo IDs deve essere un numero intero positivo o «-1" per indicare tutti i gruppi. Vedi un Esempio di script Realtime Servers esempio di gruppo definito dall'utente. IDs

Sintassi

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Invia un messaggio, creato utilizzando newTextGameMessage onewBinaryGameMessage, dal server Realtime a un destinatario del giocatore che utilizza il TCP canale. 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 che utilizzano il TCP canale. Gruppo IDs che deve essere un numero intero positivo o «-1" per indicare tutti i gruppi. Vedi un Esempio di script Realtime Servers esempio di gruppo definito dall'utente. IDs

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 nel Realtime Client SDK (vediRTMessage). 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 nel Realtime Client SDK (vediRTMessage). Restituisce un oggetto gameMessage.

Sintassi

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Oggetto player

Accedi alle informazioni sul giocatore.

giocatore. 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 ha fatto riferimento il client di gioco quando si è connesso al server Realtime e si è unito alla sessione di gioco.

Oggetto game message

Usa 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 dei messaggi di gioco come testo.

Sintassi

gameMessage.getPayloadAsText()

gameMessage.opcode

Il codice dell'operazione contenuto in un messaggio.

gameMessage.carico utile

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

gameMessage.mittente

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

gameMessage.affidabile

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

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

Il valore predefinito è 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.