Serverschnittstelle in Echtzeit - Amazon GameLift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Serverschnittstelle in Echtzeit

Wenn ein Realtime-Skript initialisiert wird, wird eine Schnittstelle zum Realtime-Server zurückgegeben. Dieses Thema beschreibt die Eigenschaften und Methoden, die über die Schnittstelle verfügbar sind. Erfahren Sie mehr über das Schreiben von Echtzeit-Skripten und sehen Sie sich ein detailliertes Skriptbeispiel unter anErstellen eines Echtzeit-Skripts.

Die Echtzeitschnittstelle bietet Zugriff auf die folgenden Objekte:

  • Sitzung

  • player

  • gameMessage

  • Konfiguration

Realtime Session-Objekt

Verwenden Sie diese Methoden, um auf serverbezogene Informationen zuzugreifen und serverbezogene Aktionen durchzuführen.

getPlayers()

Ruft eine Liste von Peer-IDs für Spieler ab, die aktuell mit der Spielsitzung verbunden sind. Liefert ein Array von Spielerobjekten.

Syntax

rtSession.getPlayers()

broadcastGroupMembershipAktualisieren ()

Löst die Bereitstellung einer aktualisierten Liste der Gruppenmitglieder an die Spielergruppe aus. Geben Sie an, welche Mitgliedschaft übertragen werden soll (groupIdToBroadcast) und welche Gruppe das Update erhalten soll (targetGroupId). Gruppen-IDs müssen eine positive Ganzzahl oder „-1“ sein, um alle Gruppen anzugeben. Ein Beispiel Beispiel für ein Realtime Server-Skript für benutzerdefinierte Gruppen-IDs finden Sie unter.

Syntax

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

Ruft die eindeutige Peer-ID-Kennung des Servers ab, mit der Nachrichten an den Server weitergeleitet werden.

Syntax

rtSession.getServerId()

getAllPlayersGroupId()

Ermittelt die Gruppen-ID für die Standardgruppe, die alle Spieler enthält, die aktuell mit der Spielsitzung verbunden sind.

Syntax

rtSession.getAllPlayersGroupId()

processEnding()

Löst den Realtime-Server aus, den Spielserver zu beenden. Diese Funktion muss vom Realtime-Skript aus aufgerufen werden, um eine Spielsitzung ordnungsgemäß zu beenden.

Syntax

rtSession.processEnding()

getGameSessionAusweis ()

Ermittelt die eindeutige ID der gerade laufenden Spielsitzung.

Syntax

rtSession.getGameSessionId()

getLogger()

Ruft die Schnittstelle für die Protokollierung ab. Verwenden Sie dies, um Anweisungen zu protokollieren, die in Ihren Spielsitzungsprotokollen erfasst werden. Der Protokollierer unterstützt die Verwendung der Anweisungen "info", "warn" und "error". Zum Beispiel: logger.info("<string>").

Syntax

rtSession.getLogger()

sendMessage()

Sendet eine mit newTextGameMessage oder newBinaryGameMessage erstellte Nachricht vom Realtime-Server über den UDP-Kanal an einen Player-Empfänger. Identifizieren Sie die Empfänger anhand der Gruppen-ID.

Syntax

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Sendet eine mit newTextGameMessage oder newBinaryGameMessage vom Realtime-Server erstellte Nachricht an alle Spieler in einer Spielergruppe, die den UDP-Kanal verwenden. Gruppen-IDs müssen eine positive Ganzzahl oder „-1“ sein, um alle Gruppen anzugeben. Ein Beispiel Beispiel für ein Realtime Server-Skript für benutzerdefinierte Gruppen-IDs finden Sie unter.

Syntax

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Sendet eine mit newTextGameMessage oder newBinaryGameMessage erstellte Nachricht vom Realtime-Server über den TCP-Kanal an einen Player-Empfänger. Identifizieren Sie die Empfänger anhand der Gruppen-ID.

Syntax

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupNachricht ()

Sendet eine mit newTextGameMessage oder newBinaryGameMessage vom Realtime-Server erstellte Nachricht an alle Spieler in einer Spielergruppe, die den TCP-Kanal verwenden. Gruppen-IDs, die eine positive Ganzzahl oder „-1“ sein müssen, um alle Gruppen anzugeben. Ein Beispiel Beispiel für ein Realtime Server-Skript für benutzerdefinierte Gruppen-IDs finden Sie unter.

Syntax

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameNachricht ()

Erstellt eine neue Nachricht mit Text, die mithilfe der SendMessage Funktionen vom Server an die Spielerempfänger gesendet wird. Das Nachrichtenformat ist ähnlich dem Format, das im Realtime Client SDK verwendet wird (siehe RTMessage). Gibt ein gameMessage-Objekt zurück.

Syntax

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameNachricht ()

Erstellt eine neue Nachricht mit Binärdaten, die mithilfe der SendMessage Funktionen vom Server an die Spielerempfänger gesendet werden soll. Das Nachrichtenformat ist ähnlich dem Format, das im Realtime Client SDK verwendet wird (siehe RTMessage). Gibt ein gameMessage-Objekt zurück.

Syntax

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Spielerobjekt

Zugriff auf spielerbezogene Informationen.

player.peerId

Eindeutige ID, die einem Spielclient zugewiesen wird, wenn er sich mit dem Realtime-Server verbindet und der Spielsitzung beitritt.

Spieler. playerSessionId

Spieler-ID, auf die der Spielclient verwiesen hat, als dieser eine Verbindung zum Realtime-Server herstellte und der Spielsitzung beitrat.

Objekt für Spielmitteilungen

Verwenden Sie diese Methoden, um auf Nachrichten zuzugreifen, die vom Realtime-Server empfangen werden. Nachrichten, die von Spiel-Clients empfangen werden, haben die Struktur RTMessage.

getPayloadAsText ()

Ruft die Payload der Spielnachricht als Text ab.

Syntax

gameMessage.getPayloadAsText()

gameMessage.opcode

Operationscode, der in einer Nachricht enthalten ist.

gameMessage.payload

Payload in einer Nachricht. Kann Text oder binär sein.

gameMessage.sender

Peer-ID des Spiel-Clients, der eine Nachricht gesendet hat.

gameMessage.reliable

Boolean-Wert, der angibt, ob die Nachricht über TCP (true) oder UDP (false) gesendet wurde.

Konfigurationsobjekt

Das Konfigurationsobjekt kann verwendet werden, um Standardkonfigurationen zu überschreiben.

Configuration.Max Players

Die maximale Anzahl von Client-/Server-Verbindungen, die von akzeptiert werden könnenRealTimeServers.

Die Standardeinstellung ist 32.

Konfiguration. pingIntervalTime

Zeitintervall in Millisekunden, in dem der Server versucht, einen Ping an alle verbundenen Clients zu senden, um zu überprüfen, ob die Verbindungen fehlerfrei sind.

Die Standardeinstellung ist 3000 ms.