お世話になっております。
現在 UE 5.6.1 & OnlineSubsystem プラグイン & EOS 1.18.1.2 を使用した
クロスプラットフォーム対応(PS5 / XSX / Switch2 / Steam)のオンラインマルチプレイ機能を実装しております。
XSX 版でセッションを作成しようとしたところ、下記のエラーで失敗する状態です。
LogEOSSDK: Error: LogEOSIntegratedPlatform: FIntegratedBaseIdentity::ValidateUserPlatformLoginStatus() Specified local user ([PUID]000...643) is invalid.
LogEOSSDK: Error: LogEOSLobby: Cannot create Lobby, user permissions do not allow it.
PS5版やSteam版では、問題なくセッションの作成は確認できております。
【開発方針】
非推奨となった EOSPlus は使用しない形に修正し、
現段階では ESA は利用しない方針で開発を進めています。
【確認したこと】
[Content removed]
上記の問い合わせの内容やログに類似している症状と思われるのですが、
EOSPlus を使用しない都合上、統合プラットフォームを有効にする必要があると思われるため
同じ解決方法を取ることができませんでした。
【質問】
ログを添付いたしましたが、EOSAuth という文字列が見受けられました。
統合プラットフォームを有効にするには、ESA の利用が必要となるのでしょうか?
恐れ入りますが、原因として考えらえる点がありましたらご教示いただけますと幸いです。
よろしくお願いいたします。
[Attachment Removed]
お世話になっております。
ご報告ありがとうございます。
添付いただいたログを確認いたしました。
まずご質問の件ですが、Integrated Platformの有効化にEAS(Epic Account Services)は必要ありません。
ログ内の「EOSAuth」はEOSバックエンド内部のサービス識別子です。同ログ内のGetTurnCredentialsやSearchProductUsersV9についても同様に出力されているため、EASの利用を示すものではございません。
ログ上では、XSTSの取得およびGDK側の権限確認は成功しており、EOS ConnectについてもPUIDが利用可能となる段階まで進行しています。
一方、Lobby作成時の「CanPlayOnline」確認において、対象PUIDに対応するXboxローカルユーザーをIntegrated Platform側で解決できず、EOS_InvalidUserとなっています。
ご利用条件とログの流れから、呼び出しタイミングに起因する既知事象が有力な候補と考えております。
EASを使用せず、Native Platform Integrationを有効にしている構成では、EOS_Connect_Loginのコールバック直後にEOS Game Services APIを呼び出すと、EOS_InvalidUserが返る場合があります。
EASを使用しない場合、プラットフォームアカウントとPUIDの紐付けはEOS_Connect_Loginの完了後に非同期で行われます。この処理が完了する前にLobby作成が実行されると、Integrated Platform側でローカルユーザーを解決できず、今回と同様のエラーとなる可能性があります。
切り分けとして、OnlineSubsystemEOSのログイン完了通知後に短時間の待機(目安として数百ミリ秒)を設けてから、CreateSessionを実行してください。
または、CreateSessionが失敗し、ログ上でEOS_InvalidUserが確認された場合に限り、短い間隔を設けて2~3回のリトライをお試しください。
いずれかによって解消する場合は、プラットフォームアカウントとPUIDの紐付けが完了する前にLobby作成が実行されている可能性が高いと判断できます。なお、上記の待機およびリトライは、本事象を確認するための切り分けおよび一時的な回避策となります。
本事象については弊社でも認識しており、SDK側での改善を検討しております。
上記をお試しいただいても解消しない場合は、設定面を含めて追加調査いたします。その際は、アプリケーション起動時の各OSSおよびEOS Platformの初期化から、EOS Connectログイン、Lobby作成失敗までのタイムスタンプを含むログと、最終的に適用された以下のini設定をご共有いただけますでしょうか。
[OnlineSubsystem]
[/Script/OnlineSubsystemEOS.EOSSettings]
[EOSSDK]
ログをご共有いただく際は、認証トークン、ユーザーIDおよび各種クレデンシャルを必要に応じてマスキングしてください。
ご確認のほど、よろしくお願いいたします。
[Attachment Removed]
ご返答ありがとうございます。
Integrated Platform の有効化において EAS の利用は不要であること、
承知いたしました。
また、
>OnlineSubsystemEOSのログイン完了通知後に短時間の待機(目安として数百ミリ秒)を設けてから、CreateSessionを実行してください。
こちらの方法で、問題なくセッション作成が可能となりました。
一旦こちらの回避策で運用させていただきたいと思います。
ご対応ありがとうございました。
今後ともよろしくお願いいたします。
[Attachment Removed]
お世話になっております。
ご確認ありがとうございます。
セッション作成が問題なく行えるようになったとのこと、承知いたしました。
本事象はプラットフォームアカウントとPUIDの紐付け完了前にAPIが呼び出されることに起因するものですので、
ログイン完了通知後に短時間の待機を設ける形での運用で問題ございません。
なお、同様の理由から、他のEOS Game Services APIについてもログイン直後の呼び出しでは同種の事象が発生する可能性がございます。
その場合も同様の対応でご確認いただけます。
本事象については弊社でも認識しており、SDK側での改善を検討しております。
引き続き何かございましたら、いつでもお知らせください。
どうぞよろしくお願いいたします。
[Attachment Removed]
ご返答ありがとうございます。
様子を見ておりましたが、
セッション作成に失敗する症状は再現していませんので
本件はクローズしていただいて問題ありません。
ご対応ありがとうございました。
今後ともよろしくお願いいたします。
[Attachment Removed]
ご確認ありがとうございます。
再現していないとのこと、承知いたしました。
本件はクローズとさせていただきます。
同様の症状が再発した場合や、その他ご不明な点がございましたら、お気軽にお問い合わせください。
今後ともよろしくお願いいたします。
[Attachment Removed]