ゲームと の統合 Amazon GameLift ServersRealtime - Amazon GameLift Servers

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ゲームと の統合 Amazon GameLift ServersRealtime

このトピックでは、 Amazon GameLift ServersRealtime ソリューションAmazon GameLift Serversで管理される の概要について説明します。概要では、このソリューションがゲームに適しているタイミングと、 がマルチプレイヤーゲームAmazon GameLift ServersRealtimeをサポートする方法について説明します。

Realtime サーバーとは

Realtime サーバーは、マルチプレイヤーゲームで使用できる軽量でready-to-go使用できるゲームサーバーです。 Realtime サーバーAmazon GameLift Serversは、カスタムゲームサーバーの開発、テスト、デプロイプロセスを削除します。このソリューションにより、ゲームの完成までにかかる時間と労力を最小限に抑えることができます。

主な特徴
  • ゲームのクライアントとサーバー間のやり取りのための完全なネットワークスタック

  • ゲームサーバーの主な機能。

  • カスタマイズ可能なサーバーロジック

  • Realtime 設定とサーバーロジックのライブ更新

  • FlexMatch マッチメーキング

  • ホスティングリソースの柔軟な制御

フリートを作成し、設定スクリプトを指定してRealtimeサーバーをセットアップします。

がゲームセッションAmazon GameLift ServersRealtimeを管理する方法

ゲームセッション管理のカスタムロジックは、Realtimeスクリプトに組み込むことで追加できます。サーバー固有のオブジェクトへのアクセスや、コールバックを使用したイベント駆動型ロジックの追加、イベント以外のシナリオに基づくロジックの追加を行うコードを記述できます。

Realtime クライアントとサーバーのやり取り方法

ゲームセッション中、ゲームクライアントはバックエンドサービスを介してRealtimeサーバーにメッセージを送信することでやり取りします。その後、バックエンドサービスはメッセージをゲームクライアント間で中継して、アクティビティ、ゲームの状態、関連するゲームデータを交換します。

さらに、ゲームロジックを Realtime スクリプトに追加することで、クライアントとサーバーのやり取り方法をカスタマイズできます。カスタムゲームロジックを使用すると、Realtimeサーバーはコールバックを実装してイベント駆動型レスポンスを開始できます。

通信プロトコル

Realtime サーバーと接続されたゲームクライアントは、信頼性の高い配信のための TCP 接続と高速配信のための UDP チャネルの 2 つのチャネルを介して通信します。メッセージを作成するときは、メッセージのタイプに応じて使用するプロトコルを選択します。メッセージ配信はデフォルトで UDP に設定されています。UDP チャネルが使用できない場合、 Amazon GameLift Servers はフォールバックとして TCP を使用してメッセージを送信します。

メッセージの内容

メッセージの内容は、必須のオペレーションコード (opCode) とオプションのペイロードの 2 つの要素で構成されています。ペイロードがオペレーションコードに関連する追加のデータを提供し、メッセージの opCode は特定のプレイヤーの活動やゲームイベントを識別します。これらの要素はどちらも開発者定義です。ゲームクライアントは、受信したメッセージ内の opCode に基づいてアクションを実行します。

プレイヤーグループ

Amazon GameLift ServersRealtime には、プレイヤーのグループを管理する機能があります。デフォルトでは、 はゲームに接続するすべてのプレイヤーを「すべてのプレイヤー」グループAmazon GameLift Serversに配置します。さらに、開発者は自分のゲームに他のグループを設定でき、プレイヤーは同時に複数のグループのメンバーになることができます。グループメンバーは、メッセージを送信したり、グループのすべてのプレーヤーとゲームデータを共有できます。グループの用途の 1 つは、プレイヤーチームを設定し、チームのコミュニケーションを管理することです。

Amazon GameLift ServersRealtime TLS 証明書を使用する

ではAmazon GameLift ServersRealtime、サーバー認証とデータパケット暗号化がサービスに組み込まれます。TLS 証明書の生成を有効にすると、これらのセキュリティ機能が有効になります。ゲームクライアントがRealtimeサーバーに接続しようとすると、サーバーはクライアントが検証する TLS 証明書で自動的に応答します。 は、TCP (WebSockets) 通信には TLS、UDP トラフィックには DTLS を使用して暗号化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。