専用サーバーをAMSにアップロードする - ゲームサーバー統合 - (Unityモジュール)
注釈:本資料はAI技術を用いて翻訳されています。
Linux用専用サーバーをパッケージ化する
AMSにアップロードできるのはLinuxのゲームサーバービルドのみです。このセクションでは、ゲームサーバーをLinuxビルドとしてパッケージ化する方法を学びます。
-
Unity EditorでByte Warsを開き、File > Build Settingsに移動します。
-
新しいウィンドウで、PlatformにDedicated Serverを選択し、Target PlatformとしてLinuxを選択します。また、サーバービルドでログを表示できるようにDevelopment Buildを有効にします。
-
次に、Buildボタンをクリックします。
-
新しいポップアップウィンドウで、サーバービルドの名前をByteWars.x86_64とします。その後、キーボードでEnterキーを押してビルドプロセスを開始し、完了するまで待ちます。
サーバーイメージをAMSにアップロードする
このチュートリアルのセクションでは、ゲームサーバーのLinuxビルドをサーバーイメージとしてAMSにアップロードする方法を学びます。
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Multiplayer > Multiplayer Servers > Download Resourceに移動します。
-
AMS Command Line Interface(CLI)の**For Windows (amd64)**をダウンロードします。ams.exeファイルがダウンロードされます。
-
AMS CLIを使用してLinux専用サーバーをアップロードします。Windows PowerShellを使用して、以下のコマンドでams.exeを実行します。前のセクションで作成したByteWars-AMS IAMクライアントのクライアントIDとクライアントシークレットを使用して、
<AMSCLI_ClientID>と<AMSCLI_ClientSecret>を置き換えます。.\ams.exe upload -H <AMS_HostURL> -c <AMSCLI_ClientID> -s <AMSCLI_ClientSecret> -n <DSImageName> -p <DSAbsoluteLocalPath> -e ByteWars.x86_64備考専用サーバーをアップロードするためのAMS CLIコマンドの詳細は以下のとおりです。
-H: AGSネームスペースの実行場所に応じたAMSホストURL。AGS Private Cloudの場合、ホストURLは<studio_name>.accelbyte.ioです。AGS Public Cloudの場合、ホストURLはprod.gamingservices.accelbyte.ioです。-c: 認証に使用するIAMクライアントID。作成したAMS CLI IAMクライアントのIAMクライアントIDを設定します。-s: 認証に使用するIAMクライアントシークレット。作成したAMS CLI IAMクライアントのIAMクライアントシークレットを設定します。-n: アップロード処理が完了した後の専用サーバーイメージの名前。任意の名前を指定できますが、わかりやすい名前にしてください。たとえば、サーバーのバージョンを示す1.4.0-unity-bytewarsなどです。-p: アップロードするサーバーディレクトリへのローカルパス。たとえば、C:/Documents/ByteWars/LinuxServerのような絶対パス、または../ByteWars/LinuxServerのような相対パスを使用できます。-e: サーバーディレクトリ内の専用サーバーの実行ファイル。この場合、実行ファイルはByteWars.x86_64ファイルです。
-
アップロード処理が完了すると、Admin Portalに新しい専用サーバーイメージが表示されます。Multiplayer > Multiplayer Servers > Server Imagesからも確認できます。
AMSフリートを作成する
アップロードしたサーバーイメージを使用して、AMSフリートによって管理される専用サーバーのインスタンスを作成できます。AMSフリートは、リージョンの設定に基づいて仮想マシンをスケールし、それらの仮想マシン内でホストされる専用サーバーを管理する機能です。このセクションでは、ゲームサーバー用のフリートを作成する方法を学びます。
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Multiplayer > Multiplayer Servers > Fleet Managerに移動します。
-
Region Listセクションで、専用サーバーをデプロイしたいリージョンを切り替えます。このチュートリアルでは、ap-southeast-1とus-east-2を有効にします。
-
Create Fleet > Create Newをクリックして新しいフリートを作成します。
-
新しいFleet & Imageタブで、フリート名を入力し、先ほどアップロードしたサーバーイメージを選択します。フリート名は任意ですが、わかりやすくするためにサーバーイメージ名と同じ名前を使用できます。完了したら、Nextボタンをクリックします。
-
Deployment Profileタブで、TimeoutとPort Configurationの設定はデフォルトのままにします。Command Line設定には、専用サーバーがAMSによって管理できるように設定する以下のデフォルトコマンドを入力します。完了したら、Nextをクリックします。
-dsid ${dsid} -port ${default_port} -
DS Host & Regionタブでは、必要に応じて仮想マシン(VM)のインスタンスタイプを選択できます。このチュートリアルでは、小さいインスタンスを使用します。Host Instanceにttx1.sを選択し、Dedicated Serversの数を2に設定します。この設定により、フリートは選択したVMインスタンス上に2つの専用サーバーを起動します。
-
DS Host & Regionタブのまま、Regional Configurationセクションに移動します。次に、使用したいリージョンを有効にします。この例ではap-southeast-1とus-east-2を使用します。このチュートリアルでは、Min Serversを0、Max Serversを2、Buffer Valueを1に設定します。
備考- Min Servers: サーバーが「Ready」(ウォームアップ済みバッファ)状態か「In Session」(ゲームセッション実行中)状態かにかかわらず、デプロイが維持する必要がある最小サーバー数。
- Max Servers: リージョンが維持できる最大サーバー数。この値は、ゲームサーバーのコストが予算を超えないようにするためのリミッターとして役立ちます。
- Buffer Value: バッファ値は、フリートがウォームアップ済みバッファとして維持するサーバー数を指定します。
-
Log & Artifacts Samplingタブでは、専用サーバーがログを生成できるようにします。これを行うには、Enable Log Samplingオプションを有効にし、サンプルを**100%**に設定します。この設定により、専用サーバーはすべてのイベントをログに記録します。完了したら、Nextボタンをクリックします。
-
Summaryタブで、フリートの設定を確認できます。その後、Createボタンをクリックして新しいフリートを作成します。
-
フリートが作成され、フリートリストで利用可能になります。フリート名をクリックして、フリートの詳細を開きます。
-
フリートが有効化されていない場合は、フリート名の下、左上隅にあるFleet Statusトグルを見つけます。必ずActiveに切り替えてください。
-
フリートの詳細ページで、Dedicated Server Listセクションを見つけます。そこで、専用サーバーとそのステータスを確認できます。
備考新しいフリートでは通常、専用サーバーが起動して実行可能になり、リストに表示されるまでに約3分かかります。以下は、フリート上の専用サーバーの状態です。
- Creating: 専用サーバーが現在初期化中です(まだAMSウォッチドッグへの準備完了メッセージの送信は行われていません)。
- Ready: 専用サーバーがAMSに準備完了信号を送信し、利用可能な状態です。
- Claiming: フリートマネージャーが、クレームキーを使用して専用サーバーをセッションにクレーム(割り当て)している最中です。
- Claimed: 専用サーバーはすでにゲームセッションに紐付けられており、ゲームが進行中です。
- Removed: 専用サーバーがフリートから削除されています。
フリート用のクレームキーを作成する
このセクションでは、AMSフリートから専用サーバーをクレームするためのクレームキーを作成する方法を学びます。これらのクレームキーは、バックエンドサービスが同じクレームキーが関連付けられたAMSフリートから専用サーバーを特定してクレームするために使用できます。これは、ネームスペース上で複数のAMSフリートがアクティブになっている場合にも便利です。
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Multiplayer > Multiplayer Servers > Fleet Managerに移動し、作成したフリートの名前をクリックします。
-
Fleet Informationセクションで、Add Moreボタンをクリックします。このチュートリアルでは、unity-ds-amsという名前の新しいクレームキーを入力する必要があります。
-
これで、バックエンドサービス上でunity-ds-amsクレームキーを使用して、ゲームクライアント用の専用サーバーをクレームできます。