本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon GameLift Server SDK for Go:資料類型
使用 Amazon GameLift Go 伺服器 SDK 5.x 參考,整合您的多人遊戲以與 Amazon 託管 GameLift。如需整合程序的指引,請參閱 將 Amazon GameLift 新增至您的遊戲伺服器。
GameLiftServerAPI.go
定義 Go 伺服器SDK動作。
Amazon GameLift Server SDK for Go: 動作
資料類型
LogParameters
識別在遊戲工作階段期間產生的物件,您希望 Amazon 在遊戲工作階段結束後 GameLift 上傳和儲存該物件。遊戲伺服器會將 LogParameters
提供給 Amazon, GameLift 作為ProcessReady()呼叫中ProcessParameters
物件的一部分。
屬性 |
Description |
LogPaths |
您希望 Amazon GameLift 儲存供日後存取的遊戲伺服器日誌檔案的目錄路徑清單。伺服器程序會在每個遊戲工作階段期間產生這些檔案。您可以在遊戲伺服器中定義檔案路徑和名稱,並將其存放在根遊戲建置目錄中。 日誌路徑必須是絕對的。例如,如果您的遊戲組建將遊戲工作階段日誌儲存在如 的路徑中 Type (類型): 必要:否 |
ProcessParameters
描述伺服器程序與 Amazon 之間的通訊的物件 GameLift。伺服器程序 GameLift 透過呼叫 將此資訊提供給 AmazonProcessReady()。
屬性 |
Description |
LogParameters |
具有在遊戲工作階段期間產生之檔案的目錄路徑的物件。Amazon 會 GameLift 複製和存放檔案以供日後存取。 Type (類型): 必要:否 |
OnHealthCheck |
Amazon 從伺服器程序 GameLift 叫用以請求運作狀態報告的回呼函數。Amazon 每 60 秒 GameLift 呼叫一次此函數,並等待 60 秒進行回應。伺服器程序TRUE 會在運作狀態良好時傳回,FALSE 若運作狀態不佳則傳回。如果未傳回任何回應,Amazon 會將伺服器程序 GameLift 記錄為運作不良。Type (類型): 必要:否 |
OnProcessTerminate |
Amazon GameLift 調用以強制伺服器程序關閉的回呼函數。呼叫此功能後,Amazon 會 GameLift 等待 5 分鐘讓伺服器程序關閉,並在關閉伺服器程序之前回應ProcessEnding()呼叫。 Type (類型): 必要:是 |
OnStartGameSession |
Amazon GameLift 叫用以將更新後的遊戲工作階段物件傳遞至伺服器程序的回呼函數。Amazon 會在處理相符回填請求以提供更新的相符者資料時 GameLift 呼叫此函數。它傳遞GameSession物件、狀態更新 (updateReason ) 和相符的回填票證 ID。Type (類型): 必要:是 |
OnUpdateGameSession |
Amazon GameLift 叫用以將更新後的遊戲工作階段資訊傳遞至伺服器程序的回呼函數。Amazon 會在處理相符回填請求後 GameLift 呼叫此函數,以提供更新的相符者資料。 Type (類型): 必要:否 |
Port |
伺服器程序接聽新播放器連線的連接埠號碼。值必須屬於為部署此遊戲伺服器組建之機群所設定的連接埠範圍。此連接埠號碼包含在遊戲工作階段和遊戲工作階段物件中,遊戲工作階段會使用該物件來連接到伺服器程序。 Type (類型): 必要:是 |
UpdateGameSession
遊戲工作階段物件的更新,包括遊戲工作階段更新的原因,以及如果回填用於填滿遊戲工作階段中的玩家工作階段,則相關的回填票證 ID。
屬性 | Description |
---|---|
GameSession | GameSession 物件。GameSession 物件包含描述遊戲工作階段的屬性。Type (類型): 必要:是 |
UpdateReason | 更新遊戲工作階段的原因。 Type (類型): 必要:是 |
BackfillTicketId | 嘗試更新遊戲工作階段的回填票證 ID。 Type (類型): 必要:否 |
GameSession
遊戲工作階段的詳細資訊。
屬性 | Description |
---|---|
GameSessionId |
遊戲工作階段的唯一識別符。遊戲工作階段 Amazon Resource Name (ARN) 的格式如下: Type (類型): 必要:否 |
名稱 |
遊戲工作階段的描述性標籤。 Type (類型): 必要:否 |
FleetId |
遊戲工作階段執行所在的機群的唯一識別符。 Type (類型): 必要:否 |
MaximumPlayerSessionCount |
遊戲工作階段的播放器連線數目上限。 Type (類型): 必要:否 |
連線埠 |
遊戲工作階段的連接埠號碼。若要連線至 Amazon GameLift 遊戲伺服器,應用程式需要 IP 地址和連接埠號碼。 Type (類型): 必要:否 |
IpAddress |
遊戲工作階段的 IP 地址。若要連線至 Amazon GameLift 遊戲伺服器,應用程式需要 IP 地址和連接埠號碼。 Type (類型): 必要:否 |
GameSessionData |
一組自訂遊戲工作階段屬性,格式為單一字串值。 Type (類型): 必要:否 |
MatchmakerData |
用於建立遊戲工作階段的配對程序相關資訊,JSON以語法格式為字串。除了使用的配對組態之外,它還包含指派給相符項目的所有玩家的資料,包括玩家屬性和團隊指派。 Type (類型): 必要:否 |
GameProperties |
遊戲工作階段的一組自訂屬性,格式為金鑰:值對。這些屬性會與啟動新遊戲工作階段的請求一起傳遞。 Type (類型): 必要:否 |
DnsName |
指派給執行遊戲工作階段之執行個體的DNS識別碼。值具有下列格式:
連線至在TLS啟用 的機群上執行的遊戲工作階段時,您必須使用 DNS 名稱,而非 IP 地址。 Type (類型): 必要:否 |
ServerParameters
用於維護 Amazon 之間連線的資訊 GameLift Anywhere 伺服器和 Amazon GameLift 服務。使用 啟動新的伺服器程序時,會使用此資訊Init SDK()。對於託管於 Amazon GameLift 受管EC2執行個體的伺服器,請使用空物件。
屬性 | Description |
---|---|
WebSocketURL |
當您 Type (類型): 必要:是 |
ProcessID |
註冊至託管遊戲之伺服器程序的唯一識別碼。 Type (類型): 必要:是 |
HostID |
託管新伺服器程序的運算資源的唯一識別碼。
Type (類型): 必要:是 |
FleetID |
運算註冊之機群的唯一識別符。如需詳細資訊,請參閱 RegisterCompute。 Type (類型): 必要:是 |
AuthToken |
Amazon 產生的身分驗證權杖 GameLift ,用於向 Amazon 對伺服器進行身分驗證 GameLift。如需詳細資訊,請參閱 GetComputeAuthToken。 Type (類型): 必要:是 |
StartMatchBackfillRequest
用來建立比對回填請求的資訊。遊戲伺服器會在StartMatchBackfill()通話 GameLift 中將此資訊傳達給 Amazon。
屬性 | Description |
---|---|
GameSessionArn |
唯一的遊戲工作階段識別符。API 操作會 Type (類型): 必要:是 |
MatchmakingConfigurationArn |
比對程式用於此請求的唯一識別符 (以 的形式ARN)。原始遊戲工作階段ARN的配對器位於配對器資料屬性中的遊戲工作階段物件中。如需相符者資料的詳細資訊,請參閱使用相符者資料 。 Type (類型): 必要:是 |
Players |
一組資料,代表目前在遊戲工作階段中的所有玩家。配對建構器使用此項資訊搜尋適合配對現有玩家的新玩家。 Type (類型): 必要:是 |
TicketId |
比對或比對回填請求票證的唯一識別符。如果您不提供值,Amazon GameLift 會產生值。您可使用此識別項依據需求追蹤配對回填票證狀態或取消要求。 Type (類型): 必要:否 |
Player
在配對中代表玩家的物件。啟動配對請求時,播放器具有玩家 ID、屬性和可能的延遲資料。Amazon 在進行比對後 GameLift 新增團隊資訊。
屬性 | Description |
---|---|
LatencyInMS |
一組以毫秒為單位的值,指出播放器連線到位置時所經歷的延遲量。 如果使用此屬性,則播放器只會符合列出的位置。若配對構建器有評估玩家延遲的規則,玩家則必須回報延遲度,方可配對。 Type (類型): 必要:否 |
PlayerAttributes |
包含玩家資訊的金鑰:值對集合,可用於配對。播放器屬性金鑰必須符合配對規則集中 PlayerAttributes 所使用的 。 如需播放器屬性的詳細資訊,請參閱 AttributeValue。 Type (類型): 必要:否 |
PlayerId |
播放器的唯一識別符。 Type (類型): 必要:否 |
團隊 |
玩家在相符項目中指派的團隊名稱。您可以在配對規則集中定義團隊名稱。 Type (類型): 必要:否 |
DescribePlayerSessionsRequest
指定要擷取哪些播放器工作階段的物件。伺服器程序會將此資訊與DescribePlayerSessions()呼叫 Amazon 一起提供 GameLift。
屬性 | Description |
---|---|
GameSessionID |
唯一的遊戲工作階段識別符。請使用此參數要求特定遊戲工作階段的所有玩家工作階段。 遊戲工作階段 ID 格式為 Type (類型): 必要:否 |
PlayerSessionID |
播放器工作階段的唯一識別符。使用此參數來請求單一特定的播放器工作階段。 Type (類型): 必要:否 |
PlayerID |
播放器的唯一識別符。使用此參數來請求特定播放器的所有播放器工作階段。請參閱 產生玩家 ID。 Type (類型): 必要:否 |
PlayerSessionStatusFilter |
要篩選結果的播放器工作階段狀態。可能的玩家工作階段狀態包括:
Type (類型): 必要:否 |
NextToken |
表示結果下一頁開始的權杖。若要指定結果集的開始,請勿提供值。如果您提供播放器工作階段 ID,則會忽略此參數。 Type (類型): 必要:否 |
Limit |
回傳結果的數量上限。如果您提供播放器工作階段 ID,則會忽略此參數。 Type (類型): 必要:否 |
StopMatchBackfillRequest
用來取消比對回填請求的資訊。遊戲伺服器會在StopMatchBackfill()通話中將此資訊傳達給 Amazon GameLift 服務。
屬性 | Description |
---|---|
GameSessionArn |
取消請求的唯一遊戲工作階段識別符。 Type (類型): 必要:否 |
MatchmakingConfigurationArn |
此請求已傳送至之比對程式的唯一識別符。 Type (類型): 必要:否 |
TicketId |
要取消的回填請求票證的唯一識別碼。 Type (類型): 必要:否 |
GetFleetRoleCredentialsRequest
角色登入資料,可將 AWS 資源的有限存取權延伸至遊戲伺服器。如需詳細資訊,請參閱 設定 Amazon IAM的服務角色 GameLift。
屬性 | Description |
---|---|
RoleArn | 延伸資源 AWS 有限存取的服務角色ARN的 。 Type (類型): 必要:是 |
RoleSessionName | 描述角色憑證使用的工作階段名稱。 Type (類型): 必要:是 |