クライアント とは製品の Epic Online Services (EOS) の機能にアクセスするあらゆるプログラムを指し、エンド ユーザーがシステム上で実行するローカル ビルドや、デベロッパーが実行する専用サーバー、バックエンド サービスを可視化する必要のあるその他のプログラムが含まれます。
EOS では、OAuth クライアント資格情報 を使って各サービスへのアクセスを承認します。それぞれの EOS クライアントには、作成時に、認証に必要になる クライアント ID と クライアント シークレット (パスワード) が割り当てられます。この情報は EOS_Platform_Create のパラメータとして EOS_Platform_ClientCredentials 構造体に渡されるので、SDK はプログラムを有効な EOS クライアントとして認識し、クライアント ポリシーで定義された機能へのアクセス権を付与することができます。
クライアント ポリシーの導入前に作成されたクライアントは、このクライアントにもともと割り当てられていたロールと一致するクライアント ポリシーに自動的に関連付けられ、「Legacy」というラベルが付きます。
クライアント ポリシーの使用について、再度ご確認になることをお勧めします。ゲームで専用サーバーを実行しておらず、クライアントによるピアツーピア マッチのホストを許可する場合は、ポリシーを新しいピアツーピア ポリシーまたは適切なカスタム ポリシーに更新することを検討してください。
ゲームを不正なアクティビティから保護する上で、クライアント ポリシーは非常に重要です。クライアントおよびクライアント ポリシーを表示および管理するには、製品の [Product Settings (製品設定)] ページに移動し、[Clients] タブを選択します。
クライアント
信頼されていないクライアント とは、通常、製品クライアントなどの一般公開されているアプリケーションを指します。製品サーバーの役割を果たすコミュニティまたはピアツーピア製品で実行するためにリリースされたサーバーは、信頼されたクライアントとはみなしません。デベロッパーの方は、このポリシーを使ってサーバーに接続するときに、すべてのプレイヤーが改ざんされていないバージョンのリリース コードを実行すると想定することはできません。
信頼されたクライアント とは、データセンターにある一般公開されていない専用サーバーなど、デベロッパーの制御下にあるものを指します。信頼されたクライアントは改ざんされておらず、デベロッパー独自の環境でのみ実行されることを想定できるため、信頼されたアプリケーションにはより多くの許可を与えることができます。
新しいクライアントを追加する
新しい EOS クライアントを追加するには [New Client (新規クライアント)] ボタンをクリックします。[New Client (新規クライアント)] モーダルが開くので、ここでクライアントの詳細を入力します。
クライアントはクライアント ポリシーに関連付ける必要があります。1 つのクライアント ポリシーに複数のクライアントを関連付けることができます。クライアント ポリシーにクライアントを関連付けないと、作成したクライアントを保存することはできません。
ポリシー
クライアントを新規作成する前に、そのクライアントに対して必要な権限のクライアント ポリシーを作る必要があります。作成が必要な場合、クライアント ポリシーは、クライアントの新規作成時に作成するか、[Client Policies (クライアント ポリシー)] セクションの [Add New Client Policy (新規クライアント ポリシーの追加)] をクリックすることで作成できます。1 つのクライアント ポリシーに複数のクライアントを関連付けることができます。
たとえば、クライアントが専用サーバーを使用している場合は、TrustedServer タイプを選択できます。これにより、信頼されたバックエンドに適切な一連の許可が決定されます。
また、カスタム クライアント ポリシー を編集して、許可するアクションを個別に選択することもできます。
[User required (ユーザーが必要)] 条件を使用すると、特定のポリシーでアクションを実行するためにユーザーにログインを要求することができます。たとえば、Lobbies または Player Data Storage の機能を使用するためには [User required] を選択する必要があります。
デフォルトのポリシー タイプ
GameClient
- 信頼されていないクライアント アプリケーション向けのポリシー
- 認証済みのユーザーのみ
GameClient with UnlockAchievements
- GameClient と同じですが、クライアントによるプレイヤー アチーブメントの解除を許可
- 認証済みのユーザーのみ
Peer2Peer
- マルチプレイヤー マッチングのホストを希望する、信頼されていないクライアント アプリケーション向けのポリシー
- 認証済みのユーザーのみ
TrustedServer
- 専用サーバーまたは信頼されたアプリケーション向けのポリシー
- プレイヤーのために、マッチメイキング セッションを作成してスタッツを取り込む機能を含む
- 認証済みのユーザーである必要なし
Custom
- 各サービスに対してカスタマイズされた一連のアクションを許可するポリシーを新規に作成
クライアント ポリシー許可の評価
すべてのリクエストはデフォルトで拒否されます。クライアント ポリシーに加えられたアクションのみが許可されます。
エラー処理
エラーをトラブルシューティングする際は、最初にログで問題に関する詳細を確認してください。
SDK バージョンが 1.10 以前の場合、このサービスのエラーはすべて EOS_Unexpected_Error
として返されます。
SDK バージョンが 1.10 より後の場合に発生する可能性のあるエラーは以下の通りです。
エラー | 説明 | 解決方法 |
---|---|---|
EOS_NotConfigured | この呼び出しに対してクライアント許可が設定されていません。 | Developer Portal に行き、このクライアントのポリシーを設定します。 |
EOS_AcessDenied | この呼び出しに対してクライアント許可は設定されていますが、呼び出しがチェック時に失敗します (例:正しく設定されているクライアントを使用していますが、別のプレイヤー専用のデータ ストレージにアクセスしようとした場合)。 | ログを参照して問題に関する詳細を確認し、サポートに連絡してください。 |
EOS_InvalidAuth | クライアントにはサインイン済みのユーザーが必須であると設定されていますが、クライアントの資格情報は許可されていません。 | ログを参照して問題に関する詳細を確認し、サポートに連絡してください。 |
EOS_AccessDenied | クライアント ポリシーにより、このクライアントの呼び出しが禁止されています。Developer Portal で、その呼び出しに対するクライアントのアクセスが許可されていない可能性があります。 | Developer Portal でこのクライアントの設定を変更します。または、このクライアントによるアクセスを許可するポリシーを新しく作成します。 |