將遊戲與 整合 Amazon GameLift ServersRealtime - Amazon GameLift Servers

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

將遊戲與 整合 Amazon GameLift ServersRealtime

本主題提供Amazon GameLift Servers使用 Amazon GameLift ServersRealtime解決方案受管 的概觀。概觀說明此解決方案是否適合您的遊戲,以及 如何Amazon GameLift ServersRealtime支援多玩家遊戲。

什麼是Realtime伺服器?

Realtime 伺服器是輕量且ready-to-go遊戲伺服器,Amazon GameLift Servers可讓您與多玩家遊戲搭配使用。 Realtime 伺服器會移除自訂遊戲伺服器的開發、測試和部署程序。此解決方案有助於將完成遊戲所需的時間和精力降至最低。

主要功能
  • 遊戲用戶端和伺服器互動的完整網路堆疊

  • 核心遊戲伺服器功能

  • 可自訂的伺服器邏輯

  • Realtime 組態和伺服器邏輯的即時更新

  • FlexMatch 配對

  • 彈性控制託管資源

透過建立機群並提供組態指令碼來設定Realtime伺服器。

如何Amazon GameLift ServersRealtime管理遊戲工作階段

您可以將遊戲工作階段管理的自訂邏輯建置為Realtime指令碼。您可以編寫程式碼來存取伺服器特定的物件、使用回呼新增事件驅動邏輯,或根據非事件案例新增邏輯。

Realtime 用戶端和伺服器如何互動

在遊戲工作階段期間,遊戲用戶端會透過後端服務傳送訊息至Realtime伺服器來互動。然後,後端服務會在遊戲用戶端之間轉送訊息,以交換活動、遊戲狀態和相關遊戲資料。

此外,您可以將遊戲邏輯新增到 Realtime 指令碼,來自訂用戶端和伺服器的互動方式。透過自訂遊戲邏輯,Realtime伺服器可能會實作回呼來啟動事件驅動的回應。

通訊協定

Realtime 伺服器和連線遊戲用戶端透過兩個通道進行通訊:提供可靠交付的 TCP 連線,以及提供快速交付的 UDP 通道。建立訊息時,遊戲用戶端會根據訊息的本質選擇要使用的通訊協定。根據預設,訊息交付會設為 UDP。如果無法使用 UDP 頻道, 會使用 TCP 做為備用來Amazon GameLift Servers傳送訊息。

訊息內容

訊息內容包含兩個元素:必要的操作碼 (opCode) 和選用的承載。訊息的 opCode 可識別特定的玩家活動或遊戲事件,承載會提供與操作程式碼相關的其他資料。這兩個元素都是由開發人員定義。您的遊戲用戶端會根據收到的訊息中的 opCodes來運作。

玩家群組

Amazon GameLift ServersRealtime 提供管理玩家群組的功能。根據預設, 會將連線到遊戲的所有玩家Amazon GameLift Servers置於「所有玩家」群組中。此外,開發人員可以為其遊戲設定其他群組,且玩家可以同時是多個群組的成員。群組成員可以傳送訊息並與群組中的所有玩家共用遊戲資料。群組的一個可能用途是設定玩家團隊和管理團隊通訊。

Amazon GameLift ServersRealtime 使用 TLS 憑證

使用 時Amazon GameLift ServersRealtime,伺服器身分驗證和資料封包加密會內建在 服務中。當您開啟 TLS 憑證產生時,會啟用這些安全功能。當遊戲用戶端嘗試與Realtime伺服器連線時,伺服器會自動回應用戶端驗證的 TLS 憑證。 會使用 TLS for TCP (WebSockets) 通訊和 DTLS for UDP 流量Amazon GameLift Servers來處理加密。

自訂Realtime伺服器

Realtime 伺服器做為無狀態轉送伺服器執行。Realtime 伺服器會在連接到遊戲的遊戲用戶端之間轉送訊息和遊戲資料的封包。不過,Realtime伺服器不會評估訊息、處理資料或執行任何遊戲邏輯。以這種方式使用,每個遊戲用戶端都會維護自己的遊戲狀態檢視,並透過轉送伺服器提供更新給其他玩家。每個遊戲用戶端負責整合這些更新和調節自己的遊戲狀態。

您可以透過將 新增至Realtime指令碼功能來自訂您的伺服器。例如,透過遊戲邏輯,您可以使用遊戲狀態的伺服器授權檢視來建置具狀態的遊戲。

Amazon GameLift Servers 定義Realtime指令碼的一組伺服器端回呼。實作這些回呼,以將事件驅動的功能新增到您的伺服器。例如,您可以:

  • 當遊戲用戶端嘗試連接到伺服器時對玩家進行身分驗證。

  • 驗證玩家是否可以根據請求加入群組。

  • 決定何時從特定玩家或目標玩家傳送訊息,或執行額外的處理以回應。

  • 當玩家離開群組或中斷與伺服器的連線時,通知所有玩家。

  • 檢視遊戲工作階段物件或訊息物件的內容,並使用資料。

部署和更新 Amazon GameLift ServersRealtime

的主要優點Amazon GameLift ServersRealtime是能夠隨時更新指令碼。當您更新指令碼時, 會在幾分鐘內將新版本Amazon GameLift Servers分發至所有託管資源。Amazon GameLift Servers 部署新的指令碼之後,在該時間點之後建立的所有新遊戲工作階段都會使用新的指令碼版本。(現有的遊戲工作階段將繼續使用原始版本。)

開始將遊戲與 整合Amazon GameLift ServersRealtime: