亞馬遜GameLift服務器開發套件(C ++)參考:數據類型 - Amazon GameLift

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

亞馬遜GameLift服務器開發套件(C ++)參考:數據類型

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

此 API 定義於 GameLiftServerAPI.hLogParameters.hProcessParameters.h

DescribePlayerSessionsRequest

此資料類型用於指定要擷取的玩家工作階段,您可利用下列方式使用:

  • 提供一個PlayerSessionId要求特定玩家工作階段。

  • 提供一個GameSessionId要求指定遊戲工作階段中的所有玩家工作階段。

  • 提供一個PlayerId要求指定玩家的所有玩家工作階段。

對於大量的玩家工作階段,可使用分頁參數於循序區塊擷取結果。

目錄

GameSessionId

獨一無二的遊戲工作階段識別項。請使用此參數要求特定遊戲工作階段的所有玩家工作階段。遊戲工作階段 ID 格式如下:arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>。<ID string> 的值可能是自訂 ID 字串 (若在建立遊戲工作階段時有指定 ID),或是產生的字串。

類型:字串

必要:否

限制

回傳結果的數量上限。搭配使用此參數可NextToken取得一組連續頁面的結果。若指定玩家工作階段 ID,此參數將遭到忽略。

類型:整數

必要:否

NextToken

字符顯示下一個結果循序頁面的開始處。使用前一個呼叫此動作傳回的字符。指定結果集的開始處時,請勿指定值。若指定玩家工作階段 ID,此參數將遭到忽略。

類型:字串

必要:否

PlayerId

玩家的唯一識別項。玩家 ID 是由開發人員定義。請參閱 產生玩家 ID

類型:字串

必要:否

PlayerSessionId

玩家工作階段的唯一識別項。

類型:字串

必要:否

PlayerSessionStatusFilter

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

  • RESERVED – 玩家工作階段要求已收到,但玩家尚未連線至伺服器程序及/或通過驗證。

  • ACTIVE – 玩家已由伺服器程序驗證,目前已連線。

  • COMPLETED – 玩家連線已中斷。

  • TIMEDOUT – 玩家工作階段要求已收到,但玩家並未在逾時限制 (60 秒) 內連線及/或通過驗證。

類型:字串

必要:否

LogParameters

此資料類型用於識別在遊戲工作階段期間產生的檔案,您希望 Amazon GameLift 在遊戲工作階段結束後上傳和存放這些檔案。此信息在通ProcessReady()話中傳達給亞馬遜GameLift服務。

目錄

logPaths

您希望 Amazon GameLift 存放以供將來存取的遊戲伺服器記錄檔的目錄路徑。這些檔案是在每個遊戲工作階段期間產生。檔案路徑及名稱於您的遊戲伺服器定義,並儲存於遊戲組建根目錄。記錄檔路徑必須是絕對的。例如若您的遊戲建構將遊戲工作階段記錄儲存於 MyGame\sessionlogs\ 這樣的目錄,則記錄路徑就可能是 c:\game\MyGame\sessionLogs (在 Windows 執行個體) 或 /local/game/MyGame/sessionLogs (在 Linux 執行個體)。

類型:std:vector<std::string>

必要:否

ProcessParameters

此資料類型包含在ProcessReady()呼叫中傳送至 Amazon GameLift 服務的一組參數。

目錄

port

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

類型:整數

必要:是

logParameters

含對遊戲工作階段日誌檔之目錄路徑清單的物件。

類型:Aws::GameLift: 服務器:: LogParameters

必要:否

onStartGame階段

Amazon GameLift 服務呼叫以啟動新遊戲工作階段的回呼函數名稱。亞馬遜GameLift調用此函數以響應客戶端請求CreateGameSession。回調函數傳遞一個GameSession對象(在亞馬遜GameLift服務 API 參考中定義)。

類型:const std::function<void(Aws::GameLift::Model::GameSession)> onStartGameSession

必要:是

onProcessTerminate

Amazon GameLift 服務呼叫以強制伺服器處理序關閉的回呼函數名稱。調用此函數後,亞馬遜GameLift等待五分鐘,以關閉服務器進程並ProcessEnding()通過調用進行響應。如果沒有收到回應,就會關閉伺服器程序。

類型:std::function<void()> onProcessTerminate

必要:否

onHealthCheck

Amazon GameLift 服務呼叫以從伺服器處理序要求健康狀態報告的回呼函數名稱。亞馬遜每 60 秒GameLift調用一次此函數。調用此函數後,亞馬遜GameLift等待 60 秒的響應,如果沒有收到任何響應。將服務器進程記錄為不健康。

類型:std::function<bool()> onHealthCheck

必要:否

onUpdateGame階段

Amazon GameLift 服務呼叫以將更新的遊戲工作階段物件傳遞至伺服器處理序的回呼函數名稱。Amazon 會在處理比賽回填請求以提供更新的分房系統資料時GameLift呼叫此函數。它傳遞一個GameSession對象,一個狀態更新(updateReason)和匹配回填票證 ID。

類型:std::function<void(Aws::GameLift::Server::Model::UpdateGameSession)> onUpdateGameSession

必要:否

StartMatchBackfillRequest

此項資料類型用於傳送配對回填要求。該信息在通StartMatchBackfill()話中傳達給亞馬遜GameLift服務。

目錄

GameSessionArn

獨一無二的遊戲工作階段識別項。API 動作 GetGameSessionId() 以 ARN 格式傳回識別項。

類型:字串

必要:是

MatchmakingConfigurationArn

以 ARN 為格式的唯一識別項,讓配對建構器使用此項要求。尋找用於建立原始遊戲工作階段的配對建構器時,請查看配對建構器資料屬性之中的遊戲工作階段物件。透過 Word 中的分房系統資料進一步了解分房系統資料。

類型:字串

必要:是

Players

表示目前遊戲工作階段之中所有玩家的一組資料。配對建構器使用此項資訊搜尋適合配對現有玩家的新玩家。有關播放器對象格式的說明,請參閱亞馬遜 GameLift API 參考指南。尋找玩家屬性、ID 及團隊指派時,請查看配對建構器資料屬性之中的遊戲工作階段物件。若配對建構器使用延遲,您可收集現有區域更新後的延遲,並將其納入各個玩家資料之中。

類型:標準:向量https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html <player>

必要:是

TicketId

配對或配對回填要求票證的唯一識別項。如果這裡沒有提供任何值,亞馬遜GameLift將以 UUID 的形式生成一個值。您可使用此識別項依據需求追蹤配對回填票證狀態或取消要求。

類型:字串

必要:否

StopMatchBackfillRequest

此項資料類型用於取消配對回填要求。該信息在通StopMatchBackfill()話中傳達給亞馬遜GameLift服務。

目錄

GameSessionArn

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

類型:字串

必要:是

MatchmakingConfigurationArn

做為此要求傳送目標的配對建構器唯一識別項。

類型:字串

必要:是

TicketId

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

類型:字串

必要:是