Realtime Server-Schnittstelle - 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.

Realtime Server-Schnittstelle

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. Weitere Informationen zum Schreiben von Echtzeit-Skripts und ein detailliertes Skriptbeispiel finden Sie unter. Erstellen eines Echtzeit-Skripts

Die Echtzeitschnittstelle bietet Zugriff auf die folgenden Objekte:

  • Sitzung

  • player

  • gameMessage

  • Konfiguration

Objekt „Realtime Session“

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

getPlayers()

Ruft eine Peer-Liste IDs für Spieler ab, die derzeit 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). Gruppe IDs muss eine positive Ganzzahl oder „-1" sein, um alle Gruppen anzugeben. Ein Beispiel Beispiel für ein Realtime Server-Skript für eine benutzerdefinierte Gruppe finden Sie unter. IDs

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 Spieleserver zu beenden. Diese Funktion muss vom Echtzeit-Skript aus aufgerufen werden, um eine Spielsitzung sauber zu beenden.

Syntax

rtSession.processEnding()

getGameSessionID ()

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 an einen Spielerempfänger, der den UDP Kanal verwendet. Identifizieren Sie den Empfänger anhand der Peer-ID des Spielers.

Syntax

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

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

Syntax

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Sendet eine mit newTextGameMessage oder newBinaryGameMessage erstellte Nachricht vom Realtime-Server an einen Spielerempfänger, der den TCP Kanal verwendet. Identifizieren Sie den Empfänger anhand der Peer-ID des Spielers.

Syntax

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupNachricht ()

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

Syntax

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameNachricht ()

Erstellt eine neue Nachricht mit Text, der mithilfe der SendMessage Funktionen vom Server an Spielerempfänger gesendet wird. Das Nachrichtenformat ähnelt dem im Realtime Client verwendeten Format SDK (sieheRTMessage). Gibt ein gameMessage-Objekt zurück.

Syntax

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameNachricht ()

Erzeugt eine neue Nachricht mit Binärdaten, die mithilfe der SendMessage Funktionen vom Server an Spielerempfänger gesendet werden soll. Das Nachrichtenformat ähnelt dem im Realtime Client verwendeten Format SDK (sieheRTMessage). Gibt ein gameMessage-Objekt zurück.

Syntax

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Spielerobjekt

Zugriff auf spielerbezogene Informationen.

Spieler. peerId

Eindeutige ID, die einem Spielclient zugewiesen wird, wenn er eine Verbindung zum Echtzeitserver herstellt und der Spielsitzung beitritt.

Spieler. playerSessionId

Sitzungs-ID des Spielers, auf die der Spielclient verwiesen hat, als er sich mit dem Echtzeitserver verbunden und der Spielsitzung beigetreten ist.

Objekt für Spielmitteilungen

Verwende 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 Nutzdaten der Spielnachricht als Text ab.

Syntax

gameMessage.getPayloadAsText()

gameMessage.opcode

Operationscode, der in einer Nachricht enthalten ist.

gameMessage. Nutzlast

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

gameMessage.Absender

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

gameMessage. zuverlässig

Boolescher Wert, der angibt, ob die Nachricht per TCP (true) oder UDP (false) gesendet wurde.

Konfigurationsobjekt

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

Konfiguration. maxPlayers

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

Der Standardwert 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 einwandfrei sind.

Die Standardeinstellung ist 3000 ms.