専用サーバー IAM クライアントを設定する - AccelByte Multiplayer Servers (AMS) による専用サーバー - (Unreal Engine モジュール)
注釈:本資料はAI技術を用いて翻訳されています。
概要
IAM クライアントは、AccelByte Gaming Services (AGS) 内の特定のリソースに対する権限を与えるために使用します。ゲームの専用サーバーが AccelByte Multiplayer Servers (AMS) と通信できるようにするには、正しい IAM クライアント権限を設定する必要があります。
サーバー IAM クライアントを作成する
サーバーのアイデンティティおよびアクセス管理 (IAM) クライアントは、ゲームサーバーに権限を与える IAM クライアントです。ゲームサーバーが AMS と通信できるようにするには、十分な権限が必要です。
- AGS Public 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 にログインし、ゲームのネームスペースダッシュボードに移動します。
-
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 クライアントを作成すると、その情報が画面に表示されます。
-
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 Public Cloud
- AGS Private Cloud
-
Admin Portal にログインし、ゲームのネームスペースダッシュボードに移動します。
-
Foundations > Identity & Access > 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 にログインし、ゲームのネームスペースダッシュボードに移動します。
-
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 クライアントを作成すると、その情報が画面に表示されます。
-
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]セクションを見つけ、サーバー IAM クライアントを作成するセクション のステップ3で作成したサーバー IAM クライアント情報でClient IDとClient Secretを置き換えます。次に、bManualRegisterServerとbServerUseAMSのブール値をtrueに切り替え、[Core.Log]の下にある一部のログカテゴリの詳細レベルを verbose に上げます。また、ゲームのネームスペースと AGS 環境に基づいて、他のプレースホルダー値も置き換えます。- AGS Public 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 プロジェクトを再ビルドします。