AccelByte Multiplayer Servers入門
注釈:本資料はAI技術を用いて翻訳されています。
AMSはAccelByte Public Cloudのクライアントに無料トライアルとして提供されており、AGS Private Cloudのクライアントはアカウントでの有効化をリクエストできます。詳細については、AMSを有効化してAMSアカウントを作成するを参照してください。
概要
AccelByte Multiplayer Servers(AMS)は、プレイヤーにできるだけ近い場所で専用ゲームサーバーを提供できる動的な専用ゲームサーバーマネージャーです。AMSでは、それぞれAccelByteインスタンスタイプの設定と独自のスケーリング動作を持つ複数のサーバーフリートを、異なるリージョンに分散させて保持できます。
AMSでは、プレイヤーに最高のゲーム体験を提供するために設計された、以下のようなさまざまな機能を活用できます。
- 簡単な統合: AMSは、通常のサーバー開発を妨げないように設計されています。AccelByte Server SDKを使用することで、AMSを機能させるために明示的に呼び出す必要があるAPIは1つだけです。
- マルチリージョン: AMSはグローバルなカバレッジを想定して設計されています。AMSを使用すると、リージョンごとに個別のサーバーフリートサイズを維持できるため、リージョンごとの需要に応じてフリートサイズを調整することでコストを削減できます。
- 需要に基づく弾力的なスケーリング: AMSは、特定の時点でのリージョンごとのプレイヤーの需要に基づいてスケーリングします。これにより、需要が少ないときにはそのリージョンのホストマシンのコストを最小限に抑えつつ、需要がピークに達したときには常にリソースが確保されるようにします。
- ウォームアップ済みの専用サーバー: AMSでは、各リージョンで健全な数のウォームアップ済み(起動して稼働中の)専用サーバーを事前にロードして維持できるため、ゲームセッションによって即座に確保でき、プレイヤーがサーバーのロードを待つ必要がありません。
- AGSとのマッチメイキング統合: AMSはAccelByte Gaming Services(AGS)と連携して位置情報サポートを提供するため、同じリージョンのプレイヤーをマッチングさせて最適なプレイヤー体験を実現できます。
AMSの専用サーバー管理の仕組み
以下は、サービスリージョンで専用サーバーを利用可能にするプロセスの概要です。
- 専用サーバーをAccelByte SDKと統合します。専用サーバーをSDKと統合するを参照してください。
- AMS CLIを使用して専用サーバーのビルドをAMSにアップロードします。AMS CLIを使用して専用サーバーのビルドをアップロードするを参照してください。
- AccelByte Gaming Services(AGS)Admin Portalで希望するロケーションにフリートを作成し、設定します。その後、フリートを有効化します。専用サーバーの割り当てを管理するフリートを作成するを参照してください。
- Fleet Commanderは、AMSのマルチテナント環境に対するあなたの代理として、あなたに代わって仮想マシンのリクエストを行います。
- 仮想マシンのリクエストは、フリート向けのホスティング仮想マシンを見つけるために、AMSコアのマルチリージョンオーケストレーターによって処理されます。
- フリートに割り当てられた仮想マシン全体は専有されるため、他のAMS顧客とのリソースの競合を心配する必要はありません。
- ウォッチドッグエージェントは、仮想マシン内のすべての専用サーバーのライフサイクルを管理・監視します。
サービスコンポーネント
このセクションでは、AMSのサービスコンポーネントについて説明します。
Fleet Commander
Fleet Commanderは、各環境にデプロイされます。環境内のすべてのネームスペースを評価し、その環境に代わって仮想マシンインスタンスのリクエストをAMS Coreに送信します。
AMS Core
AMS Coreは、すべての顧客の環境内のFleet Commanderからのリクエストを処理して、仮想マシンのリソースを見つけるマルチリージョンオーケストレーターです。
リージョンオーケストレーターは、すべての仮想マシンが正確に1つの所有者に割り当てられることも保証するため、他の利用者による干渉(noisy neighbor)を心配する必要はありません。
ウォッチドッグ
ウォッチドッグは、専用サーバーのライフサイクルを管理・監視します。専用サーバーを処理する各仮想マシンには、ウォッチドッグ(その仮想マシンの「ローカルウォッチドッグ」として知られる)が含まれています。ウォッチドッグは、それぞれのプラットフォームに可観測性メトリクスと分析イベントも送信します。
主な概念
専用サーバー
専用サーバー(DS)は、1つのゲームセッションをホストする使い捨てのゲームサーバーです。専用サーバーは、ゲームセッションの提供を終了すると、AMSによって破棄され、新しいものに置き換えられます。ピアツーピア(P2P)サーバーと混同しないでください。
専用サーバーの状態
専用サーバーの状態は、専用サーバーのライフサイクルを追跡します。状態は以下の通りです。
- Creating(作成中)
- Ready(準備完了)
- In Session(セッション中。Admin Portalでは
Claimedと表示されます) - Drain(ドレイン)
- Unresponsive(応答なし)
専用サーバーの状態の変化は、以下の図で説明されています。
フリート
フリートは、ゲームセッションを提供するための、アクティブまたはアイドル状態の専用ゲームサーバーの集まりです。
サービス品質
各リージョンクラスターには、プレイヤーのロケーションとリージョンクラスター間のパフォーマンスを検証するために使用される、独自の**サービス品質(QoS)**サーバーがあります。このデータは、プレイヤーがプレイするための最適なリージョンを見つけるために使用されます。
実際には、ゲームがAccelByte Client SDKと統合されると、SDKは利用可能な各リージョンに自動的にpingを送信し、接続データを最新の状態に保ちます。
仮想マシン
**仮想マシン(VM)**は、クラウドプロバイダーまたはリージョンのリソースプール内のベアメタルから提供される、専用サーバーを実行するホストです。一般的な仮想マシンは、AccelByteの仮想マシンインスタンスファミリーのいずれかに属します。
タイムアウト
タイムアウトは、専用サーバーのライフサイクル内のいくつかの状態の間に適用される時間制限です。これらのタイムアウトはすべて、Admin Portalで設定可能です。
作成タイムアウト
作成タイムアウトは、ウォッチドッグが専用サーバーを起動し、その状態をCreatingとしてマークした時点で開始します。これは、専用サーバーが初期化するための設定可能な時間制限を与えるもので、専用サーバーの初期化に失敗した場合、ウォッチドッグはそのサーバーを削除し、代わりに別のサーバーを再起動します。
作成タイムアウトは、専用サーバーがCreating状態のときのみ適用されます。専用サーバーが使用可能な状態になり、ウォッチドッグに通知すると、Ready状態に移行します。
セッションタイムアウト
セッションタイムアウトは、専用サーバーがゲームセッションによって確保され、In Session状態に移行した時点で開始します。このタイムアウトは、専用サーバーがゲームセッションを提供するための時間制限を与えるもので、ゲームセッションの終了後に正常に終了しない古いサーバーをウォッチドッグが削除できるようにします。このタイムアウトを超えると、ウォッチドッグはDSを強制的に終了します。
セッションの継続時間が不明な場合は、このタイムアウトを手動でリセットできます。AccelByte Multiplayer Serversでの永続的なセッションを参照してください。
ドレインアイドルタイムアウト
ドレインアイドルタイムアウトは、_In Session状態ではない_専用サーバーがウォッチドッグからドレイン信号を受信し、Drain状態に移行した時点で開始します。このタイムアウトは、専用サーバーが自身を終了する前に必要な操作を完了するための時間制限を与えます。ドレインアイドルタイムアウトが切れる前に専用サーバーが終了しない場合、ウォッチドッグはそのサーバーを強制的に停止します。
注: 専用サーバーがIn Session状態のときにドレイン信号を受信した場合は、正常に終了する前に、通常通りセッションを完了する必要があります。
応答なしタイムアウト
応答なしタイムアウトは、サーバーがウォッチドッグとの最後のヘルスチェックを完了するとリフレッシュされます。このタイムアウトは、サービスの中断が発生した場合に、専用サーバーがウォッチドッグへの接続を回復するための時間制限を与えます。このタイムアウトを超えると、ウォッチドッグはそのサーバーを削除し、代わりに別のサーバーを再起動します。
リソースの共有
AccelByte Multiplayer Servers(AMS)は、異なるホスティング環境間で、AccelByte Gaming Services(AGS)のゲームネームスペース間のリソース共有を実現するために設計された、マルチテナントアーキテクチャを備えています。この記事では、AMSアカウントを作成し、複数のゲームネームスペースにリンクした際に、ゲームネームスペース間で共有されるリソースについて説明します。
AMSアカウントを通じて共有されるリソース
ゲームネームスペースが同じAMSアカウントにリンクされている場合、以下のリソースタイプをそれらの間で共有できます。
-
アップロードされた専用サーバーイメージ: AMSは、リージョンごとに専用サーバーを自動的に配布するように設定できます。AMSコマンドラインインターフェースを使用して、これらの専用サーバーをアップロードし、AMSアカウントにリンクされている各ゲームネームスペースで利用可能にできます。AMSアカウントにリンクされているいずれのゲームネームスペースからも、専用サーバーイメージのストレージクォータを確認できます。
-
可観測性アカウントとメトリクス: AMSアカウントにリンクされているいずれのゲームネームスペースからも、可観測性アカウントとメトリクスを確認できます。
-
請求アカウントとメトリクス: AMSアカウントにリンクされているいずれのゲームネームスペースからも、請求アカウントとメトリクスを確認できます。
次のステップ
ネームスペースでAMSを有効化し、AMSアカウントを作成することで、AMSを使い始めましょう。AMSを有効化してAMSアカウントを作成するを参照してください。