EOS SDK の情報
Epic Games Developer Portal (dev.epicgames.com/dev-portal) から Epic Online Services (EOS) SDK をダウンロードします。
EOS SDK の各種リリース バージョンだけでなく、ゲーム クライアントを実行するプラットフォームに応じて、SDK のさまざまなタイプをダウンロードして使用することができます。
-
Windows、macOS, Linux - C の EOS SDK と C# の EOS SDK。
-
モバイル - iOS 用 EOS SDK、Android 用 EOS SDK。
-
コンソール - C と C# コンソール用 EOS SDK ダウンロード。
コンソール用 SDK ダウンロードは、プラットフォーム ホルダーと Epic Games に承認されているデベロッパーのみ利用可能です。 プラットフォーム ホルダーは以下になります。Microsoft (Xbox One, Xbox Series X), Sony (PlayStation 4, PlayStation 5), Nintendo (Switch).
コンソール用 SDK ダウンロードおよび関連ドキュメントの利用方法は以下のとおりです。- プラットフォーム ホルダーからコンソール デベロッパー アクセスを新生するためのガイダンスは「Developer Portal (dev.epicgames.com/dev-portal)」を参照してください。
- プラットフォーム ホルダーからの承認が取得できたら、eoshelp.epicgames.com の中の Console Developer Request for Epic Online Services フォームを使用して Epic Games に申請することができます。
リリース ノート
2022
1.15.4 - 2022年11月16日
Anti-cheat
- 新規:
EOS_AntiCheatServer_SetClientNetworkState
の呼び出しに関する情報を含めるように、AntiCheatServer
ログ出力を改善しました。 - 新規:ゲーム サーバーがアンチチート サービスに対して行う HTTP リクエストの数を削減し、アンチチート サービスのサーバーパフォーマンスを改善しました。これにより、サーバーではより多くのプレイヤー数をサポートすることができます。
- 新規:
EOS_AntiCheatServer_LogPlayerDespawn
が呼び出されると、AntiCheatServer
は、より多くのデータをアンチチート サービスに送信するようになりました。 - バグ修正: サーバーの負荷が高い場合、アンチチート サービスがゲームセッションから不適切にプレイヤーをキックする可能性がある問題を修正しました。
認証
- バグ修正: SDK が EOS サービスからコンフィギュレーションを受け取る前に
EOS_Auth_VerifyIdToken
が使用された場合、EOS_Auth_VerifyIdToken
が有効な ID トークンに対してEOS_Auth_InvalidToken
を返さないように修正しました。EOS_Auth_VerifyIdToken
はコンフィギュレーションを正確に待機し、EOS_Success
を返すようになりました。
C# の EOS SDK
- 新規:C# での EOS SDK は、同じバッファの固定を複数回サポートするようになりました。これにより、パフォーマンスの向上に加え、アンチチート サービスによるネットワーク メッセージのインプレース暗号化と復号が可能になります。
Connect
- バグ修正: SDK が EOS サービスからコンフィギュレーションを受け取る前に
EOS_Connect_VerifyIdToken
が使用された場合、EOS_Connect_VerifyIdToken
が有効な ID トークンに対してEOS_Connect_InvalidToken
を返さないように修正しました。EOS_Connect_VerifyIdToken
はコンフィギュレーションを正確に待機し、EOS_Success
を返すようになりました。
Ecom
- 新規:利用資格トークン
EOS_Ecom_QueryEntitlementToken
をクエリするため、EcomInterface
に新しい API を追加しました。
ソーシャル オーバーレイ
- バグ修正: プレイヤーは、ゲーム セッションへの接続形態に関わらず、すべてのプレイヤーの [PROFILE] ボタンを見てクリックすることが可能になりました。たとえば、Epic Game Store 経由でゲーム セッションに接続しているプレイヤーでも Steam 経由で接続しているプレイヤーの [PROFILE] ボタンを見てクリックすることができます。これまでは、異なるゲーム プラットフォームで接続している一部のプレイヤー間ではお互いの [PROFILE] ボタンが表示されませんでした。
- **バグ修正:
EOS_UI_ShowBlockPlayer
およびEOS_UI_ShowReportPlayer
が失敗する問題を修正しました。この問題は、ソーシャル オーバーレイが明示的にプラットフォーム フラグで無効になっている場合にネットワークが切断されていると SDK が誤って検出していたことにより発生していました。
ロビー
- バグ修正: プレイヤーの同時ロビー数が 16 に制限されるようになりました。同時ロビーを 16 より多く作成しようとすると、
EOS_LimitExceeded
のエラー応答が返されます。
P2P
- 新規:ピアツーピアは
usrsctp
の代わりにdcSCTP SCTP
ライブラリ実装を使用するようになりました。これによりusrsctp
でのセキュリティ問題に対応し、ネットワーク状態が良くない場合の応答性が改善されます。- 注記:この変更は後方互換性がありますが、セキュリティとパフォーマンスの向上のために、できるだけ早く最新の SDK バージョンにアップグレードすることをお勧めします。
- バグ修正: 接続が確立された後、何らかの中断の後すぐにタイムアウトしてしまう問題を修正しました。
Sessions
- バグ修正: プレイヤーの同時セッション数が 16 に制限されるようになりました。同時セッションを 16 より多く作成しようとすると、
EOS_LimitExceeded
のエラー応答が返されます。
Stats
- バグ修正:
EOS_Stats_IngestStat
に対してLocalUserId
がTargetUserId
と同じである必要があるという制限を削除しました。つまり、クライアントポリシーの設定ingestForAnyUser
を有効にすると、ゲーム クライアントはすべてのプレイヤーのプレイヤー データを更新することができるようになるのです。例えば、ゲーム内のピアツーピア セッションで接続しているプレイヤー (リモート プレイヤーとローカル プレイヤー) です。
アップグレード ノート
ロビー
- バグ修正: プレイヤーの同時ロビー数が 16 に制限されるようになりました。同時ロビーを 16 より多く作成しようとすると、
EOS_LimitExceeded
のエラー応答が返されます。
Sessions
- バグ修正: プレイヤーの同時セッション数が 16 に制限されるようになりました。同時セッションを 16 より多く作成しようとすると、
EOS_LimitExceeded
のエラー応答が返されます。
非推奨事項
Anti-cheat
- 廃止:
EOS_AntiCheatServer_RegisterClientOptions
の文字列AccountId
パラメータを非推奨にして、新しいEOS_ProductUserId UserId
パラメータを導入して置き換えました。 新しいEOS_AntiCheatServer_RegisterClientOptions
にはタイピングがあります。- 注記:ゲーム サーバーがクライアントから安全に
EOS_ProductUserId
を受け取っていない場合に推奨される方法は、EOS 接続 ID トークンを使用することです。
- 注記:ゲーム サーバーがクライアントから安全に
EOS コア
- 廃止:EOS SDK の標準的な命名規則である
EOS_<system_type>_<function_name>_API_LATEST
に合わせるため、いくつかのマクロを非推奨とし、置き換えました。影響を受けるマクロ:EOS_PLAYERDATASTORAGE_*_API_LATEST
をEOS_TITLESTORAGE_*_API_LATEST
から文字列OPTIONS
を削除しました。たとえば、EOS_PLAYERDATASTORAGE_QUERYFILEOPTIONS_API_LATEST
はEOS_PLAYERDATASTORAGE_QUERYFILE_API_LATEST
となります。- 注記:後方互換性のため、非推奨のマクロはまだ存在しますが、将来のバージョンで削除する予定です。古い命名規則を使用している非推奨のマクロは、新しい命名規則を使用するマクロへの置き換えをお勧めします。
プラットフォーム別
Sony PlayStation
- 新規:Sony の PS4 Platform SDK version 10.008.001 のサポートを追加し、Sony の PS4 Platform SDK version 9.508.001 のサポートを維持しました。
- 新規:Sony の PS5 Platform SDK version 6.00.00.38 のサポートを追加し、Sony の PS5 Platform SDK version 5.00.00.33 のサポートを維持しました。
- バグ修正: PS5 で動作するゲームにおいて、ボイスチャットを有効にしたプレイヤーがロビーに参加または離脱した際にクラッシュする不具合を修正しました。
Microsoft Xbox
- 新規:Xbox GDK June 2022 QFE2 (220602) のバージョン サポートを追加し、March 2022 QFE1 (220301) のサポートを維持しました。
1.15.3 - 2022年10月6日
2022年10月6日より、EOS SDK リリース 1.15.3 には、Xbox および PlayStation 用の SDK へのホットフィックスが含まれています。
1.15.3 - 2022年9月19日
リリースノートとアップグレード ノート
モバイル
Android
-
新規:Android SDK のタイプが 2 つになりました。新しく追加されたタイプは静的で
libc++_static.a
とリンクします。既存の Android SDK は動的でlibc++_shared.so
とリンクします。SDK は両タイプとも SDK ダウンロードで入手することができます。両タイプに対してヘッダ ファイルは 1 つです。
- 静的バイナリは「
~/SDK/Bin/Android/static-stdc++
」にあります。 - 動的バイナリは「
~/SDK/Bin/Android/dynamic-stdc++
」にあります。
以下の場合は静的タイプを使用してください。
- ゲームエンジン (UE5.1 など) またはそのライブラリで、カスタムの new 演算子および delete 演算子が使用されている。それらは
libc++_shared.so
によって十分にサポートされていません。 - ゲームまたはゲーム内のライブラリで libc++_static.a が使用されている。
libc++_static.a
とlibc++_shared.so
の混在はサポートされていません。コードとライブラリ、およびサードパーティから使用するものは、すべてlibc++_static.a
とリンクしていることを確認してください。
- 静的バイナリは「
注記
- Epic Online Services SDK バージョン 1.15.2 をすでにダウンロードして使用しており、ゲームで P2P を使用している場合、できるだけ早く SDK バージョン 1.15.2.1 にアップデートすることを強くお勧めします。
- 参考のために 1.15.2 リリースノートをコピーしました。
1.15.2.1 - 2022年8月30日
リリース ノート
P2P
- バグ修正:1.15.2 において、特定の状況下でピア間の P2P 接続が接続後すぐにタイムアウトする新しい問題を解決しました。
1.15.2 - 2022年8月26日
リリース ノート
新機能
Mac での Apple シリコンのサポート
- 新規:SDK は、Universal dylib として Mac で Apple シリコンをサポートするようになりました。
- 注記:現在、Anti-cheat は Apple シリコンをサポートしません。
更新: 新規、バグ修正、改善、非推奨
Anti-cheat
- 新規:コンフィギュレーション ファイル
anticheat_integritytool.cfg
では、プレイヤーのマシンで許可されるゲームのアクティブなインスタンスの最大数など、ゲームのクライアントを設定できるようになりました。 - バグ修正: 新しいヘッダでプロジェクトを再構築しないで SDK1.15 を使用すると発生していた
EOS_AntiCheatClient_RegisterPeer
のクラッシュを解決しました。 - バグ修正: アンチチート サーバーは、EOS サービスのダウンタイムが原因で失敗した HTTP 要求の再試行を行わなくなりました。さらに、プレイヤーがゲーム セッションを終了したときに、アンチチート サーバーが再試行しなくなりました。
- バグ修正: アンチチート サーバーは、EOS サービスのダウンタイムが原因で失敗した HTTP 要求の再試行を行わなくなりました。出力は、以前のSDKバージョンの動作と一致する「
EasyAntiCheat/Certificates
」フォルダーに正しく配置されるようになりました。 - バグ修正: Anti-Cheat サービスが無効の場合に、Anti-Cheat Bootstrapper がキャッシュされたモジュールをロードしないように、問題を修正しました。
- バグ修正: 一部の macOS Monterey システムの SDK 初期化時のクラッシュを修正しました。
- バグ修正: AMD Ryzen CPU を実行するプレイヤーのマシンで Anti-Cheat Bootstrapper が遅延する問題を修正しました。
- バグ修正: プレイヤーの GPU で 2048x2048 を超えるテクスチャがサポートされていない場合に、Anti-Cheat Bootstrapper が初期化に失敗する問題を修正しました。
- バグ修正: スプラッシュ画面が元々白いか、白い要素がある場合に、Anti-Cheat Bootstrapper のユーザー インターフェースが見づらいという問題を修正しました。
- バグ修正: Anti-Cheat Bootstrapper と Arch Linux の最新バージョンとの互換性の問題を修正しました。この問題は、Proton を使用して Windows 用にコンパイルされたゲームを実行しようとすると、Steam デッキにも影響します。
- 修正を適用するには、古いバージョンの
start_protected_game.exe
をこのリリースにおいてパッケージ化された新しいバージョンに置き換えて、Dev Portal でゲームの最新の Linux アンチチート モジュールをリリースしてください。その他の変更は必要ありません。
- 修正を適用するには、古いバージョンの
- 改善点: Anti-Cheat Bootstrapper のバイナリ (実行可能ファイル) がバンドル内にあります。この実行可能バンドルは以下のとおりです。 macOS の実行可能バンドルにデフォルト アイコンを追加したため、macOS で Windows と同じアイコンが表示されます。
- 改善点: Anti-Cheat Bootstrapper で、リソースがプレイヤーのマシンのハード ディスクにキャッシュされなくなりました。
- 改善点: Windows 上の Anti-Cheat Bootstrapper で、タスクバーにゲームの実行可能ファイルのアイコンが表示されるようになりました。「
~/<game root>/ EasyAntiCheat
」ディレクトリにカスタム アイコンを追加すると、デフォルト アイコンが上書きされます。 - 改善点: Anti-Cheat Integrity Tool の使用サンプルが増えました。
anticheat_integritytool.exe --help
を実行すると、サンプルを表示できます。
認証
- 新規:ゲームで EOS オーバーレイが無効になっている、またはインストールされていない場合、Auth インターフェースはシステムブラウザを使用して、プレイヤーがサインインできるようにします。
- バグ修正:脆弱なネットワーク上で、ログアウトのコールバックが複数回起動し、複数回成功が返される問題を修正しました。
Connect
- バグ修正:
EOS_Connect_Login
が 32 文字制限のある UTF-8 文字の長さに対応できなかった問題を修正しました。
EOS コア
- 新規: iOS と Android のサンプルでは、SDK1.15 のサスペンド/レジュームおよびネットワーク接続/切断 API の例を使用するようになりました。
- 新規:EOS SDK は Steamworks API (
EOS_IntegratedPlatform_Steam_Options
) が必要になりました。Steamworks SDK バージョン 1.48 以降の Steamworks API を使用する必要があります。1.48 より前の Steamworks を使用している場合、Steam との連携は機能しません。 - バグ修正:
EOS_Platform_Create
は SDK 1.15 より前のヘッダ ファイルを正しく検出し、すべてのコンソール プラットフォームでデフォルトのEOS_ENetworkStatus
をEOS_NS_Online
に処理するようになりました。- 新規:すべてのコンソール プラットフォームで、デフォルトのネットワーク ステータスがオフラインになりました。これにより、
EOS_Platform_SetNetworkStatus
の使用時に管理がしやすくなりました。 - 以前:コンソール プラットフォームでは、ゲームがオンラインの時は
EOS_Platform_Create
のみを呼び出す必要がありました。ゲームがオフラインの時はEOS_Platform_Release
を最初に呼び出す必要がありました。ゲームで SDK 1.15 より前のヘッダ ファイルを使用している場合、SDK 1.15 はこれを維持しませんでした。この問題を修正しました。
- 新規:すべてのコンソール プラットフォームで、デフォルトのネットワーク ステータスがオフラインになりました。これにより、
P2P
- 新規:
EOS_P2P_SendPacket
において、内部ライブラリのスレッド同期ブロッキングが原因で発生していたパフォーマンス問題を修正しました。 - 新規:
EOS_P2P_ReceivePacket
は、新しいパケットを受け取るためにEOS_Platform_Tick
を呼び出す必要がなくなりました。 - 新規:
EOS_P2P_SendPacket
に新しいフィールドを追加しました。新しいフィールドは「DisableAutoAcceptConnection
」と呼ばれ、パケット送信ロジックで接続を自動的に受け入れることを可能にします。- このオプションを使用する場合、ゲームは常に
EOS_P2P_AcceptConnection
を使用して接続を開く必要があります。 EOS_P2P_SendPacket
を使用すると、以下の 2 つの状況で失敗した場合するとEOS_EResult::EOS_NoConnection
を返すようになりました。- リモートのピアが接続を受け入れていない場合。
- リモートのピアが最後に接続を受け入れた後で接続が終了された場合。
- このオプションを使用する場合、ゲームは常に
- 新規:
EOS_P2P_AddNotifyPeerConnectionInterrupted
という、接続中における致命的ではない切断をリッスンする関数を追加しました。この関数が切断を返すと、ゲームに接続ステータスを知らせるために次のコールバックのいずれかが発行されます。EOS_P2P_OnPeerConnectionEstablishedCallback
- 接続が再確立されました。EOS_P2P_OnRemoteConnectionClosedCallback
- 接続が失敗し終了しました。
Ecom
- 新規:
ReleaseDate
とEffectiveDate
をEOS_Ecom_CatalogOffer
に追加しました。 - 新規* Ecom インターフェースに次の 2 つの新しい API を導入しました。
EOS_Ecom_GetLastRedeemedEntitlementsCount
は、最後のEOS_Ecom_RedeemEntitlements
呼び出し中に引き換えられた利用資格の数をフェッチします。EOS_Ecom_CopyLastRedeemedEntitlementByIndex
は、インデックスによって引き換えられた利用資格 ID をフェッチします。
- バグ修正:
EOS_Ecom_RedeemEntitlements
は、間違った資格 ID が渡されると成功を返さなくなりました。 - 廃止:*
EOS_Ecom_CatalogOffer
のPurchasedCount
フィールドを非推奨としました。- 注記:
PurchasedCount
フィールドを使用しないでください。 - 新規:
PurchasedCount
フィールドは常に値が0
となります。 - 以前:SDK 1.15.2 より前では、オファーに
PurchaseLimit
を設定していない限り、EOS サービスは0
の値でPurchasedCount
を送信します。この動作は無期限にサポートされないため、この値に依存しないでください。
- 注記:
Samples
- 新規:サンプル プロジェクトにおいて、Steam ログインのセキュリティ向上のために、Steam Encryption Application Ticket ではなく Steam Auth Session Ticket が使用されるようになりました。
セッションベースのマッチメイキング
- バグ修正:
EOS_Sessions_JoinSession
を修正し、CompletionDelegate
を複数回呼び出したり、HTTP
の再試行を必要とする操作に対してEOS_NotFound
を返したりすることがないようにしました。
プラットフォーム固有
macOS
- バグ修正: Dev Auth Tool と Anti-Cheat bootstrapper が macOS 上で開かなくなる問題を修正しました。
コンソール全般
- 新規:コンソール用 EOS SDK はコンソール SDK の 2 つのリリース バージョンに固定されるようになりました。以下がコンソール SDK (Microsoft の Xbox SDK、Sony の PlayStation SDK、Nintendo の Switch SDK など) の 2 つのリリース バージョンです。
- 最新のリリース バージョン。
- 以前のリリース バージョン。
- 注記:これは、すべてのコンソールの EOS SDK と、コンソールの EOS SDK の今後すべてのリリースに適用されます。
- バグ修正:
EOS_Platform_Create
は SDK 1.15 より前のヘッダ ファイルを正しく検出し、すべてのコンソール プラットフォームでデフォルトのEOS_ENetworkStatus
をEOS_NS_Online
に処理するようになりました。これにより、コンソールでの後方互換性問題が解決されました。
Sony PlayStation
- 新規:PS4 SDK 9.008.001 のサポートを追加し、PS5 SDK 4.000.00.31 のサポートを維持しました。
Nintendo Switch
- 新規:Nintendo Switch SDK 14.3.0 のバージョン サポートを追加し、Nintendo Switch SDK 13.3.2 のサポートを維持しました。
Microsoft Xbox
- 新規:Xbox GDK 220301 のバージョン サポートを追加し、Xbox GDK 211001 のサポートを維持しました。
1.15.1 - 2022年7月1日
リリース ノート
注記 - Steam にゲームをシッピングする場合:
- Epic Online Services SDK バージョン 1.15 または C 用 SDK あるいは C◆ 用 SDK をすでにダウンロードして使用している場合、SDK のバージョン 1.15.1 をダウンロードして代わりに使用する必要があります。
- 1.15.1 は、C 用 SDK および C# 用 SDK での Steam の認証が更新されています。コンソール用 SDK に変更はありません。
C 用の SDK および C# 用の SDK
認証
- 非推奨:
EOS_Auth_Login
のEOS_ECT_STEAM_APP_TICKET
は廃止されました。代わりにEOS_ECT_STEAM_SESSION_TICKET
を使用してください。- 注記:コンソール用 SDK に変更はありません。
1.15 - 2022年6月16日
リリース ノート
新機能
クロスプレイ
PC 上のシームレスなクロスプレイクロスプレイを使用して、Steam と Epic Games ストア間でプレイヤーとマッチメイキング プールを統合します。 詳細については、「最新ニュース」を参照してください。
既存の機能、新機能、バグ修正、非推奨事項 Anti-cheat
- 新規:Anti-cheat のピアツーピア モードでは、PC とコンソール ユーザー間のクロスプラットフォーム プレイをサポートするようになりました。
- 新規:クライアント側の
EOS_AntiCheatClient_PollStatus
を、EOS_AntiCheatClient_AddNotifyClientIntegrityViolated
を介してアクセスできるコールバック関数に置き換えました。 - バグ修正:プレイヤーが検出を無効にすることでチートするために使用する
AntiCheatServer
の問題を修正しました。 - バグ修正:一部の macOS Monterey システムの SDK 初期化時のクラッシュを修正しました。
- 改善点:Anti-Cheat ゲームプレイ データ機能のエラーのログ記録を改善しました。
- 改善点:Anti-Cheat ピアツーピア モードのエラーのログ記録を改善しました。
- 非推奨:
EOS_AntiCheatClient_RegisterPeerOptions AccountID
が非推奨になり、PeerProductUserId
に置き換わりました。 - 改善点:Anti-Cheat Bootstrapper のバイナリ (実行可能ファイル) がバンドル内にあります。この実行可能バンドルは以下のとおりです。 macOS の実行可能バンドルにデフォルト アイコンを追加したため、macOS で Windows と同じアイコンが表示されます。 macOS で実行するゲームに変更を追加することができます。
- **既知の問題:EOS SDK 1.15 での使用を目的にした Anti-Cheat ツールへの変更が SDK に含まれていませんでした。代わりに、EOSSDK1.15.1 で配布されます。
- **既知の問題: EOS SDK 1.15 ライブラリを使用して EOS_AntiCheatClient_RegisterPeer を呼び出す場合は、新しい 1.15 ヘッダを使用してゲームを再構築する必要があります。使用しないとゲームがクラッシュします。
認証
- 新機能 (互換性を破る変更):Windows では、
EOS_LCT_AccountPortal
とEOS_LCT_ExternalAuth
のログイン タイプで EOS の再配布可能パッケージがゲームとともにインストールされている必要があります。- 詳細は、「再配布可能パッケージ インストーラー」を参照してください。
- 新規:SDK で、検証可能な保護者の同意がサポートされるようになりました。ユーザーが幼い場合は、Epic アカウントについて、またはゲームでのデータ共有について保護者による同意を得るよう求められる場合があります。
- 新規:SDK パッケージには、現在、Windows PC でのクロスプレイ用に EOS 再配布可能パッケージで使用するための EOS Bootstrapper と EOS Bootstrapper ツールが含まれています。
- 詳細は、「再配布可能パッケージ インストーラー」を参照してください。
- バグ修正:
EOS_Connect_OnLoginStatusChangedCallback
でローカル ユーザーの認証セッションが失効したことが報告されない問題を修正しました。 - バグ修正:
EOS_Platform_Create
の直後に呼び出されると、常にEOS_P2P_QueryNATType
が失敗し、間違った NAT サーバーが使用される問題を修正しました。 - バグ修正:
EOS_EResult::EOS_Auth_PersistentAuth_AccountNotActive
をEOS_EResult::EOS_Auth_AccountNotActive
に、名前を変更しました。返される Epic アカウントのステータスが永続的な (EOS_LCT_PersistentAuth
) ログイン タイプ専用でないため、Persistent
が削除されます。
EOS コア
-
新規:Windows PC 用の
EOS_Platform_GetDesktopCrossplayStatus
API を追加しました。Epic Games ストアの外部で配布されたゲームは、この API を使用して、Epic アカウントのログイン用のゲーム内のオーバーレイが使用可能になったことを確認できます。 -
新機能 (互換性を破る変更):Platform インターフェースに以下の API を追加しました。ゲームが中断されて再開された時間、およびローカル システムのネットワーク接続状態が変更された時間が SDK に通知されます。
使用できる新しい API モードは 4 種類です。
EOS_Platform_SetApplicationStatus
EOS_Platform_SetNetworkStatus
EOS_Platform_GetApplicationStatus
EOS_Platform_GetNetworkStatus
- すべてのゲームでは、SDK が正しく機能するように、次の 2 つの
Set
API を呼び出す必要があります。EOS_Platform_SetApplicationStatus
EOS_Platform_SetNetworkStatus
既知の問題: iOS と Android サンプルは、現在、新しい中断 / 再開 API とネットワーク接続 / 切断 API の例が更新されていません。
- 新規:タイプ
EOS_EApplicationStatus
およびEOS_ENetworkStatus
を追加しました。 - 新規:ゲーム クライアントがフォアグラウンド ステートを再開すると、SDK では、バックグラウンド ステートだったときに経過した時間に基づいて認証トークンの有効期限を更新します。
- 新規:プレイヤーの個人情報であるため、SDK ログの表示名を編集しました。
- 新規:機密の情報であるため、SDK ログの継続トークンを編集しました。
- 新規:
EOS_Ecom_QueryOwnership
の制限を 32 から 50 に更新して、SDK を EOS サービス リクエストの制限である 50 に合せました。 - 改善点:関連するプラットフォームが含まれるように、
EOS_GetVersion
で返される SDK ビルド バージョンの文字列を更新しました。
フレンド
- 新規:EOS_Friends_SendInvite
EOS_Friends_AcceptInvite
とEOS_Friends_RejectInvite
を有効にしました。プレイヤーがゲーム内で新規フレンド接続を実行できるように、ゲームでこれらの API を呼び出すことができます。これらの API は、以前の SDK バージョンでは有効になっていませんでした。
ロビー
- 新規:新しい通知関数
EOS_Lobby_AddNotifyLobbyInviteRejected
とEOS_Lobby_RemoveNotifyLobbyInviteRejected
を追加しました。 - 新規:カスタム招待を Lobbies インターフェイスと Sessions インターフェイスに合わせるために、
EOS_CustomInvites_AddNotifyRejected
関数とEOS_CustomInvites_RemoveNotifyRejected
関数を追加しました。 - バグ修正:SDK の音声機能とやり取りしているプレイヤーに関連するエラー メッセージを追加しました。プレイヤーが見つからない場合に、エラー メッセージで報告されます。
- バグ修正:ロビーへの招待は、招待を送信するプレイヤーで識別可能になりました。プレイヤーにさまざまなフレンドからのロビーへの招待がある場合、プレイヤーが招待のいずれかを受け入れると、ソーシャル オーバーレイでプレイヤーの未使用の招待がすべて削除されます。
P2P
- バグ修正:
EOS_Platform_Create
の直後に呼び出されると、常にEOS_P2P_QueryNATType
が失敗し、間違った NAT サーバーが使用される問題を修正しました。 - バグ修正:
EOS_P2P_SendPacket
の CPU のパフォーマンス上の負荷を大幅に削減しました。
プレイヤー データ ストレージ
- バグ修正:プレイヤー データのキャッシュ済みファイルのハッシュ時のファイルの読み取り、およびタイトル ストレージ ファイルの読み取りフローと書き込みフローのパフォーマンスを改善しました。
Samples
- バグ修正: 適切な API バージョン タイプ
EOS_USERINFO_COPYUSERINFO_API_LATEST
を使用するためにEOS_UserInfo_CopyUserInfoOptions を修正しました
。 - 改善点:Visual Studio のデバッグおよびリリースのプロジェクト構成ビルドのデフォルトを
Debug_SDL
とRelease_SDL
に変更しました。 - AuthAndFriends サンプル:
- [Custom Invites (カスタム招待)] ダイアログ ボックスの UI を改善しました。
- 音声のサンプル:
- 個々のプレイヤーのオーディオ ボリュームを設定するためのサポートを追加しました。
ソーシャル オーバーレイ
- 新規:ソーシャル オーバーレイを一時停止する
EOS_UI_PauseSocialOverlay
、およびソーシャル オーバーレイが一時停止されたかどうかを確認するEOS_UI_IsSocialOverlayPaused
を追加しました。- 一時停止時に、ソーシャル オーバーレイは表示されません。
- カットシーン時にソーシャル オーバーレイを一時停止すると、トーストを防止し、一時的にプレイヤーをエクスペリエンスに没入したままにします。
- 新規:
EOS_UI_ShowBlockPlayer
およびEOS_UI_ShowReportPlayer
を追加しました。これらは、状態の更新をソーシャル オーバーレイに送信し、プレイヤーのブロックや報告をリクエストします。 - 新規:ソーシャル オーバーレイが排他的な入力モードかどうかをゲームで即座に確認できるように、
EOS_UI_GetFriendsExclusiveInput
を追加しました。以前、ゲームではEOS_UI_OnDisplaySettingsUpdatedCallback
コールバックを使用して、この状態を把握する必要がありました。 - 新規:ソーシャル オーバーレイでは、プレイヤーに Epic フレンドをすべて表示します。これには、プレイヤーがプレイしているゲームをプレイしたことがない Epic フレンドが含まれています。
- 新規:プレイヤーが以下のことを実行できる機能を追加しました。
- Epic フレンドの検索
- Epic フレンドの管理フレンドの追加と削除、フレンドの新着招待の受け入れと拒否、フレンド招待の送信のキャンセルを行います。
- Epic フレンドのブロック
- Epic フレンドの報告
- 新規:ソーシャル オーバーレイでは、Epic フレンドともにクロスプラットフォーム フレンドを表示できるようになりました。Epic Games ストアからゲームを開始したプレイヤーは、Steam からゲームを開始したフレンドを表示できます。
- バグ修正:ロビーが一杯の場合、[Invite (招待)] ボタンは表示されません。
- 改善点:ゲームのステータスが変更されたり、ネットワークが切断されたりした場合に、ソーシャル オーバーレイは非表示になります。
ユーザー情報
- 新規:
DisplayNameSanitized
をEOS_UserInfo
とEOS_UserInfo_ExternalUserInfo
に追加しました。これには、サニタイズをサポートしているプラットフォームでゲームが実行されている場合、サニタイズされた表示名が含まれています。
Voice
- 新規:プレイヤーが追加された時間、またはブロック リストから削除された時間を報告する
EOS_RTC_ParticipantStatusChangedCallbackInfo
にbParticipantInBlocklist
フィールドを追加しました。これを使用して、プレイヤーがブロック リストに存在するために、ロビーでプレイヤーの音声を聞くことができない時間を認識します。- 注記:これは、自動的に強制された、オーバーライドできない内部ブロックです。
- 新規:既存のボリューム コントロールを拡張 (および置換) するオーディオ ボリューム コントロールの EOS_RTCAudio_UpdateParticipantVolume を追加しました。
- バグ修正:RTC スレッド上で
NoAffinityMask
の設定を許可しました。 - バグ修正:macOS でオーディオ入力デバイスが認識されない不具合を修正しました。
- 非推奨:
LocalUserId
とLobbyId
がEOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions
構造体で非推奨になりました。
C# SDK
-
新機能 (互換性を破る変更):
- ほとんどの参照タイプ (クラス) を値タイプ (構造体) に変更し、パフォーマンスを大幅に改善しました。
- API コールでオプションの構造体を渡す場合、
ref
キーワードを使用する必要があります。 - コールバックで情報構造体を渡す場合、
ref
キーワードを使用する必要があります。 - 参照タイプ (クラス) が値タイプ (構造体) になったため、オプションを割り当てて、これらを API コールに渡す方法によっては、コードに新しいバグが存在している可能性があります。この領域でのリグレッションをテストすることをお勧めします。
-
新規:SDK では、データの不要なコピーを防止するために ArraySegments の代わりに byte[] を使用するようになりました。
-
新規:UTF-16 から UTF-8 への変換を減らすために、新しい Utf8String クラスを追加しました。
-
新規:修正、最適化や改善をラッパー コードに追加しました。
-
バグ修正:Win32 と macOS に対して動的バインディングのシンボル マッピングを追加しました。
Tools (ツール)
デベロッパー認証ツール
- 新規:ツールでは、プレイヤーが選択したポートを保持します。連続して開始すると、このポートが自動的に UI で選択されます。
- 新規:ツールでは、使用時のプレイヤーの資格情報を記憶するため、プレイヤーがログインしてこれをリフレッシュする必要がなくなりました。
- バグ修正:長時間実行したときに、ツールではプレイヤーの資格情報をリフレッシュします。
ライブラリ
- 新規:openssl-1.1.1n を更新しました。
アップグレード ノート
Anti-cheat
- クロスプラットフォーム プレイでのピアツーピア モードの使用方法の詳細については、ドキュメント を参照してください。
- 注記:この機能で認証が正しく機能するには、この機能を使用する際に、PC とコンソールのプラットフォームの SDK を同時に更新する必要があります。
プログラミングのアップグレードに関する注意点
認証の互換性を破る変更
- Windows では、
EOS_LCT_AccountPortal
とEOS_LCT_ExternalAuth
のログイン タイプで EOS の再配布可能パッケージがインストールされていて、ゲームを EOS Bootstrapper とともに開始する必要があります。
EOS の主要な互換性を破る変更
すべてのゲームでは、SDK が正しく機能するように、次の 2 つの API を呼び出す必要があります。
EOS_Platform_SetApplicationStatus
EOS_Platform_SetNetworkStatus
- これらの API が Platform インターフェースに追加されました。ゲームが中断されて再開された時間、およびローカル システムのネットワーク接続状態が変更された時間が SDK に通知されます。
2 つの新しい関連 API を任意で使用してステータスを確認することができます。EOS_Platform_GetApplicationStatus
EOS_Platform_GetNetworkStatus
既知の問題: iOS と Android サンプルは、現在、新しい中断 / 再開 API とネットワーク接続 / 切断 API の例が更新されていません。
C# SDK の互換性を破る変更
- ほとんどの参照タイプ (クラス) を値タイプ (構造体) に変更し、パフォーマンスを大幅に改善しました。
- API コールでオプションの構造体を渡す場合、
ref
キーワードを使用する必要があります。 - コールバックで情報構造体を渡す場合、
ref
キーワードを使用する必要があります。
Voice
- プレイヤーが RTC ルームに参加すると、実際のブロック ステータスが解決されるまで、最初はブロックされます。つまり、ブロック ステータスについて複数の通知があるということです。実際のブロック ステータスを更新する前に、
ParticipantStatus
をEOS_RTCPS_Joined
に設定し、最初にbParticipantInBlocklist
を true に設定します。 EOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions
のLocalUserId
フィールドとLobbyId
フィールドは非推奨になりました。- 登録済みコールバックがすべてのローカル ユーザーとロビーに対してコールされるようになりました。
- ゲームでフィルタリングを実行する必要がある場合、
EOS_Lobby_RTCRoomConnectionChangedCallbackInfo
コールバック パラメータで LocalUserId と LobbyId を使用します。
プラットフォーム固有
コンソール全般
- バグ修正:有効になる前に、
EOS_RTC_XXX
関数でネットワークの使用を試みた可能性がある場合の問題を修正しました。EOS_RTC_XXX
機能では、現在のEOS_HPlatform
ネットワーク ステータス値に従います。
Steam
- 新規:ネイティブのサニタイズをサポートするプラットフォームで実行する場合、
EOS_UserInfo and EOS_UserInfo_ExternalUserInfo
のDisplayName
フィールドには、プラットフォームのサニタイズまたはフィルタリング機能で処理した名前のバージョンを示す同等のDisplayNameSanitized
があります。 - バグ修正:ブロックしたユーザーに追加のフレンド フラグを使用するために、Steam フレンド インターフェースを更新しました。
Sony PlayStation
- PS4 SDK 9.508.001 と PS5 SDK 5.00.00.33 に更新しました。
Nintendo Switch
- Nintendo Switch SDK 13.3.2 に更新しました。
- 非推奨:
EOS_Switch_InitializeOptions
のOnNetworkRequested
コールバックが非推奨になり、新しいEOS_Platform_OnNetworkStatusChanged
API に置き換わりました。 - ロビー
- 新規:EOS SDK では、オンライン マッチメイキングに適用できる場合、Nintendo Switch オンライン メンバーシップの許可要件に従い、これを自動的に強制するようになりました。
Microsoft Xbox
- Xbox GDK をバージョン 211001 に更新しました。
- Xbox GDK プラットフォームで EOS デベロッパー認証ツールのサポートを追加しました。
- デベロッパー認証ツールのターゲット IP アドレスを、192.168.x.x、10.x.x.x、127.x.x.x、172.16.x.x から 172.31.x.x または同等の IPv6 アドレスなどのローカル IP として扱います。
- 現時点では、ホスト名はサポートされていません。
- 開発およびテスト用にのみ、この機能を使用します。GDK の独自の認証を使用して、実世界のシナリオ内のユーザーにログインします。この機能は、リテール デバイスでは使用できません。
- バグ修正:無制限に再サニタイズを Microsoft サービスに対して呼び出す可能性がある GDK サニタイザーのバグを修正しました。
1.14.2-hf-2 - 2022年7月7日
注記 - Steam にゲームをシッピングする場合:
- Epic Online Services の C または C# バージョン 1.14.2 or 1.14.2-hf-1 をすでにダウンロードして使用している場合、C または C# 用 SDK の 1.14.2-hf-2 hotfix バージョンをダウンロードして代わりに使用する必要があります。
- 1.14.2-hf-2 は、C 用 SDK および C# 用 SDK での Steam の認証が更新されています。コンソール用 SDK に変更はありません。
リリース ノート
C 用の SDK および C 用の SDK
認証
C 用の SDK および C# 用の SDK
- 非推奨:
EOS_Auth_Login
のEOS_ECT_STEAM_APP_TICKET
は廃止されました。代わりにEOS_ECT_STEAM_SESSION_TICKET
を使用してください。- 注記:コンソール用 SDK に変更はありません。
1.14.2-hf-1 - 2022年2月14日
注記:Epic Online Services SDK バージョン 1.14.2 をすでにダウンロードしている場合、AntiCheat の問題を解決するために SDK もこのバージョンをダウンロードする必要があります (以下を参照)。
リリース ノート
AntiCheat
- バグ修正:アンチチート ブートストラッパーが引数を転送するときに引用符をストリップする問題を修正しました。
1.14.2 - 2022年2月1日
リリース ノート
AntiCheat
- 新機能:アンチチート ブートストラッパーは、値のパース元である .json の名前の指定をサポートするようになりました。カスタム仕様の .json ファイルを提供するには、
-anticheat_settings=Custom.json
を含めてブートストラッパーを呼び出します。ファイルは以前と同じディレクトリに配置する必要があることに注意してください。 - バグ修正:Windows ユーザー名に ASCII 以外の文字を使用していると、ユーザーがアンチチート ブートストラッパーの起動に失敗する問題を修正しました。
- バグ修正:アンチチート ブートストラッパーが引数を転送するときに引用符をストリップする問題を修正しました。
- バグ修正:アンチチート ブートストラッパーをロードしているウィンドウでの Steam のオーバーレイの初期化を修正しました。
- バグ修正:Fedora Linux でゲーム開始ができない原因であるアンチチート バグを修正しました。
- バグ修正:アンチチート統合ツールが時々 ASCII 以外の文字を含む作業ディレクトリ パスで失敗する問題を修正しました。
- バグ修正:
AntiCheatServer
でメモリ リークの可能性がある問題を修正しました。 - バグ修正:単一のゲームサーバーで大人数のプレイヤーが実行する、またはバックエンド接続が弱い場合に発生の可能性があるクラッシュを修正しました。
- アンチチートの整合性のカタログ ファイルのレイアウトを改善しました。
- アンチチート インターフェースの
ProtectMessage
関数とUnprotectMessage
関数はどのスレッドからも呼び出すことができますが、それらはスレッドセーフではないため、複数のスレッドから同時に呼び出すことはできません。 ProtectMessage
とUnprotectMessage
のエラーログを改善しました。
認証
- バグ修正:サーバーのクライアント ID とは異なるクライアント ID を使ってゲームクライアントから受信したトークンに対して
EOS_Connect_VerifyIdToken
が失敗する問題を修正しました。 - バグ修正:
EOS_Connect_VerifyIdToken
がゲーム クライアントで呼び出すことができない問題を修正しました。 - バグ修正:
EOS_Connect_VerifyIdToken
が有効期限切れのトークンを拒否しない問題を修正しました。 EOS_Auth_VerifyIdTokenCallbackInfo
のApplicationId
、ClientId
、ProductId
、SandboxId
、DeploymentId
、外部アカウント情報を呼び出し元に返すように追加しました。
Connect
- バグ修正:稀なケースを除いて認証が有効期限切れの場合に
EOS_Connect_AddNotifyLoginStatusChanged
が発行されない問題を修正しました。登録されたコールバックは、認証の有効期限が原因でユーザーがログアウトしたときに正しく通知されるようになりました。 - バグ修正:サーバーのクライアント ID とは異なるクライアント ID を使ってゲームクライアントから受信したトークンに対して
EOS_Connect_VerifyIdToken
が失敗する問題を修正しました。 - バグ修正:
EOS_Connect_VerifyIdToken
がゲーム クライアントで呼び出すことができない問題を修正しました。 - バグ修正:
EOS_Connect_VerifyIdToken
が有効期限切れのトークンを拒否しない問題を修正しました。 EOS_Connect_VerifyIdTokenCallbackInfo
のClientId
、ProductId
、SandboxId
、DeploymentId
を呼び出し元に返すように追加しました。
Core
- 新規:EOS SDK バージョンと構成情報は、トラブルシューティングに役立つように、起動時にログ出力に書き出されるようになりました。
e コマース
- バグ修正:
EOS_Ecom_Transaction_CopyEntitlementByIndex
がEOS_Ecom_Entitlement
プロパティのCatalogItemId
を追加しない問題を修正しました。
Samples
- バグ修正: リーダーボード - 期限切れにならないように構成されたリーダーボードを使用した場合にリーダーボードで起きるクラッシュを修正しました。
- バグ修正:Login サンプルでの認証問題を解決しました (iOS/Android)。
セッションベースのマッチメイキング
- 懲戒処罰を実施するセッションを作成できるようになりました。懲戒処罰を受けるプレイヤーは、処罰を有効にして作成されたセッションへの参加も登録もできません。 詳細については、「Sanctions インターフェース」ドキュメントを参照してください。
ソーシャル オーバーレイ
- バグ終始:SDK / EOS オーバーレイ間の通信レイヤーで稀に発生するクラッシュを修正しました。
タイトルデータ ストレージ
- 多くのエラーに対してロギングを改善しました。
プログラミングのアップグレードに関する注意点
AntiCheat
- 暗号化 / 複合化の失敗に対するログ エントリを追加しました。無効な引数に対しては、既にエラー ログがあります。
コンソール別
Nintendo Switch
- 新規:Nintendo Switch Nintendo SDK のバージョンが 11.4.3 から 13.3.0 にアップデートされました。
既知の問題
AntiCheat
- アンチチート ブートストラッパーのカスタム アイコンがぼやけて見えることがあります (提供されている場合)。
- この問題は次のリリースで解決されます。
2021 年
1.14.1 - 2021年11月8日
リリース ノート
新機能:
-
Custom Invites (カスタム招待)
Custom Invites (カスタム招待) 機能は、カスタム オーバーレイと Epic Games Launcher の招待ボタンとプロンプトを利用しながら独自のグループ化機能を使用したいデベロッパーのために設計されています。
デベロッパーは、他のプレイヤーへの送信のための任意の文字列ペイロードを提供します。このペイロードは直接 API 呼び出しの使用、またはソーシャル オーバーレイの招待ボタンのいずれかによって送信されます。EOS Sessions と EOS Lobbies と同様に、受信側のプレイヤーにはソーシャル オーバーレイの Invite Received (招待を受信) プロンプトが表示されます。受信した招待は希望に応じて新しい EOSSDK API コールバックをトリガーすることもできます。
-
CustomInvites UI
要素と機能をAuthAndFriends
サンプルに追加しました。 -
[Send Invite (招待を送信)] ボタンを使用すると招待送信ダイアログが開きます。ここでユーザーは、ペイロードの設定、ターゲット ユーザーの選択、そして最後に招待を「送信」することができます。**[Send (送信)]**ボタンを使用せずに、招待の受信資格のあるユーザーの横に表示される [Send (送信)] ボタンでオーバーレイを開くこともできます。
-
招待が受信されると招待の詳細に関するダイアログが開き、[Accept (承認)] ボタンと [Decline (拒否)] ボタンが表示され、最後に
Success/Canceled
の結果となるFinalizeInvite
を呼び出します。
AntiCheat
- 新規: ブートストラッパーの詳細ログのサポートを追加しました。これは
-v
または--verbose
のいずれかをコマンドライン引数として渡すことで有効になります。 - 新規: ブートストラッパーは Windows でカスタム ランタイム アイコンをサポートするようになりました。カスタム アイコンを使用するには、
BootstrapperIcon.ico
を「<working_dir>/_EasyAntiCheat/_
」ディレクトリに配置します。 - バグ修正: 単一のゲームサーバーで大人数のプレイヤーが実行すると発生する
AntiCheatServer
バックエンド タイムアウト エラーを修正しました。 - バグ修正: 単一のゲームサーバーで大人数のプレイヤーが実行する、またはバックエンド接続が弱い場合に発生の可能性があるクラッシュを修正しました。
- バグ修正:
AntiCheatClient PollStatus
関数の Out パラメータ である OutViolationType の名前が ViolationType となっていたバグを修正しました。 - バグ修正: C# SDK でのマーシャリングをするための OUT パラメータが
AntiCheatClient PollStatus
関数にないバグを修正しました。 - バグ修正: ブートストラッパーは Windows でコード署名となりました。
- バグ修正:
Settings.json
で定義された実行可能フィールドがディレクトリをターゲットにしている場合、ブートストラッパーはエラーを表示するようになりました。 - セキュリティを改善しました。
認証
- バグ修正:
EOS_ELoginCredentialType::EOS_LCT_AccountPortal
およびEOS_ELoginCredentialType::EOS_LCT_DeviceCode
資格情報タイプを使ってログインする場合に EOS_Auth_CopyIdToken が ID トークンを提供しないバグを修正しました。
Connect
- 新しい
EOS_EExternalCredentialType::EOS_ECT_EPIC_ID_TOKEN
資格情報タイプの Epic アカウント ID トークンを使用したユーザー認証サポートを追加しました。 - サポート対象のユーザー認証プロバイダに Amazon を追加しました。
- 検証された Product User ID と紐づいている外部アカウントに関する情報を返すために
EOS_Connect_VerifyIdToken
を拡張しました。 - 専用サーバーでの使用を呼び出すために
EOS_Connect_QueryProductUserIdMappingsOptions
構造体のヘッダ コメントを更新しました。
Core
- バグ修正: EGS Launcher 経由で起動したビルドが Mac 上でクラッシュすることがあった問題を修正しました。
- サポート対象の macOS 最低バージョンが 10.14 から 10.12 に変更されました。
ロビー
- バグ修正: ロビーの作成/参加が失敗し、アクティブな接続を終了することで既存のロビーを壊してしまうバグを修正しました。
ソーシャル オーバーレイ
- 新規: EOS Lobbies および Sessions で提供されているものと同等のハイレベルな機能で任意のペイロードをデベロッパーが送受信できるように
CustomInvites
インターフェースを追加しました。 - 新規:
CustomInvites UI
要素と機能をAuthAndFriends
サンプルに追加しました。- [Send Invite (招待を送信)] ボタンを使用すると招待送信ダイアログが開きます。ここでユーザーは、ペイロードの設定、ターゲット ユーザーの選択、そして最後に招待を「送信」することができます。
- 招待が受信されると招待の詳細に関するダイアログが開き、[Accept (承認)] ボタンと [Decline (拒否)] ボタンが表示され、最後に
Success/Canceled
の結果となるFinalizeInvite
を呼び出します。 - Custom Invites インターフェース:
OnCustomInviteReceived
とOnCustomInviteAccepted
のコールバック情報にパラメータとして「Payload
」を追加しました。
- Custom Invites -
EOS_CustomInvites_NotifyCustomInviteAccepted
、EOS_CustomInvites_RemoveNotifyCustomInviteAccepted
、EOS_CustomInvites_NotifyCustomInviteProcessed
を追加しました。
コンソール別
Sony Playstation
- 新規 EOS SDK PlayStation 4 リリースは 9.000 PlayStation 4 SDK をターゲットにしています。
- 新規 EOS SDK PlayStation 5 リリースは 4.000 PlayStation 5 SDK をターゲットにしています。
既知の問題
AntiCheat
- Anti-Cheat bootstrapper のローカライズが一部ありません。
- Anti-Cheat bootstrapper を開くと、Steam オーバーレイが自動的に初期化します。
- Fedora/Red Hat Linuxで Anti-Cheat の初期化に失敗します。
- Windows ユーザー名に ASCII 以外の文字が使用されると、ユーザーが Anti-Cheat bootstrapper の起動に失敗する問題を修正しました。
AntiCheatServer
でメモリ リークの可能性がある問題を修正しました。- プレイヤー数が非常に多い場合、
AntiCheatServer
がクラッシュすることがあります。
EOS Connect & EOS Auth
EOS_Connect_VerifyIdToken
とEOS_Auth_VerifyIdToken
が、サーバーとゲーム クライアント間でクライアント ID が異なるために失敗します。EOS_Connect_VerifyIdToken
とEOS_Auth_VerifyIdToken
は、トークンの有効期限を正しくチェックしません。EOS_Connect_VerifyIdToken
とEOS_Auth_VerifyIdToken
は、bIsServer を true に設定して SDK を初期化した場合のみ、ゲーム クライアントで利用できます。
1.14 - 2021年9月23日
リリース ノート
新機能:
- 進行状況スナップショット (アカウントマージ サービス プレビュー)
- アカウントマージ導入に向けた新機能を追加しました。
- 進行状況スナップショット は、開発者がアプリケーション内のユーザーの進捗に関するキーと値のペアを保存するための方法です。この情報は、アカウントマージによって、ユーザーがアカウントの進捗状況を組み合わせるときの選択に使用されます。詳細については、ドキュメントを参照してください。
AntiCheat
- 新規 Wine/Proton を含む Linux 用のアンチチート クライアントをサポートしました。
- 新規 Mac (Intel-based) 用のアンチチート クライアントをサポートしました。
- バグ修正: アンチチート ゲームプレイ データ
UnregisterClient
イベントが送信されないバグを修正しました。 - Bug Fix:
EOS_AntiCheatServer_RegisterEvent
は '.' をイベント名として受け取らなくなりました。これまではバックエンドが拒否していましたが、明確なエラーは出ていませんでした。 - バグ修正: アンチチート ゲームプレイ データ
UnregisterClient
イベントが送信されない内部のバグを修正しました。 - バグ修正: システム クロックが誤ったタイミングで更新された場合、アンチチートの問題が発生する可能性がある点を修正しました。
- バグ修正: アンチチート クライアント モジュールのテスト ワークフローが正しく動作せず、「接続に失敗しました」というエラーになるのを修正しました。
- 最終パラメータ
OutBytesWritten
のみを整数への有効なポインタとすればよくなるように、Anti-CheatProtectMessage
API とUnprotectMessage
API を更新しました。以前は、整数を出力バッファの長さに初期設定する必要がありました。 - アンチチートの
ProtectMessage
とUnprotectMessage
の API 位置パラメータ名を変更し、より明確で一貫性のあるものにしました。 DamagePosition
をEOS_AntiCheatCommon_LogPlayerTakeDamageOptions
と 非推奨のHitBoneId
に追加しました。これにより、より正確なヒット位置の情報を得ることができます。- Anti-Cheat クライアント モジュールは、サンドボックス レベルではなく、デプロイメント レベルで管理されるようになりました。これは、他の EOS サービスとの整合性を高めるものです。このバージョンの SDK にゲームをアップデートする際には、
EOS_AntiCheatTools
ファイルを必ずアップデートする必要があります。 - EOS Connect DeviceID の認証方式は、アンチチートには対応していません。この場合、新しい結果コード
EOS_AntiCheat_DeviceIdAuthIsNotSupported
が返されるようになりました。
認証
- 新規: 新しい
EOS_Auth_CopyIdToken API
、EOS_Auth_QueryIdToken API
、EOS_Auth_VerifyIdToken API
が追加されて、ゲームサーバー、オンライン バックエンド、その他のクライアントが他の Epic アカウントユーザーの身元を安全に確認できるようになりました。既存のEOS_Auth_CopyAuthToken
API とEOS_Auth_VerifyAuthToken
API を使用しているゲームは ID トークンの代用を検討すべきです。 - 新規: ローカルユーザーのマージされた Epic アカウント ステートを検出する API サポートを追加しました。これは、ユーザーが別々の Epic アカウントを単一の Epic アカウントに統合できるようにする、近日公開予定の Epic Account Services 機能に関連するものです。
Connect
- 新規: 新しい
EOS_Connect_CopyIdToken
API とEOS_Connect_VerifyIdToken
API が追加されて、ゲームサーバー、オンライン バックエンド、その他のクライアントが他の Epic アカウントユーザーの身元を安全に確認できるようになりました。 - 新規:
EOS_Connect_CopyIdToken
、EOS_Connect_IdToken_Release
、EOS_Connect_VerifyIdToken
を追加して、Connect ID Tokenを管理するAPIを提供しました。詳細は「Connect インターフェース」ドキュメントを参照してください。
ECommerce
- 新規:
EOS_Ecom_CatalogOffer
構造体の提供価格に対する DecimalPoint を公開しました。例えば、DecimalPoint '2' と CurrentPrice64 '12345' は '123.45' です。
Overlay Tech Platform
- バグ修正:
EOS_UI_AddNotifyDisplaySettingsUpdated
によって追加され、EOS_UI_RemoveNotifyDisplaySettingsUpdated
によって削除された通知コールバックは決して呼び出されることはありません。以前は一度だけ起動され、ゲームが何らかの依存状態を解放していた場合、クラッシュが発生する可能性がありました。
P2P
EOS_P2P_AddNotifyPeerConnectionEstablished
とEOS_P2P_RemoveNotifyPeerConnectionEstablished
で接続確立時に通知を受けることができるようになりました。EOS_P2P_ClearPacketQueue
を使用して、指定したリモート ユーザーと特定のソケットからの受信および送信パケットのキューをクリアすることができるようになりました。
プレイヤー データ ストレージ
- バグ修正: プレイヤー データ ストレージのローカル キャッシュからのファイル読み出しがとても遅くなる問題を修正しました。
- 多くのエラー ケースでの
PlayerDataStorage
のログ出力を改善しました。
Presence
- バグ修正: 切断時にプレゼンス サービスが自動更新を試行し続ける問題を修正しました。
Samples
- バグ修正: 不足している
AssetUtils.cpp
を Makefile に追加することにより、Mac / Linuxでの Leaderboard サンプルのビルドを修正しました。
Sanctions
EOS_Sanctions_PlayerSanction
にTimeExpires
フィールドとReferenceId
フィールドを追加しました。この情報は、EOS Developer Portal で見ることができるようになっていますが、以前は SDK API から利用することはできませんでした。
Voice
EOS_RTC_SetSetting
API とEOS_RTC_SetRoomSetting
API を公開しました。DisableEchoCancelation
はオーディオ チャンネルのエコー キャンセルの使用を無効にします。デフォルトはFalse
です。DisableNoiseSupression
はオーディオ チャンネルのノイズ抑制の使用を無効にします。デフォルトはFalse
です。DisableAutoGainControl
はオーディオ チャンネルのオート ゲイン コントロールの使用を無効にします。デフォルトはFalse
です。DisableDtx
Global\Per room は DTX の使用を無効にします。デフォルトはFalse
です。
モバイル
iOS
- バグ修正: iOS 14 で、URL スキームに不正な文字が含まれていることが原因で、例外が発生する問題を修正しました。
アップグレード ノート
AntiCheat
- SDK 1.14 へアップグレードする場合、同梱の「」 zip ファイルから、
start_protected_game.exe
、EasyAntiCheat_EOS_Setup.exe
、anticheat_integritytool.exe
を最新のバージョンに更新する必要があります。 start_protected_game.exe
で以下が変更されました。- 以下の設定はサポートされなくなりました。これらは以前は関連づいている
Settings.json
で定義されていました。parameters
:Bootstrapper は、プロセス開始時に提供されたすべてのパラメータをゲーム・プロセスに転送するようになりました。そのため、関連する設定ファイルではこの設定はこの機能は使用できません。use_cmdline_parameters
:パラメータ フィールドが削除されたため、冗長なものとして削除しました。working_directory
:ブートストラッパーがゲームのルート ディレクトリに格納されていることを期待するようになったため、削除しました。logo_position
:ブートストラッパーの新しい設計において配置が制限されるため削除しました。hide_splash_screen
:ブートストラッパーの内部設計の変更に伴い、削除しました。hide_ui_controls
:ブートストラッパーの内部設計の変更に伴い、削除しました。
- 以下の設定はサポートされなくなりました。これらは以前は関連づいている
- Windows ゲームで Wine/Proton サポートを有効する場合は、EOS Developer Portal で Linux モジュールを有効にする必要があります。詳細は「EOS デベロッパー」ドキュメントを参照してください。
プログラミングのアップグレードに関する注意点
AntiCheat
EOS_AntiCheatCommon_LogPlayerTakeDamageOptions
の使用は、HitBoneId
の代わりにDamagePosition
を設定するように更新される必要があります。これにより、より正確なヒット位置の情報を得ることができます。
1.13.1 - 2021年7月27日
リリース ノート
C# SDK
- バグ修正: C# バージョン 7 より前の互換性の問題を修正しました。
- バグ修正: iOS コンフィギュレーション ターゲットを修正しました。
ロビー
- EOS_Lobby_LocalRTCOptions
パラメータの
bAudioOutputStartsMutedの名前を
bLocalAudioDeviceInputStartsMuted` に変更し、何がミュートされるかをより適切に表現できるようになりました。 - バグ修正: ロビー更新時に出る誤った警告を削除しました。クライアントは、更新が行われている間、バックエンドよりも多くの属性を認識できる可能性があります。このため、誤った「時刻同期 (out of sync)」エラーが発生していました。
- バグ修正: EOS Platform Creation で RTC 初期化オプションを指定せず、ロビーで RTC Room 機能を有効にした場合にクラッシュする不具合を修正しました。この場合、ロビーの作成は
EOS_InvalidRequest result
で失敗するようになりました。 - バグ修正: ロビーの RTC Room 機能の使用時に必ず発生する誤った警告を修正しました。
プレイヤー データ ストレージ
EOS_PlayerDataStorage_QueryFile
、EOS_PlayerDataStorage_QueryFileList
、EOS_PlayerDataStorage_ReadFile
の一部のエラー ケースでのログを追加しました。
プログラミングのアップグレードに関する注意点
ロビー
- EOS_Lobby_LocalRTCOptions
パラメータ
bAudioOutputStartsMutedの使用は、
bLocalAudioDeviceInputStartsMuted` に名前を変更する必要があります。
コンソール別
Playstation®
- 新規 PS5 SDK バージョンを 3.00.00.27 に設定しました。
- 新規 PS4 SDK バージョンを 8.508.001 に設定しました。
Nintendo Switch
- バグ修正: P2P を初めて使用する際に、ネットワークが利用できない場合に、P2P が利用できないと思い込んでしまうことがある不具合を修正しました。ネットワークが再び利用可能になったとき、常に正しく P2P を再開するようになりました。
- バグ修正: ネットワークが利用できない場合に、非同期の Lobby API コールが非常に長い時間をかけてタイムアウトすることがある問題を修正しました。
Xbox Series X|S
- バグ修正: Xbox Series X|S での RTC オーディオ キャプチャの問題を修正しました。
1.13 - 2021年6月21日
リリース ノート
新機能:
- Voice (プレビュー サービス): Epic Online Services の一部である EOS Voice ツールの最初のリリースでは、プレイヤーはサードパーティのソリューションを使用せずにゲーム内の友人やチームメートと話すことができます。詳細については、ドキュメントを参照してください。
Anti-Cheat
- Easy Anti-Cheat のランチャーを変更して Win 32 ではなく SDL に依存する新しいバージョンを使用するようにしました。
認証
- バグの修正: 追加の同意が必要な場合に
EOS_Auth_Login
の交換コード フローを介して発生する可能性があったクラッシュを修正しました。 - バグの修正:
EOS_Auth_LinkAccount
で Continuance Token ハンドルを使用すると発生する可能性があったクラッシュが修正されました。
Core
- バグの修正:
constexpr
にはならない列挙型クラスのビット演算子関数から constexpr 指定子を削除しました。 EOS_Platform_Options CacheDirectory
パラメータの無効な UTF8 文字の検証が改善されました。無効な文字が見つかった場合、プラットフォームインスタンスの作成が正常に失敗するようになりました。これが発生した場合に追加のロギングが追加されるようになりました。
ロビー
- 新規: Real Time Communication (RTC) Room の自動サポートをロビーに追加しました。
- この機能を有効にすると、ロビー専用の RTC ルームへの接続の作成、参加、および維持が自動的に行われます。この機能を使用するには EOS デベロッパー ポータルで createLobbyConference Voice の権限を有効にする必要があります。
- 新規: ロビーの作成により、「ロビー ID オーバーライド」を指定できるようになりました。
- 値はアプリケーション内においてグローバルに一意である必要があります。
- バグの修正:
InviteId
が null または空の場合のEOS_Lobby_RejectInvite
のログ メッセージを修正しました。 - バグの修正:
EOS_LobbySearch_SetTargetUserId
で他のユーザーを検索すると、検索結果で最大値の指定が可能になりました。これまでは 1 つの検索結果が返されるだけでした。
ロビー サンプル
- 新規: ロビー サンプルにボイス オプションを追加しました。
プレイヤー データ ストレージ
- 不正なファイル名とパスのエラー メッセージを改善しました。
タイトル ストレージ
- 不正なファイル名とパスのエラー メッセージを改善しました。
モバイル
iOS
- iOS バイナリがビットコード サポートでコンパイルされるようになりました。