GameLift Amazon-Server SDK für Go: Datentypen - 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.

GameLift Amazon-Server SDK für Go: Datentypen

Verwenden Sie die Amazon GameLift Go Server SDK 5.x-Referenz, um Ihr Multiplayer-Spiel für das Hosting bei Amazon GameLift zu integrieren. Hinweise zum Integrationsprozess finden Sie unterFüge Amazon GameLift zu deinem Spieleserver hinzu.

GameLiftServerAPI.godefiniert die SDK Go-Serveraktionen.

GameLift Amazon-Server SDK für Go: Aktionen

LogParameters

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

Eigenschaften

Beschreibung
LogPaths

Die Liste der Verzeichnispfade zu den Spielserver-Protokolldateien, die Amazon für GameLift den future Zugriff speichern soll. Der Serverprozess generiert diese Dateien bei jeder Spielsitzung. Du definierst Dateipfade und -namen auf deinem Spieleserver und speicherst sie im Hauptverzeichnis des Spiels.

Die Protokollpfade müssen absolut sein. Wenn Ihr Spielbuild beispielsweise Spielesitzungsprotokolle in einem Pfad wie speichertMyGame\sessionLogs\, dann wäre der Pfad c:\game\MyGame\sessionLogs auf einer Windows-Instanz.

Typ: []string

Required: No

ProcessParameters

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

Eigenschaften

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

Typ: LogParameters

Required: No

OnHealthCheck Die Callback-Funktion, die Amazon GameLift aufruft, um einen Gesundheitsstatusbericht vom Serverprozess anzufordern. Amazon GameLift ruft 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, GameLift zeichnet Amazon den Serverprozess als fehlerhaft auf.

Typ: OnHealthCheck func() bool

Required: No

OnProcessTerminate Die Callback-Funktion, die Amazon GameLift aufruft, um das Herunterfahren des Serverprozesses zu erzwingen. Nach dem Aufruf dieser Funktion GameLift wartet Amazon 5 Minuten, bis der Serverprozess heruntergefahren ist, und antwortet mit einem ProcessEnding() Anruf, bevor der Serverprozess heruntergefahren wird.

Typ: OnProcessTerminate func()

Erforderlich: Ja

OnStartGameSession Die Callback-Funktion, die Amazon GameLift aufruft, um ein aktualisiertes Spielsitzungsobjekt an den Serverprozess zu übergeben. Amazon GameLift ruft diese Funktion auf, wenn eine Match-Backfill-Anfrage bearbeitet wurde, um aktualisierte Matchmaker-Daten bereitzustellen. Sie übergibt ein GameSession Objekt, eine Statusmeldung (updateReason) und die Match-Backfill-Ticket-ID.

Typ: OnStartGameSession func (model.GameSession )

Erforderlich: Ja

OnUpdateGameSession Die Callback-Funktion, die Amazon GameLift aufruft, um aktualisierte Spielsitzungsinformationen an den Serverprozess weiterzuleiten. Amazon GameLift ruft diese Funktion nach der Bearbeitung einer Match-Backfill-Anfrage auf, um aktualisierte Matchmaker-Daten bereitzustellen.

Typ: OnUpdateGameSession func (model.UpdateGameSession)

Required: No

Port Die Portnummer, auf der der Serverprozess nach neuen Spielerverbindungen sucht. 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, das den Grund für die Aktualisierung der Spielsitzung und die zugehörige Backfill-Ticket-ID enthält, falls 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. Eine Spielsitzung Amazon Resource Name (ARN) 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 GameLift Amazon-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 GameLift Amazon-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 zu allen Spielern, 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 Aufforderung, eine neue Spielsitzung zu starten, übergeben.

Typ: map[string] string

Required: No

DnsName

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

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

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

Wenn du eine Verbindung zu einer Spielsitzung herstellst, die auf einer Flotte mit TLS aktivierter Option läuft, musst du den DNS Namen verwenden, nicht die IP-Adresse.

Typ: String

Required: No

ServerParameters

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

Eigenschaften Beschreibung
WebSocketURL

Der GameLiftServerSdkEndpoint Amazon GameLift kehrt zurück, wenn Sie RegisterComputefür einen Amazon GameLift Anywhere Rechenressource.

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.

Das HostID ist die, die bei der Registrierung Ihres Computers ComputeName verwendet wurde. Weitere Informationen finden Sie unter RegisterCompute.

Typ: string

Erforderlich: Ja

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

Typ: string

Erforderlich: Ja

AuthToken Das von Amazon generierte Authentifizierungstoken GameLift , das Ihren Server bei Amazon GameLift authentifiziert. Weitere Informationen finden Sie unter GetComputeAuthToken.

Typ: string

Erforderlich: Ja

StartMatchBackfillRequest

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

Eigenschaften Beschreibung
GameSessionArn

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

Typ: String

Erforderlich: Ja

MatchmakingConfigurationArn

Die eindeutige Kennung (in Form einerARN), die der Matchmaker für diese Anfrage verwenden soll. Der Matchmaker ARN für die ursprüngliche Spielsitzung befindet sich im Objekt der Spielsitzung in der Eigenschaft Matchmaker-Daten. 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, GameLift generiert Amazon einen. 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 darstellt. Wenn eine Matchmaking-Anfrage gestartet wird, hat ein Spieler eine Spieler-ID, Attribute und möglicherweise Latenzdaten. Amazon GameLift fügt Teaminformationen hinzu, nachdem ein Spiel ausgetragen wurde.

Eigenschaften Beschreibung
LatencyInMS

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 Player nur für die aufgelisteten Standorte abgeglichen. 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 Spielerzuweisung enthalten. Die Schlüssel der Spielerattribute 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. Sie definieren den Teamnamen im Matchmaking-Regelsatz.

Typ: String

Required: No

DescribePlayerSessionsRequest

Ein Objekt, das angibt, welche Spielersitzungen abgerufen werden sollen. Der Serverprozess liefert diese Informationen mit einem DescribePlayerSessions() Aufruf an Amazon GameLift.

Eigenschaften Beschreibung
GameSessionID

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

Das Format der Spielsitzungs-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 spezifische 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 Generieren Sie Spieler-IDs.

Typ: String

Required: No

PlayerSessionStatusFilter

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

  • RESERVED— Die Anfrage für die Spielersitzung wurde empfangen, aber der Spieler hat keine Verbindung zum Serverprozess hergestellt oder wurde nicht validiert.

  • ACTIVE— Der Spieler wurde durch den Serverprozess validiert und ist verbunden.

  • COMPLETED— 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 Timeouts (60 Sekunden) bestätigt.

Typ: String

Required: No

NextToken

Das Token, das den Beginn der nächsten Ergebnisseite anzeigt. Um den Anfang der Ergebnismenge anzugeben, geben Sie keinen Wert an. Wenn Sie eine Spielersitzungs-ID angeben, wird dieser Parameter ignoriert.

Typ: String

Required: No

Limit

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

Typ: int

Required: No

StopMatchBackfillRequest

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

Eigenschaften Beschreibung
GameSessionArn

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

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 Tickets für die Backfill-Anfrage, das storniert werden soll.

Typ: string

Required: No

GetFleetRoleCredentialsRequest

Die Zugangsdaten für die Rolle, mit denen der eingeschränkte Zugriff auf deine AWS Ressourcen auf den Spielserver ausgedehnt wird. Weitere Informationen finden Sie unter Richten Sie eine IAM Servicerolle für Amazon ein GameLift.

Eigenschaften Beschreibung
RoleArn Die ARN Servicerolle, die den eingeschränkten Zugriff auf Ihre AWS Ressourcen erweitert.

Typ: string

Erforderlich: Ja

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

Typ: string

Erforderlich: Ja