Amazon GameLift 服務器開發套件(Go)參考:數據類型 - Amazon GameLift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon GameLift 服務器開發套件(Go)參考:數據類型

您可以使用此 Amazon GameLift Go 伺服器開發套件參考來協助您準備好與 Amazon 搭配使用的多人遊戲 GameLift。如需有關整合程序的詳細資訊,請參閱添加 Amazon GameLift 到您的遊戲服務器

LogParameters

識別在遊戲工作階段期間產生的物件,您希望 Amazon GameLift 在遊戲工作階段結束後上傳和存放的檔案。遊戲服務器提供LogParameters給 Amazon GameLift 作為ProcessReady()調用ProcessParameters對象的一部分。

屬性

Description
LogPaths

您希望 Amazon GameLift 存放以供 future 來存取的遊戲伺服器記錄檔的目錄路徑清單。服務器進程在每個遊戲會話期間生成這些文件。您可以在遊戲伺服器中定義檔案路徑和名稱,並將它們儲存在根遊戲建置目錄中。

記錄檔路徑必須是絕對的。例如,如果您的遊戲組建將遊戲工作階段記錄儲存在路徑中MyGame\sessionLogs\,則路徑將位於 Windows 執行個體c:\game\MyGame\sessionLogs上。

Type (類型)[]string

必要:否

ProcessParameters

描述服務器進程和 Amazon 之間通信的對象 GameLift。伺服器處理序會將此資訊提供給 Amazon GameLift ,並呼叫ProcessReady()

屬性

Description
LogParameters 具有遊戲階段作業期間所產生之檔案目錄路徑的物件。Amazon GameLift 複製和存儲文件以供 future 訪問。

Type (類型)LogParameters

必要:否

OnHealthCheck Amazon 呼 GameLift 叫以從伺服器處理序要求健康狀態報告的回呼函數。Amazon 每 60 秒 GameLift 調用一次此函數,並等待 60 秒進行響應。如果狀況不良,TRUE則伺服器處理序FALSE會傳回狀況良好。如果沒有回應傳回,Amazon 會將伺服器處理序 GameLift 記錄為狀況不良。

Type (類型)OnHealthCheck func() bool

必要:否

OnProcessTerminate Amazon GameLift 調用以強制服務器進程關閉的回調函數。呼叫此函數之後,Amazon 會 GameLift 等待 5 分鐘讓伺服器處理序關閉並回應呼ProcessEnding()叫,然後再關閉伺服器處理序。

Type (類型)OnProcessTerminate func()

必要:是

OnStartGameSession Amazon GameLift 調用將更新的遊戲會話對象傳遞給服務器進程的回調函數。Amazon 會在處理比賽回填請求以提供更新的分房系統資料時 GameLift 呼叫此函數。它傳遞一個GameSession對象,一個狀態更新(updateReason)和匹配回填票證 ID。

Type (類型)OnStartGameSession func (model.GameSession )

必要:是

OnUpdateGameSession Amazon GameLift 調用將更新的遊戲會話信息傳遞給服務器進程的回調函數。Amazon 在處理比賽回填請求後 GameLift 呼叫此函式,以提供更新的分房系統資料。

Type (類型)OnUpdateGameSession func (model.UpdateGameSession)

必要:否

Port 伺服器處理序偵聽新播放程式連線的連接埠號碼。值必須屬於為部署此遊戲伺服器組建之機群所設定的連接埠範圍。此連接埠號碼包含在遊戲工作階段和遊戲工作階段物件中,遊戲工作階段會使用該物件來連接到伺服器程序。

Type (類型)int

必要:是

UpdateGameSession

遊戲工作階段物件的更新,其中包括更新遊戲工作階段的原因,以及如果使用回填填補充遊戲工作階段中的玩家工作階段,則相關的回填票證 ID。

屬性 Description
GameSession 由 Amazon GameLift API 定義的GameSession對象。GameSession物件包含描述遊戲工作階段的屬性。

Type (類型)GameSession GameSession()

必要:是

UpdateReason 遊戲工作階段正在更新的原因。

Type (類型)UpdateReason UpdateReason()

必要:是

BackfillTicketId 嘗試更新遊戲工作階段的回填票證 ID。

Type (類型)String

必要:否

GameSession

一個遊戲會話的細節。

屬性 Description
GameSessionId

遊戲工作階段的唯一識別碼。遊戲會話 Amazon 資源名稱(ARN)具有以下格式:arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>

Type (類型)String

必要:否

名稱

遊戲工作階段的描述性標籤。

Type (類型)String

必要:否

FleetId

執行遊戲工作階段之叢集的唯一識別碼。

Type (類型)String

必要:否

MaximumPlayerSessionCount

與遊戲工作階段的玩家連線數目上限。

Type (類型)Integer

必要:否

連線埠

遊戲工作階段的連接埠號碼。若要連線到 Amazon GameLift 遊戲伺服器,應用程式需要 IP 位址和連接埠號碼。

Type (類型)Integer

必要:否

IpAddress

遊戲工作階段的 IP 位址。若要連線到 Amazon GameLift 遊戲伺服器,應用程式需要 IP 位址和連接埠號碼。

Type (類型)String

必要:否

GameSessionData

一組自訂遊戲工作階段屬性,格式為單一字串值。

Type (類型)String

必要:否

MatchmakerData

關於用來建立遊戲工作階段的配對程序資訊,以 JSON 語法格式化為字串。除了使用的配對配置外,它還包含了所有指定給比賽的玩家的數據,包括球員屬性和團隊分配。

Type (類型)String

必要:否

GameProperties

遊戲工作階段的一組自訂屬性,格式化為 key: value 配對。這些屬性會與啟動新遊戲工作階段的要求一起傳遞。

Type (類型)map[string] string

必要:否

DnsName

指派給執行遊戲工作階段之執行個體的 DNS 識別碼。值的格式如下:

  • 具備 TLS 功能的叢集:。<unique identifier>.<region identifier>.amazongamelift.com

  • 未啟用 TLS 的叢集:ec2-<unique identifier>.compute.amazonaws.com

連線至已啟用 TLS 的叢集上執行的遊戲工作階段時,您必須使用 DNS 名稱,而非 IP 位址。

Type (類型)String

必要:否

ServerParameters

用於維護 Amazon 服務 GameLift Anywhere器和 Amazon 服 GameLift 務之間連接的信息。使用啟動新伺服器處理序時會使用此資訊InitSDK()。對於託管在 Amazon GameLift 受管 EC2 執行個體上的伺服器,請使用空物件。

屬性 Description
WebSocketURL

GameLiftServerSdkEndpointAmazon GameLift 返回時,你RegisterCompute的 Amazon GameLift Anywhere 計算資源。

Type (類型)string

必要:是

ProcessID

註冊到託管您遊戲的伺服器處理序的唯一識別碼。

Type (類型)string

必要:是

HostID

託管新伺服器處理序之計算資源的唯一識別碼。

HostID這是您註冊運算時ComputeName使用的。如需詳細資訊,請參閱RegisterCompute

Type (類型)string

必要:是

FleetID 計算所註冊之叢集的唯一識別碼。如需詳細資訊,請參閱RegisterCompute

Type (類型)string

必要:是

AuthToken Amazon 生成的身份驗證令牌 GameLift ,用於向 Amazon 驗證您的服務器。 GameLift如需詳細資訊,請參閱GetComputeAuthToken

Type (類型)string

必要:是

StartMatchBackfillRequest

用於建立配對回填請求的資訊。遊戲服務器通過電話將此信息傳達StartMatchBackfill()給 Amazon GameLift 。

屬性 Description
GameSessionArn

唯一的遊戲工作階段識別碼。該 API 操作GetGameSessionId返回 ARN 格式的標識符。

Type (類型)String

必要:是

MatchmakingConfigurationArn

分房系統用於此要求的唯一識別碼 (以 ARN 的形式)。原始遊戲工作階段的分房系統 ARN 位於分房系統資料屬性中的遊戲工作階段物件中。如需分房系統資料的詳細資訊,請參閱使用分房系統資料。

Type (類型)String

必要:是

Players

一組數據,代表當前在遊戲會話中的所有玩家。配對建構器使用此項資訊搜尋適合配對現有玩家的新玩家。

Type (類型)[]model.Player

必要:是

TicketId

配對或配對回填請求票證的唯一識別碼。如果你不提供一個值,Amazon GameLift 生成一個。您可使用此識別項依據需求追蹤配對回填票證狀態或取消要求。

Type (類型)String

必要:否

Player

代表配對中玩家的物件。當配對要求開始時,玩家會擁有玩家 ID、屬性以及可能的延遲資料。Amazon 在比賽進行後 GameLift 添加球隊信息。

屬性 Description
LatencyIn女士

以毫秒為單位表示的一組值,表示玩家連線至某個位置時所經歷的延遲量。

如果使用此屬性,則播放器僅匹配列出的位置。若配對構建器有評估玩家延遲的規則,玩家則必須回報延遲度,方可配對。

Type (類型)map[string] int

必要:否

PlayerAttributes

包含可用於配對的玩家資訊的 key: 值組合集合。玩家屬性鍵必須與配對規則集中 PlayerAttributes 使用的鍵相符。

如需播放程式屬性的詳細資訊,請參閱AttributeValue

Type (類型)map[string] AttributeValue

必要:否

PlayerId

玩家的唯一識別碼。

Type (類型)String

必要:否

團隊

球員在比賽中被分配到的球隊名稱。您可以在配對規則集中定義小組名稱。

Type (類型)String

必要:否

DescribePlayerSessionsRequest

指定要擷取哪些玩家工作階段的物件。服務器進程通過DescribePlayerSessions()致電 Amazon 提供此信息 GameLift。

屬性 Description
GameSessionID

唯一的遊戲工作階段識別碼。請使用此參數要求特定遊戲工作階段的所有玩家工作階段。

遊戲工作階段 ID 格式為arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>. GameSessionID是自訂 ID 字串或產生的字串。

Type (類型)String

必要:否

PlayerSessionID

玩家工作階段的唯一識別碼。使用此參數可要求單一特定玩家工作階段。

Type (類型)String

必要:否

PlayerID

玩家的唯一識別碼。使用此參數可要求特定玩家的所有玩家工作階段。請參閱 產生玩家 ID

Type (類型)String

必要:否

PlayerSessionStatusFilter

用於篩選結果的玩家工作階段狀態。玩家工作階段狀態可能包括:

  • 保留 — 已收到播放器工作階段要求,但播放程式尚未連線至伺服器處理序或已驗證。

  • 作用中 — 播放程式已由伺服器處理序驗證並已連線。

  • 已完成 — 玩家連線中斷。

  • TIMEDOUT — 收到玩家工作階段要求,但玩家沒有連線或未在逾時限制 (60 秒) 內驗證。

Type (類型)String

必要:否

NextToken

表示下一頁結果開始的令牌。若要指定結果集的開頭,請勿提供值。如果您提供玩家工作階段 ID,則會忽略此參數。

Type (類型)String

必要:否

Limit

回傳結果的數量上限。如果您提供玩家工作階段 ID,則會忽略此參數。

Type (類型)int

必要:否

StopMatchBackfillRequest

用於取消配對回填要求的資訊。遊戲服務器在通話中將此信息傳達StopMatchBackfill()給 Amazon GameLift 服務。

屬性 Description
GameSessionArn

要求取消的唯一遊戲工作階段識別碼。

Type (類型)string

必要:否

MatchmakingConfigurationArn

傳送此要求的分房系統的唯一識別碼。

Type (類型)string

必要:否

TicketId

要取消之回填要求票證的唯一識別碼。

Type (類型)string

必要:否

GetFleetRoleCredentialsRequest

將有限AWS資源存取權限延伸到遊戲伺服器的角色認證。若要取得更多資訊,請參閱為 Amazon 設置 IAM 服務角色 GameLift

屬性 Description
RoleArn 服務角色的 ARN,可延伸對AWS資源的有限存取權限。

Type (類型)string

必要:是

RoleSessionName 說明使用角色證明資料之工作階段的名稱。

Type (類型)string

必要:是