専用サーバー IAM クライアントを設定する - AccelByte Multiplayer Servers (AMS) による専用サーバー - (Unreal Engine モジュール)
注釈:本資料はAI技術を用いて翻訳されています。
概要
IAM クライアントは、AccelByte Gaming Services (AGS) の特定のリソースに権限を付与するために使用されます。ゲームの専用サーバーが AccelByte Multiplayer Servers (AMS) と通信できるようにするには、正しい IAM クライアント権限を設定する必要があります。
サーバー IAM クライアントを作成する
サーバー ID およびアクセス管理 (IAM) クライアントは、ゲームサーバーに権限を付与する IAM クライアントです。ゲームサーバーが AMS と通信できるようにするには、十分な権限が必要です。
- AGS Shared Cloud
- AGS Private Cloud
-
Log in to the Admin Portal and go to your game namespace dashboard.
-
Go to Game Setup > Games and App > IAM Clients and click Create IAM Clients.
-
On the new page, use the configuration below to create a new server IAM client.
- Create Options: the available options to create a new IAM client. Choose Create from Template.
- Select Template: the template to create a new IAM client. Select Dedicated Server. This option gives the necessary permissions for your game server.
- Client Name: the name of the IAM client. Set it to ByteWars-GameServer.
- Client Type: the confidentiality of the IAM client. Since the server IAM client must be secret, set it to Confidential.
- Secret: the secret or password for the IAM client. You can use your own secret or click the Generate button to generate a random one. Be sure to copy this.
- Redirect URI: the URI used to redirect once the IAM client authorization is successful. Set it to
http://127.0.0.1.
warningThe Secret will not be shown again after you create the IAM client. Be sure to copy and save it before proceeding to the next step.
-
On the Permissions tab, make sure it has these permissions. These permissions allow your server to manage game session, update statistics, read player information, and manage AMS settings.
Resource Permission AMS > Dedicated Server Create, Read, Update, Delete IAM > Users Read Session > Game Session Create, Read Statistics > User’s Statistics Value Create, Read, Update -
Click Create to create your server IAM client. Once you're done with the creation, the setup is complete.
-
Log in to the Admin Portal and go to your game namespace dashboard.
-
Game Setup > Games and Apps > 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 クライアントを作成すると、その情報が画面に表示されます。
-
Permissions タブに移動し、Add をクリックします。以下の権限を 1 つずつ追加します。これらの権限により、サーバーはゲームセッションの管理、統計の更新、プレイヤー情報の読み取り、AMS 設定の管理が可能になります。
Resource Permission 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 Shared Cloud
- AGS Private Cloud
-
Admin Portal にログインし、ゲーム名前空間ダッシュボードに移動します。
-
Game Setup > Games and Apps > IAM Clients に移動し、Create IAM Clients をクリックします。
-
新しいページで、以下の設定を使用して新しい AMS CLI IAM クライアントを作成します。
- Create Options: 新しい IAM クライアントを作成するための利用可能なオプション。Create from Template を選択します。
- Select Template: 新しい 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 にアップロードできます。
Resource Permission AMS > Dedicated Server Toolkit Create, Read, Update -
Create をクリックして AMS CLI IAM クライアントを作成すると、設定は完了です。
-
Admin Portal にログインし、ゲーム名前空間ダッシュボードに移動します。
-
Game Setup > Games and Apps > 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 クライアントを作成すると、その情報が画面に表示されます。
-
Permissions タブに移動し、Add をクリックします。次に、以下の権限を追加します。この権限により、AMS CLI を使用してサーバーイメージを AMS にアップロードできます。
Resource Permission AMS:UPLOAD Create, Update -
これで、AMS CLI IAM クライアントの設定は完了です。
Server SDK を設定する
Admin Portal でサーバー IAM クライアントを設定したら、ゲームプロジェクトで Server SDK を設定する必要があります。このセクションでは、ゲームサーバーが AMS と通信する権限を持つように Server SDK を設定する方法を説明します。
-
Byte Wars Unreal プロジェクトディレクトリの
ConfigフォルダにあるDefaultEngine.iniファイルを開きます。 -
ファイル内で
[/Script/AccelByteUe4Sdk.AccelByteServerSettings]セクションを見つけ、Client IDとClient Secretを サーバー IAM クライアントを作成する セクション のステップ 3 で作成したサーバー IAM クライアント情報に置き換えます。次に、bManualRegisterServerとbServerUseAMSのブール値をtrueに変更し、[Core.Log]の下でいくつかのログカテゴリの詳細レベルを verbose にします。また、ゲーム名前空間と AGS 環境に基づいて他のプレースホルダー値を置き換えます。- AGS Shared Cloud
- AGS Private Cloud
[/Script/AccelByteUe4Sdk.AccelByteServerSettings]
ClientId=<server_iam_client_id>
ClientSecret=<server_iam_client_secret>
Namespace=<game_namespace_id>
PublisherNamespace=
RedirectURI="http://127.0.0.1"
BaseUrl="https://<game_namespace_id>.prod.gamingservices.accelbyte.io"
[OnlineSubsystemAccelByte]
bManualRegisterServer=True
[/Script/AccelByteUe4Sdk.AccelByteSettings]
bServerUseAMS=True
; ByteWars tutorial module specific
[/ByteWars/TutorialModule.DSEssentials]
bServerUseAMS=true
[Core.Log]
LogAccelByte=Log
LogAccelByteOSS=Verbose
LogAccelByteAMS=Verbose
LogAccelByteDSHub=Verbose備考- ClientId は、サーバー IAM クライアントを一意に識別するためにランダムに生成されます。
- ClientSecret は、サーバー IAM クライアントのシークレット (パスワード) です。
- Namespace は、ゲーム名前空間の名前空間 ID です。
- RedirectURI は、サーバー認証が完了した後にゲームサーバーをリダイレクトする URI です。デフォルト値は
http://127.0.0.1です。 - BaseUrl は、ゲーム名前空間 ID と Admin Portal 環境を組み合わせたベース URL です。
- bManualRegisterServer は、専用サーバーがプレイヤーを受け入れる準備ができたことを AMS に手動で通知できるようにする専用サーバーのフラグです。これは、サーバーがまだ初期化状態 (アセットの読み込み、クラウドセーブ設定の取得など) にあるのに、プレイヤーがサーバーに接続しようとする問題を回避するためです。
- bServerUseAMS は、AGS Game SDK を使用して AMS の利用可能なロケーションを取得するためのゲームクライアントのフラグです。
[/Script/AccelByteUe4Sdk.AccelByteServerSettings]
ClientId=<server_iam_client_id>
ClientSecret=<server_iam_client_secret>
Namespace=<game_namespace_id>
PublisherNamespace=accelbyte
RedirectURI="http://127.0.0.1"
BaseUrl="https://<studio_name>.accelbyte.io"
[OnlineSubsystemAccelByte]
bManualRegisterServer=True
[/Script/AccelByteUe4Sdk.AccelByteSettings]
bServerUseAMS=True
; ByteWars tutorial module specific
[/ByteWars/TutorialModule.DSEssentials]
bServerUseAMS=true
[Core.Log]
LogAccelByte=Log
LogAccelByteOSS=Verbose
LogAccelByteAMS=Verbose
LogAccelByteDSHub=Verbose備考- ClientId は、サーバー IAM クライアントを一意に識別するためにランダムに生成されます。
- ClientSecret は、サーバー IAM クライアントのシークレット (パスワード) です。
- Namespace は、ゲーム名前空間の名前空間 ID です。
- PublisherNamespace は、パブリッシャー名前空間のパブリッシャー ID です。デフォルト値は
accelbyteです。 - RedirectURI は、サーバー認証が完了した後にゲームサーバーをリダイレクトする URI です。デフォルト値は
http://127.0.0.1です。 - BaseUrl は、Admin Portal 環境のベース URL です。
- bManualRegisterServer は、専用サーバーがプレイヤーを受け入れる準備ができたことを AMS に手動で通知できるようにする専用サーバーのフラグです。これは、サーバーがまだ初期化状態 (アセットの読み込み、クラウドセーブ設定の取得など) にあるのに、プレイヤーがサーバーに接続しようとする問題を回避するためです。
- bServerUseAMS は、AGS SDK を使用して AMS の利用可能なロケーションを取得するためのゲームクライアントのフラグです。
ヒント-
ゲーム名前空間 ID を見つけるには、Admin Portal に移動し、ゲーム名前空間がリストされている Namespace ページに移動します。次に、GAMES セクションの下でゲーム名前空間を見つけ、gear アイコンをクリックします。新しいページで、Namespace ID プロパティを見つけると、ゲーム名前空間 ID の値を確認できます。
-
同様に、パブリッシャー名前空間 ID を見つけるには、Admin Portal に移動し、ゲーム名前空間がリストされている Namespace ページに移動します。次に、PUBLISHER セクションの下でパブリッシャー名前空間を見つけ、gear アイコンをクリックします。新しいページで、Namespace ID プロパティを見つけると、パブリッシャー名前空間 ID の値を確認できます。
-
DefaultEngine.iniファイルを保存し、Byte Wars プロジェクトをリビルドします。