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.
Amazon GameLift ServersRealtimeSchnittstelle
Wenn ein Amazon GameLift Servers 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 Realtime-Skripts und sehen Sie sich ein detailliertes Skriptbeispiel in Ein Realtime Skript erstellen an.
Die Realtime-Schnittstelle ermöglicht den 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 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). Die Gruppe IDs muss eine positive Ganzzahl oder „-1" sein, um alle Gruppen anzugeben. Ein Beispiel Amazon GameLift ServersRealtimeBeispiel für ein 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 das Beenden des Spielservers durch den Realtime-Server aus. Diese Funktion muss aus dem Realtime-Skript aufgerufen werden, um eine Spielsitzung ordnungsgemäß 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". Beispiel: logger.info("<string>")
.
Syntax
rtSession.getLogger()
sendMessage()
Sendet eine mit newTextGameMessage
oder newBinaryGameMessage
erstellte Nachricht vom Realtime-Server an einen Spielerempfänger über den UDP-Kanal. 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 einer Spielergruppe über den UDP-Kanal. Gruppe IDs muss eine positive Ganzzahl oder „-1" sein, um alle Gruppen anzugeben. Ein Beispiel Amazon GameLift ServersRealtimeBeispiel für ein 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 über den TCP-Kanal. Identifizieren Sie den Empfänger anhand der Peer-ID des Spielers.
Syntax
rtSession.sendReliableMessage(gameMessage, targetPlayer)
sendReliableGroupNachricht ()
Sendet eine Nachricht, die mit newTextGameMessage
oder newBinaryGameMessage
erstellt wurde, vom Realtime-Server an alle Spieler einer Spielergruppe über den TCP-Kanal. Gruppe IDs , die eine positive Ganzzahl oder „-1" sein muss, um alle Gruppen anzugeben. Ein Beispiel Amazon GameLift ServersRealtimeBeispiel für ein 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 Format, das im Client-SDK für verwendet wird Realtime (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 Format, das im Client-SDK für verwendet wird Realtime (sieheRTMessage). Gibt ein gameMessage
-Objekt zurück.
Syntax
rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)
Spielerobjekt
Zugriff auf spielerbezogene Informationen.
player.peerId
Eindeutige ID, die einem Spiel-Client zugewiesen wird, wenn er sich mit dem Realtime-Server verbindet und an der Spielsitzung teilnimmt.
Spieler. playerSessionId
Spielersitzungs-ID, auf die der Spiel-Client verwiesen hat, als er sich mit dem Realtime-Server verband 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 Nutzdaten 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.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.