將亞馬遜 GameLift FleetIQ 整合到遊戲伺服器中 - Amazon GameLift

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

將亞馬遜 GameLift FleetIQ 整合到遊戲伺服器中

本主題說明準備遊戲伺服器專案以便與 Amazon GameLift FleetIQ 通訊所需的任務。如需其他指引,亞馬遜GameLift彈性 Q 最佳實務請參閱。

註冊遊戲伺服器

當遊戲伺服器程序啟動並準備好主持即時遊戲時,必須透過呼叫 RegisterGameServer() 向 Amazon GameLift FleetIQ 註冊。註冊可讓 Amazon GameLift FleetIQ 在要求伺服器容量相關資訊或要求遊戲伺服器時回應配對系統或其他用戶端服務。註冊時,遊戲伺服器可以向 Amazon GameLift FleetIQ 提供相關的遊戲伺服器資料和連線資訊,包括用於入站用戶端連線的連接埠和 IP 位址。

AWS gamelift register-game-server \ --game-server-id UniqueId-1234 \ --game-server-group-name MyLiveGroup \ --instance-id i-1234567890 \ --connection-info "1.2.3.4:123" \ --game-server-data "{\"key\": \"value\"}"

更新遊戲伺服器狀態

註冊遊戲伺服器後,應定期報告運作狀態和使用狀態,以便在 Amazon GameLift FleetIQ 上保持伺服器容量狀態同步。通過調用 UpdateGameServer()報告健康狀態和使用狀態。在下面的例子中,遊戲伺服器報告它是健康的,目前沒有被託管玩家或遊戲玩法佔用。

AWS gamelift update-game-server \ --game-server-group-name MyLiveGroup \ --game-server-id UniqueId-1234 \ --health-check HEALTHY \ --utilization-status AVAILABLE

運作狀態

如果您的遊戲伺服器具有追蹤健康狀態的機制,您可以使用此機制觸發 Amazon GameLift FleetIQ 的遊戲伺服器運作狀態更新。

使用狀態

報告遊戲伺服器使用狀態可讓 Amazon GameLift FleetIQ 通知目前哪些遊戲伺服器適用於新遊戲工作階段。您的遊戲伺服器必須具備觸發 Amazon GameLift FleetIQ 使用狀態更新的機制。例如,當玩家連線到遊戲伺服器或遊戲工作階段開始時,您可能會觸發更新。

開始遊戲工作階段時,用戶端或配對服務會要求可用的遊戲伺服器 ClaimGameServer(透過呼叫 ())、提示玩家連線至遊戲伺服器,並觸發遊戲伺服器開始遊戲。此程序會在中描述將亞馬遜 GameLift FleetIQ 整合到遊戲用戶端。遊戲伺服器「宣告」的有效期為 60 秒,且遊戲伺服器必須能夠在此視窗中更新使用狀態。如果使用狀態未更新,Amazon GameLift FleetIQ 會移除宣告、假設遊戲伺服器可用,並且可能會為其他用戶端宣告請求保留遊戲伺服器。

AWS gamelift update-game-server \ --game-server-group-name MyLiveGroup \ --game-server-id UniqueId-1234 \ --health-check HEALTHY \ --utilization-status UTILIZED

取消註冊遊戲伺服器

當遊戲結束時,遊戲伺服器必須使用 () 從 Amazon GameLift FleetIQ 取消註冊。DeregisterGameServer

AWS gamelift deregister-game-server \ --game-server-group-name MyLiveGroup \ --game-server-id UniqueId-1234