専用サーバー 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
-
Admin Portal にログインし、ゲーム名前空間ダッシュボードに移動します。
-
Foundations > Identity & Access > IAM Clients に移動し、Create IAM Clients をクリックします。
-
新しいページで、以下の設定を使用して新しいサーバー IAM クライアントを作成します。
- Create Options: 新しい IAM クライアントを作成するために利用できるオプション。Create from Template を選択します。
- Select Template: 新しい 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 設定の管理が可能になります。
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 -
Create をクリックしてサーバー IAM クライアントを作成します。作成が完了すれば、セットアップは完了です。
-
Admin Portal にログインし、ゲーム名前空間ダッシュボードに移動します。
-
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 プロジェクトをリビルドします。