View a markdown version of this page

Go-Server-SDK für GameLift Amazon-Server -- Datentypen - GameLift Amazon-Server

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.

Go-Server-SDK für GameLift Amazon-Server -- Datentypen

Verwenden Sie die Server-SDK-Referenz, um Ihr Multiplayer-Spiel für das Hosting zu integrierenAmazon GameLift Servers. Hinweise zum Integrationsprozess finden Sie unterAddition GameLift Amazon-Server mit dem Server-SDK auf deinen Spieleserver.

GameLiftServerAPI.godefiniert die Go-Server-SDK-Aktionen.

Go-Server-SDK für GameLift Amazon-Server -- Aktionen

LogParameters

Ein Objekt, das Dateien identifiziert, die während einer Spielsitzung generiert wurden und die Sie nach Ende der Spielsitzung hochladen und speichern möchtenAmazon GameLift Servers. Der Spieleserver stellt LogParameters es Amazon GameLift Servers als Teil eines ProcessParameters Objekts in einem ProcessReady() Call zur Verfügung.

Eigenschaften

Beschreibung
LogPaths

Die Liste der Verzeichnispfade zu den Logdateien des Spielservers, die du für den zukünftigen Amazon GameLift Servers Zugriff speichern möchtest. Der Serverprozess generiert diese Dateien während jeder Spielsitzung. Du definierst Dateipfade und Namen auf deinem Spieleserver und speicherst sie im Root-Build-Verzeichnis des Spiels.

Die Log-Pfade müssen absolut sein. Wenn Ihr Spiele-Build beispielsweise Spielesitzungsprotokolle in einem Pfad wie speichertMyGame\sessionLogs\, dann würde sich der Pfad c:\game\MyGame\sessionLogs auf einer Windows-Instance befinden.

Typ: []string

Required: No

MetricsParameters

Ein Objekt, das Konfigurationsparameter zur Initialisierung des Metriksystems übermittelt. Diese Konfiguration wird verwendet, um StatsD-Berichte, Absturzberichte und das Verhalten bei der Verarbeitung von Metriken einzurichten. Der Spieleserver stellt MetricsParameters sie im Amazon GameLift Servers Rahmen eines InitMetrics() Anrufs zur Verfügung.

Eigenschaften

Beschreibung
StatsdHost

Der StatsD-Serverhost für die Berichterstattung über Messwerte (z. B. „localhost“).

Typ: string

Erforderlich: Ja

StatsdPort

Der StatsD-Serverport für die Berichterstattung über Messwerte (z. B. 8125).

Typ: int

Erforderlich: Ja

CrashReporterHost

Der Crash-Reporter-Host für die Absturzverfolgung und Prozessüberwachung.

Typ: string

Erforderlich: Ja

CrashReporterPort

Der Crash-Reporter-Port für Crash-Tracking und Prozessüberwachung.

Typ: int

Erforderlich: Ja

FlushIntervalMs

Das Meldeintervall der Metriken in Millisekunden. Steuert, wie oft Metriken an StatsD gesendet werden.

Typ: int

Erforderlich: Ja

MaxPacketSize

Die maximale Paketgröße für Metriken in Byte. Begrenzt die Größe der an StatsD gesendeten UDP-Pakete.

Typ: int

Erforderlich: Ja

ProcessParameters

Ein Objekt, das die Kommunikation zwischen einem Serverprozess und Amazon GameLift Servers beschreibt. Der Serverprozess stellt diese Informationen Amazon GameLift Servers mit einem Aufruf von zur VerfügungProcessReady().

Eigenschaften

Beschreibung
LogParameters Ein Objekt mit Verzeichnispfaden zu Dateien, die während einer Spielsitzung generiert werden. Amazon GameLift Serverskopiert und speichert die Dateien für den zukünftigen Zugriff.

Typ: LogParameters

Required: No

OnHealthCheck Die Callback-Funktion, die den Amazon GameLift Servers Serverprozess aufruft, um einen Integritätsbericht anzufordern. Amazon GameLift Serversruft diese Funktion alle 60 Sekunden auf und wartet 60 Sekunden auf eine Antwort. Der Serverprozess kehrt zurück, TRUE wenn er fehlerfrei ist, FALSE wenn nicht. Wenn keine Antwort zurückgegeben wird, wird der Amazon GameLift Servers Serverprozess als fehlerhaft aufgezeichnet.

Typ: OnHealthCheck func() bool

Required: No

OnProcessTerminate Die Callback-Funktion, die Amazon GameLift Servers aufgerufen wird, um das Herunterfahren des Serverprozesses zu erzwingen. Amazon GameLift ServersWartet nach dem Aufrufen dieser Funktion 5 Minuten, bis der Serverprozess heruntergefahren ist, und reagiert mit einem ProcessEnding() Aufruf, bevor der Serverprozess heruntergefahren wird.

Typ: OnProcessTerminate func()

Erforderlich: Ja

OnStartGameSession Die Callback-Funktion, die Amazon GameLift Servers aufgerufen wird, um ein aktualisiertes Spielsitzungsobjekt an den Serverprozess zu übergeben. Amazon GameLift Serversruft diese Funktion auf, wenn eine Match-Backfill-Anfrage verarbeitet wurde, um aktualisierte Matchmaker-Daten bereitzustellen. Es übergibt ein GameSession Objekt, eine Statusaktualisierung (updateReason) und die Match-Backfill-Ticket-ID.

Typ: OnStartGameSession func (model.GameSession )

Erforderlich: Ja

OnUpdateGameSession Die Callback-Funktion, die Amazon GameLift Servers aufgerufen wird, um aktualisierte Informationen zur Spielsitzung an den Serverprozess weiterzuleiten. Amazon GameLift Serversruft diese Funktion auf, nachdem eine Match-Backfill-Anfrage verarbeitet wurde, um aktualisierte Matchmaker-Daten bereitzustellen.

Typ: OnUpdateGameSession func (model.UpdateGameSession)

Required: No

Port Die Portnummer, auf die der Serverprozess auf Verbindungen neuer Spieler wartet. Der Wert muss innerhalb des Port-Bereich liegen, der für eine Flotte definiert wurde, die diesen Spiel-Server-Build verwendet. Diese Portnummer ist in Spielsitzungs- und Spielersitzungsobjekten enthalten, die die Spielsitzungen bei der Verbindung mit einem Serverprozess verwenden.

Typ: int

Erforderlich: Ja

UpdateGameSession

Die Aktualisierungen eines Spielsitzungsobjekts, einschließlich des Grundes, aus dem die Spielsitzung aktualisiert wurde, und der zugehörigen Auffüllticket-ID, falls das Backfill verwendet wird, um Spielersitzungen in der Spielsitzung zu füllen.

Eigenschaften Beschreibung
GameSession Ein GameSession-Objekt. Das GameSession Objekt enthält Eigenschaften, die eine Spielsitzung beschreiben.

Typ: GameSession GameSession()

Erforderlich: Ja

UpdateReason Der Grund, warum die Spielsitzung aktualisiert wird.

Typ: UpdateReason UpdateReason()

Erforderlich: Ja

BackfillTicketId Die ID des Backfill-Tickets, das versucht, die Spielsitzung zu aktualisieren.

Typ: String

Required: No

GameSession

Die Details einer Spielsitzung.

Eigenschaften Beschreibung
GameSessionId

Eine eindeutige Kennung für die Spielsitzung. Der Amazon-Ressourcenname (ARN) einer Spielsitzung hat das folgende Format:arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

Typ: String

Required: No

Name

Eine beschreibende Bezeichnung der Spielsitzung.

Typ: String

Required: No

FleetId

Eine eindeutige Kennung für die Flotte, auf der die Spielsitzung läuft.

Typ: String

Required: No

MaximumPlayerSessionCount

Die maximale Anzahl von Spielerverbindungen zur Spielsitzung.

Typ: Integer

Required: No

Port

Die Portnummer für die Spielsitzung. Um eine Verbindung zu einem Amazon GameLift Servers Spieleserver herzustellen, benötigt eine App sowohl die IP-Adresse als auch die Portnummer.

Typ: Integer

Required: No

IpAddress

Die IP-Adresse der Spielsitzung. Um eine Verbindung zu einem Amazon GameLift Servers Spieleserver herzustellen, benötigt eine App sowohl die IP-Adresse als auch die Portnummer.

Typ: String

Required: No

GameSessionData

Eine Reihe von benutzerdefinierten Spielsitzungseigenschaften, die als einzelner Zeichenfolgenwert formatiert sind.

Typ: String

Required: No

MatchmakerData

Die Informationen über den Matchmaking-Prozess, der zur Erstellung der Spielsitzung verwendet wurde, in JSON-Syntax, formatiert als Zeichenfolge. Zusätzlich zur verwendeten Matchmaking-Konfiguration enthält es Daten über alle Spieler, die dem Spiel zugewiesen wurden, einschließlich Spielerattributen und Teamzuweisungen.

Typ: String

Required: No

GameProperties

Eine Reihe von benutzerdefinierten Eigenschaften für eine Spielsitzung, formatiert als Schlüssel/Wert-Paare. Diese Eigenschaften werden zusammen mit der Anfrage übergeben, eine neue Spielsitzung zu starten.

Typ: map[string] string

Required: No

DnsName

Die DNS-ID, die der Instanz zugewiesen ist, auf der die Spielsitzung ausgeführt wird. Die Werte haben das folgende Format:

  • TLS-enabled Flotten:<unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled Flotten:. ec2-<unique identifier>.compute.amazonaws.com

Wenn du dich mit einer Spielsitzung verbindest, die auf einer TLS-enabled Flotte läuft, musst du den DNS-Namen und nicht die IP-Adresse verwenden.

Typ: String

Required: No

ServerParameters

Informationen, die zur Aufrechterhaltung der Verbindung zwischen einem Amazon GameLift Servers Anywhere-Server und dem Amazon GameLift Servers Dienst verwendet werden. Diese Informationen werden verwendet, wenn neue Serverprozesse mit gestartet InitSDK() werden. Verwenden Sie für Server, die auf Amazon GameLift Servers verwalteten EC2-Instances gehostet werden, ein leeres Objekt.

Eigenschaften Beschreibung
WebSocketURL

Das wird GameLiftServerSdkEndpoint Amazon GameLift Servers zurückgegeben, wenn Sie RegisterCompute eine Amazon GameLift Servers Anywhere-Rechenressource verwenden.

Typ: string

Erforderlich: Ja

ProcessID

Eine eindeutige Kennung, die für den Serverprozess registriert ist, der dein Spiel hostet.

Typ: string

Erforderlich: Ja

HostID

Die eindeutige Kennung der Rechenressource, die den neuen Serverprozess hostet.

Der HostID wird ComputeName verwendet, als Sie Ihren Computer registriert haben. Weitere Informationen finden Sie unter RegisterCompute.

Typ: string

Erforderlich: Ja

FleetID Die eindeutige Kennung der Flotte, für die der Computer registriert ist. Weitere Informationen finden Sie unter RegisterCompute.

Typ: string

Erforderlich: Ja

AuthToken Das dadurch Amazon GameLift Servers generierte Authentifizierungstoken authentifiziert Ihren Server beiAmazon GameLift Servers. Weitere Informationen finden Sie unter GetComputeAuthToken.

Typ: string

Erforderlich: Ja

StartMatchBackfillRequest

Informationen, die zur Erstellung einer Matchmaking-Backfill-Anfrage verwendet wurden. Der Spieleserver teilt diese Informationen Amazon GameLift Servers in einem Anruf mit. StartMatchBackfill()

Eigenschaften Beschreibung
GameSessionArn

Die eindeutige Kennung der Spielsitzung. Die API-Operation GetGameSessionId gibt die Kennung im ARN-Format zurück.

Typ: String

Erforderlich: Ja

MatchmakingConfigurationArn

Die eindeutige Kennung (in Form einer ARN), die der Matchmaker für diese Anfrage verwenden soll. Der Matchmaker-ARN für die ursprüngliche Spielsitzung befindet sich im Spielsitzungsobjekt in der Matchmaker-Dateneigenschaft. Weitere Informationen zu Matchmaker-Daten finden Sie unter Arbeiten mit Matchmaker-Daten.

Typ: String

Erforderlich: Ja

Players

Ein Datensatz, der alle Spieler repräsentiert, die sich gerade in der Spielsitzung befinden. Der Matchmaker verwendet diese Informationen, um nach neuen Spielern zu suchen, die zu den aktuellen Spielern passen.

Typ: []model.Player

Erforderlich: Ja

TicketId

Die eindeutige Kennung für ein Matchmaking- oder Match-Backfill-Anfrageticket. Wenn Sie keinen Wert angeben, wird ein Wert Amazon GameLift Servers generiert. Verwenden Sie diesen Bezeichner, um den Status des Backfill-Tickets zu verfolgen oder die Anfrage bei Bedarf abzubrechen.

Typ: String

Required: No

Player

Das Objekt, das einen Spieler beim Matchmaking repräsentiert. Wenn eine Matchmaking-Anfrage gestartet wird, hat ein Spieler eine Spieler-ID, Attribute und möglicherweise Latenzdaten. Amazon GameLift Serversfügt Teaminformationen hinzu, nachdem ein Spiel stattgefunden hat.

Eigenschaften Beschreibung
LatencyInFRAU

Eine Reihe von Werten, ausgedrückt in Millisekunden, die die Latenz angeben, die ein Spieler erlebt, wenn er mit einem Standort verbunden ist.

Wenn diese Eigenschaft verwendet wird, wird der Spieler nur für die aufgelisteten Orte gefunden. Wenn ein Matchmaker eine Regel hat, die die Latenz der Spieler auswertet, müssen die Spieler die zu vergleichende Latenz melden.

Typ: map[string] int

Required: No

PlayerAttributes

Eine Sammlung von Schlüssel-Wert-Paaren, die Spielerinformationen zur Verwendung bei der Spielersuche enthalten. Die Attributschlüssel der Spieler müssen mit den in einem Matchmaking-Regelsatz PlayerAttributes verwendeten übereinstimmen.

Weitere Informationen zu Spielerattributen finden Sie unter AttributeValue.

Typ: map[string] AttributeValue

Required: No

PlayerId

Eine eindeutige Kennung für einen Spieler.

Typ: String

Required: No

Team

Der Name der Mannschaft, der der Spieler in einem Spiel zugewiesen wird. Den Teamnamen definierst du im Matchmaking-Regelsatz.

Typ: String

Required: No

DescribePlayerSessionsRequest

Ein Objekt, das angibt, welche Spielersitzungen abgerufen werden sollen. Der Serverprozess stellt diese Informationen mit einem DescribePlayerSessions() Aufruf von zur VerfügungAmazon GameLift Servers.

Eigenschaften Beschreibung
GameSessionID

Eine eindeutige Kennung der Spielsitzung. Verwenden Sie diesen Parameter, um alle Spielersitzungen für die angegebene Spielsitzung anzufragen.

Das Format der Spielsitz-ID istarn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>. Das GameSessionID ist eine benutzerdefinierte ID-Zeichenfolge oder eine generierte Zeichenfolge.

Typ: String

Required: No

PlayerSessionID

Die eindeutige Kennung für eine Spielersitzung. Verwenden Sie diesen Parameter, um eine einzelne bestimmte Spielersitzung anzufordern.

Typ: String

Required: No

PlayerID

Die eindeutige Kennung für einen Spieler. Verwenden Sie diesen Parameter, um alle Spielersitzungen für einen bestimmten Spieler anzufordern. Siehe Spieler generieren IDs.

Typ: String

Required: No

PlayerSessionStatusFilter

Der Sitzungsstatus des Spielers, nach dem die Ergebnisse gefiltert werden sollen. Zu den möglichen Statuswerten der Spielersitzungen gehören:

  • RESERVIERT — Die Anfrage zur Spielersitzung wurde empfangen, aber der Spieler hat keine Verbindung zum Serverprozess hergestellt oder wurde nicht validiert.

  • AKTIV — Der Player wurde vom Serverprozess validiert und ist verbunden.

  • ABGESCHLOSSEN — Die Spielerverbindung wurde unterbrochen.

  • TIMEDOUT — Eine Anfrage für eine Spielersitzung wurde empfangen, aber der Spieler hat keine Verbindung hergestellt oder wurde nicht innerhalb des Timeout-Limits (60 Sekunden) bestätigt.

Typ: String

Required: No

NextToken

Das Token, das den Anfang der nächsten Ergebnisseite angibt. Geben Sie keinen Wert an, um den Anfang der Ergebnismenge anzugeben. Wenn Sie eine Player-Sitzungs-ID angeben, wird dieser Parameter ignoriert.

Typ: String

Required: No

Limit

Die maximale Anzahl der auszugebenden Ergebnisse. Wenn Sie eine Player-Sitzungs-ID angeben, wird dieser Parameter ignoriert.

Typ: int

Required: No

StopMatchBackfillRequest

Informationen, die verwendet wurden, um eine Matchmaking-Backfill-Anfrage zu stornieren. Der Spieleserver übermittelt diese Informationen in einem Anruf an den Amazon GameLift Servers Service. StopMatchBackfill()

Eigenschaften Beschreibung
GameSessionArn

Die eindeutige Spielsitzungs-ID der Anfrage, die storniert wird.

Typ: string

Required: No

MatchmakingConfigurationArn

Die eindeutige Kennung des Matchmakers, an den diese Anfrage gesendet wurde.

Typ: string

Required: No

TicketId

Die eindeutige Kennung des Backfill-Anforderungstickets, das storniert werden soll.

Typ: string

Required: No

GetFleetRoleCredentialsRequest

Die Rollenzugangsdaten, die den eingeschränkten Zugriff auf deine AWS Ressourcen auf den Spielserver gewähren. Weitere Informationen finden Sie unter Richten Sie eine IAM-Servicerolle ein für Amazon GameLift Servers.

Eigenschaften Beschreibung
RoleArn Der ARN der Servicerolle, die den eingeschränkten Zugriff auf Ihre AWS Ressourcen gewährt.

Typ: string

Erforderlich: Ja

RoleSessionName Der Name der Sitzung, die die Verwendung der Rollenanmeldeinformationen beschreibt.

Typ: string

Erforderlich: Ja