本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
用於 C# 和統一的亞馬遜GameLift服務器 SDK 參考:數據類型
這個 Amazon GameLift C# 伺服器開發套件參考可協助您準備好與 Amazon 搭配使用的多人遊戲GameLift。如需有關整合程序的詳細資訊,請參閱添加亞馬遜GameLift到您的遊戲服務器和如需使用適用於 Unity 的 C# 伺服器 SDK 外掛程式的資訊,請參閱 GameLift 將亞馬遜整合到統一項目中。
資料類型
- LogParameters
- ProcessParameters
- UpdateGameSession
- GameSession
- ServerParameters
- StartMatchBackfillRequest
- Player
- DescribePlayerSessionsRequest
- StopMatchBackfillRequest
- GetFleetRoleCredentialsRequest
- AttributeValue
- AwsStringOutcome
- GenericOutcome
- DescribePlayerSessionsOutcome
- DescribePlayerSessionsResult
- PlayerSession
- StartMatchBackfillOutcome
- StartMatchBackfillResult
- GetComputeCertificateOutcome
- GetComputeCertificateResult
- GetFleetRoleCredentialsOutcome
- GetFleetRoleCredentialsResult
- AwsDateTimeOutcome
- GameLiftError
- 列舉
LogParameters
使用此資料類型可識別在遊戲工作階段期間產生的哪些檔案,您希望遊戲伺服器在遊戲工作階段結束GameLift後上傳到 Amazon。遊戲服務器在通ProcessReady()話GameLift中通信LogParameters to
亞馬遜。
屬性 |
Description (描述) |
LogPaths |
您希望 Amazon GameLift 存放以供將來存取之遊戲伺服器日誌檔的目錄路徑清單。服務器進程在每個遊戲會話期間生成這些文件。您可以在遊戲伺服器中定義檔案路徑和名稱,並將它們儲存在根遊戲建置目錄中。 記錄檔路徑必須是絕對的。例如,如果您的遊戲組建將遊戲工作階段記錄儲存在類似路徑中 Type (類型): 必要:否 |
ProcessParameters
此數據類型包含一組在ProcessReady()調用中發送到亞馬遜GameLift的參數。
屬性 |
Description (描述) |
LogParameters | 包含遊戲工作階段記錄檔目錄路徑清單的物件。 Type (類型): 必要:是 |
OnHealthCheck | Amazon 呼GameLift叫以從伺服器處理序要求健康狀態報告的回呼函數名稱。亞馬遜每 60 秒GameLift調用一次此函數。調用此函數後,亞馬遜GameLift等待 60 秒的響應,如果沒有收到,亞馬遜將服務器進程GameLift記錄為不健康。 Type (類型): 必要:是 |
OnProcessTerminate | 亞馬遜調GameLift用以強制服務器進程關閉的回調函數的名稱。呼叫此函數之後,Amazon 會GameLift等待五分鐘讓伺服器處理序關閉並回應呼ProcessEnding()叫,然後再關閉伺服器處理序。 Type (類型): 必要:是 |
OnStartGameSession | 亞馬遜調GameLift用以激活新遊戲會話的回調函數的名稱。亞馬遜GameLift調用此函數以響應客戶端請求CreateGameSession。回調函數採用亞馬遜 GameLift API 參考中定義的GameSession對象。 Type (類型): 必要:是 |
OnUpdateGameSession | 亞馬遜GameLift調用將更新的遊戲會話對象傳遞給服務器進程的回調函數的名稱。Amazon 會在處理比賽回填請求以提供更新的分房系統資料時GameLift呼叫此函數。它傳遞一個GameSession對象,一個狀態更新(updateReason )和匹配回填票證 ID。類型:無效OnUpdateGameSessionDelegate(UpdateGameSession) 必要:否 |
連接埠 | 伺服器處理序偵聽新播放程式連線的連接埠號碼。值必須屬於為部署此遊戲伺服器組建之機群所設定的連接埠範圍。此連接埠號碼包含在遊戲工作階段和遊戲工作階段物件中,遊戲工作階段會使用該物件來連接到伺服器程序。 Type (類型): 必要:是 |
UpdateGameSession
更新了遊戲工作階段物件的資訊,包括遊戲工作階段更新的原因。如果更新與比對回填動作相關,則此資料類型會包含回填工單 ID。
屬性 | Description (描述) |
---|---|
GameSession | 由亞馬遜 GameLift API 定義的GameSession對象。GameSession 物件包含描述遊戲工作階段的屬性。Type (類型): 必要:是 |
UpdateReason | 遊戲工作階段正在更新的原因。 Type (類型): 必要:是 |
BackfillTicketId | 嘗試更新遊戲工作階段的回填票證 ID。 Type (類型): 必要:是 |
GameSession
遊戲工作階段的詳細資料。
屬性 | Description (描述) |
---|---|
GameSessionId |
遊戲工作階段的唯一識別碼。遊戲工作階段 ARN 的格式如下: Type (類型): 必要:否 |
名稱 |
遊戲工作階段的描述性標籤。 Type (類型): 必要:否 |
FleetId |
執行遊戲工作階段之叢集的唯一識別碼。 Type (類型): 必要:否 |
MaximumPlayerSessionCount |
與遊戲工作階段的玩家連線數目上限。 Type (類型): 必要:否 |
連接埠 |
遊戲工作階段的連接埠號碼。若要連線到 Amazon GameLift 遊戲伺服器,應用程式需要 IP 位址和連接埠號碼。 Type (類型): 必要:否 |
IpAddress |
遊戲工作階段的 IP 位址。若要連線到 Amazon GameLift 遊戲伺服器,應用程式需要 IP 位址和連接埠號碼。 Type (類型): 必要:否 |
GameSessionData |
一組自訂遊戲工作階段屬性,格式為單一字串值。 Type (類型): 必要:否 |
MatchmakerData |
關於用來建立遊戲工作階段的配對程序資訊,以 JSON 語法格式化為字串。除了使用的配對配置外,它還包含指定給該比賽的所有玩家的數據,包括球員屬性和團隊分配。 Type (類型): 必要:否 |
GameProperties |
遊戲工作階段的一組自訂屬性,格式化為 key: value 配對。這些屬性會與啟動新遊戲工作階段的要求一起傳遞。 Type (類型): 必要:否 |
DnsName |
指派給執行遊戲工作階段之執行個體的 DNS 識別碼。值的格式如下:
連線至已啟用 TLS 的叢集上執行的遊戲工作階段時,您必須使用 DNS 名稱,而非 IP 位址。 Type (類型): 必要:否 |
ServerParameters
用於維護亞馬遜服務器和亞馬遜GameLiftAnywhere服GameLift務之間連接的信息。當使用啟動新的伺服器處理序時,會使用此資訊InitSDK()。對於託管在 Amazon GameLift 受管 EC2 執行個體上的伺服器,請使用空物件。
屬性 | Description (描述) |
---|---|
WebSocketUrl |
當你 Type (類型): 必要:是 |
ProcessId |
註冊到託管您遊戲的伺服器處理序的唯一識別碼。 Type (類型): 必要:是 |
HostId |
主機與伺服器進程託管您的遊戲的唯一識別碼。HostID 是您註冊計算時ComputeName使用的。有關更多信息,請參閱,RegisterCompute Type (類型): 必要:是 |
FleetId | 計算所註冊之叢集的叢集識別碼。若要取得更多資訊,請參閱RegisterCompute。 Type (類型): 必要:是 |
AuthToken | 亞馬遜生成的身份驗證令牌GameLift,用於向亞馬遜驗證您的服務器。GameLift若要取得更多資訊,請參閱GetComputeAuthToken。 Type (類型): 必要:是 |
StartMatchBackfillRequest
用於建立配對回填請求的資訊。遊戲服務器通過電話將此信息傳達StartMatchBackfill()給GameLift亞馬遜。
屬性 | Description (描述) |
---|---|
GameSessionArn |
唯一的遊戲工作階段識別碼。該 API 操作 Type (類型): 必要:是 |
MatchmakingConfigurationArn |
分房系統用於此要求的唯一識別碼,以 ARN 的形式呈現。原始遊戲工作階段的分房系統 ARN 位於分房系統資料屬性中的遊戲工作階段物件中。請參閱使用分房系統資料,進一步了解分房系統資料。 Type (類型): 必要:是 |
Players |
一組數據,代表當前在遊戲會話中的所有玩家。配對建構器使用此項資訊搜尋適合配對現有玩家的新玩家。 Type (類型): 必要:是 |
TicketId |
配對或配對回填請求票證的唯一識別碼。如果你不提供一個值,亞馬遜GameLift生成一個。您可使用此識別項依據需求追蹤配對回填票證狀態或取消要求。 Type (類型): 必要:否 |
Player
代表配對中的玩家。當配對要求開始時,玩家會擁有玩家 ID、屬性以及可能的延遲資料。亞馬遜在比賽進行後GameLift添加球隊信息。
屬性 | Description (描述) |
---|---|
LatencyIn女士 |
以毫秒為單位表示的一組值,表示玩家連線至某個位置時所經歷的延遲量。 如果使用此屬性,則播放器僅匹配列出的位置。若配對構建器有評估玩家延遲的規則,玩家則必須回報延遲度,方可配對。 Type (類型): 必要:否 |
PlayerAttributes |
包含可用於配對的玩家資訊的 key: 值組合集合。玩家屬性鍵必須與配對規則集中PlayerAttributes使用的鍵相符。 如需播放程式屬性的詳細資訊,請參閱AttributeValue。 Type (類型): 必要:否 |
PlayerId |
玩家的唯一識別碼。 Type (類型): 必要:否 |
團隊 |
球員在比賽中被分配到的球隊名稱。您可以在配對規則集中定義小組名稱。 Type (類型): 必要:否 |
DescribePlayerSessionsRequest
此資料類型用於指定要擷取的玩家工作階段,它可以通過以下幾種方式使用:(1)提供一PlayerSessionId個請求特定玩家會話;(2)提供一GameSessionId個請求指定遊戲會話中的所有玩家會話; 或(3)提供一PlayerId個請求指定玩家的所有玩家會話。對於大量的玩家工作階段,可使用分頁參數擷取結果做為循序頁面。
屬性 | Description (描述) |
---|---|
GameSessionId |
唯一的遊戲工作階段識別碼。請使用此參數要求特定遊戲工作階段的所有玩家工作階段。遊戲工作階段 ID 格式如下: Type (類型): 必要:否 |
PlayerSessionId |
玩家工作階段的唯一識別碼。 Type (類型): 必要:否 |
PlayerId |
玩家的唯一識別碼。請參閱 產生玩家 ID。 Type (類型): 必要:否 |
PlayerSessionStatusFilter |
用於篩選結果的玩家工作階段狀態。可能的玩家工作階段狀態包括下列項目:
Type (類型): 必要:否 |
NextToken |
表示下一頁結果開始的令牌。若要指定結果集的開頭,請勿提供值。如果您提供玩家工作階段 ID,則會忽略此參數。 Type (類型): 必要:否 |
限制 |
回傳結果的數量上限。如果您提供玩家工作階段 ID,則會忽略此參數。 Type (類型): 必要:否 |
StopMatchBackfillRequest
用於取消配對回填要求的資訊。遊戲服務器在通StopMatchBackfill()話中將此信息傳達給亞馬遜GameLift服務。
屬性 | Description (描述) |
---|---|
GameSessionArn |
要求取消的唯一遊戲工作階段識別碼。 Type (類型): 必要:是 |
MatchmakingConfigurationArn |
傳送此要求的分房系統的唯一識別碼。 Type (類型): 必要:是 |
TicketId |
要取消之回填要求票證的唯一識別碼。 Type (類型): 必要:是 |
GetFleetRoleCredentialsRequest
這種數據類型使遊戲服務器對您的其他AWS資源的訪問有限。如需詳細資訊,請參閱 為 Amazon 設置 IAM 服務角色 GameLift。
屬性 | Description (描述) |
---|---|
RoleArn | 服務角色的 Amazon 資源名稱 (ARN),可延伸對AWS資源的有限存取權限。 Type (類型): 必要:是 |
RoleSessionName | 說明使用角色證明資料之工作階段的名稱。 Type (類型): 必要:否 |
AttributeValue
在Player屬性鍵值對中使用這些值。此物件可讓您使用任何有效的資料類型來指定屬性值:字串、數字、字串陣列或資料對應。每個AttributeValue
物件只能使用其中一個可用性質。
屬性 | Description (描述) |
---|---|
屬性類型 |
指定屬性值的類型。 類型: 必要:否 |
S |
表示一個字符串屬性值。 Type (類型): 必要:是 |
否 |
表示數值屬性值。 Type (類型): 必要:是 |
SL |
表示一個字符串屬性值的數組。 Type (類型): 必要:是 |
代決人 |
代表字串索引鍵和 double 值的字典。 Type (類型): 必要:是 |
AwsStringOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
結果 |
動作的結果。 Type (類型): 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
GenericOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
DescribePlayerSessionsOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
結果 |
動作的結果。 Type (類型):DescribePlayerSessionsResult 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
DescribePlayerSessionsResult
屬性 | Description (描述) |
---|---|
NextToken |
表示下一頁結果開始的令牌。若要指定結果集的開頭,請勿提供值。如果您提供玩家工作階段 ID,則會忽略此參數。 Type (類型): 必要:是 |
PlayerSessions |
物件集合,其中包含符合要求之每個播放程式工作階段的屬性。 Type (類型): 必要: |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
PlayerSession
屬性 | Description (描述) |
---|---|
CreationTime |
Type (類型): 必要:是 |
FleetId |
Type (類型): 必要:是 |
GameSessionId |
Type (類型): 必要:是 |
IpAddress |
Type (類型): 必要:是 |
PlayerData |
Type (類型): 必要:是 |
PlayerId |
Type (類型): 必要:是 |
PlayerSessionId |
Type (類型): 必要:是 |
連接埠 |
Type (類型): 必要:是 |
狀態 |
類型: 必要:是 |
TerminationTime |
Type (類型): 必要:是 |
DnsName |
Type (類型): 必要:是 |
StartMatchBackfillOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
結果 |
動作的結果。 Type (類型):StartMatchBackfillResult 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
StartMatchBackfillResult
屬性 | Description (描述) |
---|---|
TicketId |
Type (類型): 必要:是 |
GetComputeCertificateOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
結果 |
動作的結果。 Type (類型):GetComputeCertificateResult 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
GetComputeCertificateResult
計算上 TLS 憑證的路徑以及計算機的主機名稱。
屬性 | Description (描述) |
---|---|
CertificatePath |
Type (類型): 必要:是 |
ComputeName |
Type (類型): 必要:是 |
GetFleetRoleCredentialsOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
結果 |
動作的結果。 Type (類型):GetFleetRoleCredentialsResult 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
GetFleetRoleCredentialsResult
屬性 | Description (描述) |
---|---|
AccessKeyId |
用於驗證並提供對AWS資源的存取權限的存取金鑰 ID。 Type (類型): 必要:否 |
AssumedRoleId |
服務角色所屬的使用者識別碼。 Type (類型): 必要:否 |
AssumedRoleUserArn |
服務角色所屬之使用者的 Amazon 資源名稱 (ARN)。 Type (類型): 必要:否 |
過期 |
您的工作階段認證到期之前的時間長度。 Type (類型): 必要:否 |
SecretAccessKey |
用於驗證的秘密存取金鑰 ID。 Type (類型): 必要:否 |
SessionToken |
標識當前活動會話與您的AWS資源進行交互的令牌。 Type (類型): 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
AwsDateTimeOutcome
此資料類型是由動作產生的,並產生具有下列屬性的物件:
屬性 | Description (描述) |
---|---|
結果 |
動作的結果。 Type (類型): 必要:否 |
Success (成功) |
動作是否成功。 Type (類型): 必要:是 |
錯誤 |
處理行動失敗時發生的錯誤。 Type (類型):GameLiftError 必要:否 |
GameLiftError
屬性 | Description (描述) |
---|---|
ErrorType |
錯誤類型。 類型: 必要:否 |
ErrorName |
錯誤的名稱。 Type (類型): 必要:否 |
ErrorMessage |
錯誤訊息。 Type (類型): 必要:否 |
列舉
針對亞馬遜GameLift伺服器開發套件 (C#) 定義的枚舉定義如下:
- AttrType
-
NONE
字符串
雙
字符串列表
弦雙地圖
- GameLiftErrorType
-
指示錯誤類型的字符串值。有效值包含:
-
服務呼叫失敗 — 對服務的呼叫失敗。AWS
-
本地連接失敗 — 與亞馬遜的本地連接失敗。GameLift
-
網路不初始化 — 網路尚未初始化。
-
遊戲設定 — 尚未設定遊戲工作階段識別碼。
-
不要求 _ 例外
-
內部 _ 服務 _ 異常
-
已初始化 — 亞馬遜GameLift伺服器或用戶端已經使用初始化 () 進行初始化。
-
FLEET_MISMATCH — 目標叢集與遊戲經營或玩家工作階段的機隊不相符。
-
已初始化 — 亞馬遜用戶端尚未初始化。 GameLift
-
已初始化 — 亞馬遜伺服器尚未初始化。GameLift
-
遊戲工作階段失敗 — 亞馬遜GameLift伺服器開發套件無法聯絡服務以報告遊戲工作階段已結束。
-
未啟動亞馬遜伺服器遊戲工作階段。GameLift
-
遊戲工作階段已準備就緒 — 亞馬遜GameLift伺服器開發套件無法聯絡服務以報告遊戲工作階段已準備就緒。
-
初始化不匹配-在服務器:: 初始化()之後調用客戶端方法,反之亦然。
-
初始化 — 亞馬遜GameLift伺服器或用戶端尚未使用初始化 () 初始化。
-
無目標別名-尚未設定目標別名。
-
目標叢集 — 尚未設定目標叢集。
-
處理結束-亞馬遜GameLift伺服器開發套件無法聯絡服務以報告程序已結束。
-
PROCES_NOT_ACT_ACTIVE — 伺服器處理作業尚未啟動、未繫結至GameSession,且無法接受或處理。PlayerSessions
-
處理程序 NOT_READY — 伺服器處理作業尚未準備好啟動。
-
處理程序 READY_FAIN — 亞馬遜GameLift伺服器開發套件無法聯絡服務以報告程序已準備就緒。
-
SDK_ 版本偵測失敗 — SDK 版本偵測失敗。
-
STX_CALL_ 失敗 — 對 XSTX 伺服器後端元件的呼叫失敗。
-
STX_ 初始化失敗 — XSTX 伺服器後端元件無法初始化。
-
意外的玩家工作階段 — 伺服器遇到未註冊的玩家工作階段。
-
WEB 插槽 _ 連接 _ 失敗
-
WEB 插座 _ 連接 _ 失敗 _ 禁止
-
網站插槽 _ 連接 _ 失敗 _ 無效 _URL
-
網路插槽 _ 連線 _ 失敗 _ 逾時
-
網站重新擷取 _ 傳送訊息 _ 失敗 — 將訊息傳送至服務的可擷取失敗。GameLift WebSocket
-
網站傳送訊息失敗 — 無法將訊息傳送至服務。 GameLift WebSocket
-
匹配 _ 後填 _ 請求驗證 — 驗證請求失敗。
-
播放器會話請求驗證 — 請求的驗證失敗。
-
- PlayerSessionCreationPolicy
-
字串值代表遊戲工作階段是否可接受新玩家。有效值包含:
-
ACCEPT_ALL – 接受所有新玩家工作階段。
-
DENY_ALL – 拒絕所有新玩家工作階段。
-
NOT_SET — 遊戲工作階段未設定為接受或拒絕新玩家工作階段。
-
- PlayerSessionStatus
-
活躍
COMPLETED (已完成)
沒有設定
已保留
定時