AMS設定のセットアップ - AccelByte Multiplayer Servers (AMS) を使用した専用サーバー - (Unityモジュール)
注釈:本資料はAI技術を用いて翻訳されています。
概要
IAMクライアントは、AccelByte Gaming Services (AGS) の特定のリソースに対する権限を付与するために使用されます。ゲームの専用サーバー (デディケーテッドサーバー) がAccelByte Multiplayer Servers (AMS) と通信できるようにするには、正しいIAMクライアントの権限を設定し、さらにプロジェクトにインストールされているAGS Game SDKを設定して、ゲームのAMS機能を有効にする必要があります。
サーバーIAMクライアントを作成する
サーバーID・アクセス管理 (IAM) クライアントは、ゲームサーバーに権限を付与するIAMクライアントです。ゲームサーバーがAMSと通信できるようにするには、十分な権限が必要です。
- AGS Public Cloud
- AGS Private Cloud
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Foundations > Identity & Access > IAM Clients に移動し、Create IAM Clients をクリックします。
-
新しいページで、以下の設定を使用して新しいサーバーIAMクライアントを作成します。
- Create Options: 新しいIAMクライアントを作成するための利用可能なオプションです。テンプレートから新しいIAMクライアントを作成するには、Create from Template オプションを選択します。
- Select Template: 新しいIAMクライアントを作成するためのテンプレートです。新しいサーバーIAMクライアントを作成するには、Dedicated Server オプションを選択します。このオプションは、ゲームサーバーに必要な権限を付与します。
- Client Name: IAMクライアントの名前です。ByteWars-GameServer に設定します。
- Client Type: IAMクライアントの機密性です。サーバーIAMクライアントは秘密にする必要があるため、Confidential に設定します。
- Secret: IAMクライアントのシークレット (パスワード) です。独自のシークレットを使用することも、Generate ボタンをクリックしてランダムなシークレットを生成することもできます。必ずこれをコピーしてください。
- Redirect URI: IAMクライアントの認証が成功した後にリダイレクトするために使用されるURIです。
http://127.0.0.1に設定します。
warningSecret は、IAMクライアントを作成した後は再表示されません。次のステップに進む前に、必ずコピーして保存してください。
-
Permissions タブで、以下の権限があることを確認します。これらの権限により、サーバーはゲームセッションの管理、統計情報の更新、プレイヤー情報の読み取り、AMS設定の管理を行うことができます。
リソース 権限 AMS > Dedicated Server Create, Read, Update, Delete IAM > Users Read Session > Game Session Create, Read Statistics > User’s Statistics Value Create, Read, Update -
Create をクリックしてサーバーIAMクライアントを作成します。作成が完了すると、設定は完了です。
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Foundations > Identity & Access > IAM Clients に移動し、Create New をクリックします。
-
新しいウィンドウで、以下の設定を使用して新しいサーバーIAMクライアントを作成します。
- Client Type: IAMクライアントの機密性です。サーバーIAMクライアントは秘密にする必要があるため、Confidential に設定します。
- Secret: IAMクライアントのシークレット (パスワード) です。独自のシークレットを使用することも、Generate Client Secret ボタンをクリックしてランダムなシークレットを生成することもできます。
- Client Name: IAMクライアントの名前です。ByteWars-GameServer に設定します。
- Redirect URI: IAMクライアントの認証が成功した後にリダイレクトするために使用されるURIです。
https://127.0.0.1に設定します。
warningSecret は、IAMクライアントを作成した後は再表示されません。次のステップに進む前に、必ずコピーして保存してください。
-
Create をクリックしてサーバーIAMクライアントを作成します。その後、新しいIAMクライアントの情報が画面に表示されます。
-
Permissions タブに移動し、Add をクリックします。以下の権限を1つずつ追加します。これらの権限により、サーバーはゲームセッションの管理、統計情報の更新、プレイヤー情報の読み取り、AMS設定の管理を行うことができます。
リソース 権限 NAMESPACE:{namespace}:SESSION:GAMECreate, Read ADMIN:NAMESPACE:{namespace}:SESSION:GAMEUpdate NAMESPACE:{namespace}:MATCHMAKING:BACKFILLCreate, Read, Update, Delete ADMIN:NAMESPACE:{namespace}:STATITEMCreate, Read, Update ADMIN:NAMESPACE:{namespace}:USERRead -
これで、サーバーIAMクライアントの設定は完了です。
AMS CLI IAMクライアントを作成する
AMSコマンドラインインターフェース (CLI) IAMクライアントは、サーバーをAMSにアップロードするための権限を付与するIAMクライアントです。
- AGS Public Cloud
- AGS Private Cloud
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Foundations > Identity & Access > IAM Clients に移動し、Create IAM Clients をクリックします。
-
新しいページで、以下の設定を使用して新しいAMS CLI IAMクライアントを作成します。
- Create Options: 新しいIAMクライアントを作成するための利用可能なオプションです。テンプレートから新しいIAMクライアントを作成するには、Create from Template オプションを選択します。
- Select Template: 新しいIAMクライアントを作成するためのテンプレートです。新しいAMS CLI IAMクライアントを作成するには、Dedicated Server Tools オプションを選択します。このオプションは、AMS CLIを実行するために必要な権限を付与します。
- Client Name: IAMクライアントの名前です。ByteWars-AMSCLI に設定します。
- Client Type: IAMクライアントの機密性です。AMS CLI IAMクライアントは秘密にする必要があるため、Confidential に設定します。
- Secret: IAMクライアントのシークレット (パスワード) です。独自のシークレットを使用することも、Generate ボタンをクリックしてランダムなシークレットを生成することもできます。必ずこれをコピーしてください。
- Redirect URI: IAMクライアントの認証が成功した後にリダイレクトするために使用されるURIです。
http://127.0.0.1に設定します。
warningSecret は、IAMクライアントを作成した後は再表示されません。次のステップに進む前に、必ずコピーして保存してください。
-
Permissions タブで、以下の権限があることを確認します。この権限により、AMS CLIを使用してサーバーイメージをAMSにアップロードできます。
リソース 権限 AMS > Dedicated Server Toolkit Create, Read, Update -
Create をクリックしてAMS CLI IAMクライアントを作成すると、設定は完了です。
-
Admin Portalにログインし、ゲームのネームスペースダッシュボードに移動します。
-
Foundations > Identity & Access > IAM Clients に移動し、Create New をクリックします。
-
新しいウィンドウで、以下の設定を使用して新しいAMS CLI IAMクライアントを作成します。
- Client Type: IAMクライアントの機密性です。AMS CLI IAMクライアントは秘密にする必要があるため、Confidential に設定します。
- Secret: IAMクライアントのシークレット (パスワード) です。独自のシークレットを使用することも、Generate Client Secret ボタンをクリックしてランダムなシークレットを生成することもできます。
- Client Name: IAMクライアントの名前です。ByteWars-AMSCLI に設定します。
- Redirect URI: IAMクライアントの認証が成功した後にリダイレクトするために使用されるURIです。
https://127.0.0.1に設定します。
warningSecret は、IAMクライアントを作成した後は再表示されません。次のステップに進む前に、必ずコピーして保存してください。
-
Create をクリックしてAMS CLI IAMクライアントを作成します。その後、新しいIAMクライアントの情報が画面に表示されます。
-
Permissions タブに移動し、Add をクリックします。次に、以下の権限を追加します。この権限により、AMS CLIを使用してサーバーイメージをAMSにアップロードできます。
リソース 権限 AMS:UPLOAD Create, Update -
これで、AMS CLI IAMクライアントの設定は完了です。
Server SDKを設定する
Admin PortalでサーバーIAMクライアントを設定したら、ゲームプロジェクトでServer SDKを設定する必要があります。
-
UnityでByte Warsを開きます。
-
Resourcesフォルダ内に、AccelByteServerSDKConfig.jsonという名前の新しいJSONファイルを作成します。以下のコードをコピーしてファイルに貼り付けます。次に、値をご自身の認証情報に置き換えます。- AGS Public Cloud
- AGS Private Cloud
{
"Default": {
"Namespace": "<game_namespace_id>",
"PublisherNamespace": "",
"BaseUrl": "https://<game_namespace_id>.prod.gamingservices.accelbyte.io",
"RedirectUri": "http://127.0.0.1"
}
}備考- Namespace はゲームのネームスペースのネームスペースIDです。
- BaseUrl は、ゲームのネームスペースIDとAdmin Portalの環境を組み合わせて作成されるベースURLです。
{
"Default": {
"Namespace": "<game_namespace_id>",
"PublisherNamespace": "accelbyte",
"BaseUrl": "https://<studio_name>.accelbyte.io",
"RedirectUri": "http://127.0.0.1"
}
}備考- Namespace はゲームのネームスペースのネームスペースIDです。
- PublisherNamespace はパブリッシャーのネームスペースのパブリッシャーIDです。デフォルト値は
accelbyteです。 - BaseUrl はAdmin Portalの環境のURLです。
ヒント-
ゲームのネームスペースIDを確認するには、Admin Portalに移動し、ゲームのネームスペースが一覧表示されている Namespace ページに移動します。次に、GAMES セクションでゲームのネームスペースを探し、gear アイコンをクリックします。新しいページで Namespace ID プロパティを探すと、ゲームのネームスペースID値を確認できます。
-
同様に、パブリッシャーのネームスペースIDを確認するには、Admin Portalに移動し、ゲームのネームスペースが一覧表示されている Namespace ページに移動します。次に、PUBLISHER セクションでパブリッシャーのネームスペースを探し、gear アイコンをクリックします。新しいページで Namespace ID プロパティを探すと、パブリッシャーのネームスペースID値を確認できます。
-
Resourcesフォルダ内に、AccelByteServerSDKOAuthConfig.jsonという名前の別のJSONファイルを作成します。次に、以下のコードをコピーしてファイルに貼り付け、値をご自身の認証情報に置き換えます。{
"Default": {
"ClientId": "<server_iam_client_id>",
"ClientSecret": "<server_iam_client_secret>"
}
}備考- ClientId はランダムに生成され、サーバーIAMクライアントを一意に識別するために使用されます。
- ClientSecret はサーバーIAMクライアントのシークレット (パスワード) です。
-
ファイルを保存すると、サーバーSDKの設定は完了です。
AGS Game SDKでAMSを有効にする
このセクションでは、プロジェクトにインストールされているAGS Game SDKでAMSを有効にし、ゲームサーバーがAMS機能を使用し、AMSと通信するための認可を得られるようにします。以下のいずれかの方法を使用できます。
将来的には、AGS Game SDKでAMSがデフォルトで有効になる予定です。
- From Config File
- From Unity Editor
-
AccelByteServerSDKConfig.jsonファイルを任意のテキストエディタで開きます。 -
AGS Game SDKでAMSを有効にするには、以下のように
EnableAmsServerQos設定をAccelByteServerSDKConfig.jsonファイルに追加して有効化します。{
"Default": {
...
"EnableAmsServerQos": true
}
} -
ファイルを保存して設定を有効にします。
-
Unity EditorでByte Warsを開きます。
-
ツールバーから AccelByte > Edit Server Settings に移動します。
-
AccelByte Server Config ウィンドウで Service URL Configs を展開し、Use AMS QoS Server URL を有効にして、AGS Game SDKでAMSを有効化します。
-
完了したら、Save ボタンをクリックして設定を保存します。
スターターモードを有効にする
モジュールの残りの部分に進むには、スターターモードを有効にする必要があります。これを行うには、Unityでプロジェクトを開きます。Projectウィンドウから Assets\Resources\Modules\MultiplayerDSEssentials\MultiplayerDSEssentialsAssetConfig.asset を開き、Inspectorで Is Starter Active 設定を有効にします。この設定により、チュートリアルを進めるために使用するスターターファイルが有効になります。