AGS 2025.6.0 リリースノート
This is an unsupported AGS version. AccelByte no longer provides any updates, bug fixes, security patches, or technical support for these versions. Please refer to the AGS Version Support Lifecycle document for more information.
注釈:本資料はAI技術を用いて翻訳されています。
リリース日: 2025年8月20日
お知らせ
- 該当なし
バージョン
AccelByte Gaming Services (AGS) Game SDK
Extend SDK (旧称 Server SDK) の最新バージョン:
それぞれの GitHub リリースページを参照してください:
- C#: https://github.com/AccelByte/accelbyte-csharp-sdk/releases
- Go: https://github.com/AccelByte/accelbyte-go-sdk/releases
- Java: https://github.com/AccelByte/accelbyte-java-sdk/releases
- Python: https://github.com/AccelByte/accelbyte-python-sdk/releases
- Codegen CLI : https://github.com/AccelByte/extend-codegen-cli/releases
AccelByte Multiplayer Servers (AMS)
- こちらをご確認ください AMS リリースノートを見る
ハイライト
Shared Cloud オンボーディング: アンケートとパーソナライズされたチェックリスト
この新しいオンボーディングプロセスは、ゲーム開発や統合を開始する準備が整ったユーザー向けに設計されています。新規ユーザーに対してアンケートへの回答を促し、回答内容に基づくパーソナライズされたオンボーディングチェックリストを提供します。チェックリストに表示される推奨事項は、AGS の機能を使い始めるための基本ステップをユーザーに案内します。
新しいフローへのアクセス方法:
- この リンク から Shared Cloud に登録します。
- オンボーディングオプションのページが表示されるまで、登録手順を完了します。
- 「はい、ゲームをセットアップしましょう」を選択し、Start Game Integration ボタンをクリックします。
重要な注意事項: 「いいえ、まずは探索させてください」を選択した場合、この新しいフローはスキップされ、代わりに Bytewars ネームスペース (AccelByte のサンプルゲーム統合) の作成へ誘導されます。なお、作成する各ゲームネームスペースで、改めてこのアンケートおよびチェックリストにアクセスできます。
Shared Cloud 向け Login Queue
ピークトラフィックをより効果的に管理するため、Shared Cloud 環境に Login Queue サービスを追加しました。これにより、プレイヤーログインの流量がスムーズかつ制御された状態に保たれ、インフラおよびサービスの安定性を維持できます。
- Admin Portal での確認場所
- Admin Portal → ゲームネームスペースを選択 → Live Service Utilities → Login Queue に移動
- SDK からのアクセス/使用方法
- V4 関数を使用してください。
- Unreal Engine OSS:
FOnlineIdentityAccelByte::Login
- Unreal Engine SDK:
User::LoginWithUsernameV4User::LoginWithOtherPlatformV4User::LoginWithSimultaneousPlatformV4User::LoginWithDeviceIdV4User::LoginWithRefreshTokenV4User::CreateHeadlessAccountAndLoginV4
- Unity SDK
ClientApi.GetUser().LoginWithEmailV4ClientApi.GetUser().LoginWithDeviceIdV4ClientApi.GetUser().LoginWithOtherPlatformV4ClientApi.GetUser().LoginWithLastRefreshTokenV4ClientApi.GetUser().LoginWithCachedRefreshTokenV4ClientApi.GetUser().CreateHeadlessAccountAndResponseTokenV4ClientApi.GetUser().AuthenticationWithPlatformLinkAndLoginV4
- Unreal Engine OSS:
- V4 関数を使用してください。
- REST API を使用したアクセス方法:
- ネームスペースのログインキュー構成を取得: GET
/login-queue/v1/admin/namespaces/{namespace}/config - ネームスペースのログインキュー構成を更新: PUT
/login-queue/v1/admin/namespaces/{namespace}/config - ネームスペースのログインキューステータスを取得: GET /
login-queue/v1/admin/namespaces/{namespace}/status - ログインキューチケットを更新: GET
/login-queue/v1/namespaces/{namespace}/ticket - ログインキューチケットをキャンセル: DELETE
/login-queue/v1/namespaces/{namespace}/ticket
- ネームスペースのログインキュー構成を取得: GET
Shared Cloud のゲーム CCU 制限
- ピークトラフィック期間中にパフォーマンス低下やサービス中断を引き起こす可能性のあるログインの急増を抑制し、プラットフォームの安定性を確保するため、ゲーム CCU 制限を追加しました。Shared Cloud の各ゲームネームスペースは、デフォルトで 5,000 CCU に制限されます。詳細は ログインゲーム CCU 制限 を参照してください。
Private Cloud のベアメタル使用量
Billing & Usage ページに、ベアメタル使用量の詳細を追加しました。
これにより、保有しているベアメタルインスタンスの数と、現在の請求サイクルにおける推定コストを確認できます。環境にベアメタルがデプロイされている場合、使用量の詳細として、各ベアメタルインスタンスのリージョン、インスタンスタイプ、インスタンス数、インスタンスあたりのコスト、および総コストが表示されます。
Admin Portal での確認場所:
- Admin Portal → スタジオネームスペースを選択 → Billing & Usage → Usage (タブ) → Multiplayer Server に移動
SDK からのアクセス/使用方法:
- 該当なし
REST API を使用したアクセス方法:
- 該当なし
権限の変更
このセクションは Private Cloud のお客様にのみ適用されます。
このリリースでは、Private Cloud Admin Portal のデフォルトロールに新しい権限を追加しました。Private Cloud のデフォルトロールについて初めて確認する方は、こちらで詳細を確認 してください。 独自のカスタムロールを運用している場合は、最新の権限で更新されていることを確認してください。
- TURN サーバーコストの計算と表示に使用
- スーパー管理者ロール
TURN:SERVER:PRICE(Action 2 - Read)ADMIN:TURN:SERVER:PRICE(Action 15 - CRUD)
- ゲーム管理者ロール
TURN:SERVER:PRICE(Action 2 - Read)
- 表示専用ロール
TURN:SERVER:PRICE(Action 2 - Read)
- スーパー管理者ロール
- マッチメイキング xray の管理に使用
- スーパー管理者ロール
ADMIN:NAMESPACE:*:MATCHMAKING:XRAY(Action 15 - CRUD)
- スーパー管理者ロール
破壊的変更
- 該当なし
非推奨および廃止された機能
- Game SDK
-
[Unity] AGS 2025.2 リリースノートに記載のとおり、Inventory および Cloudsave のいくつかのメソッドが非推奨に指定されました。以下の移行パスを採用してください。
-
Api.Inventory
ConsumeUserInventoryItem(inventoryId, consumedItemsRequest, callback) -> ConsumeUserInventoryItem(inventoryId, qty, sourceItemId, optionalParams, callback)MoveItemsBetweenInventories(targetInventoryId, moveItemsRequest, callback) -> MoveItemsBetweenInventories(targetInventoryId, sourceInventoryId, payload, callback)BulkUpdateInventoryItems(inventoryId, updatedItemsRequest, callback) -> BulkUpdateInventoryItems(inventoryId, payload, callback)BulkDeleteInventoryItems(inventoryId, deletedItemsRequest, callback) -> BulkDeleteInventoryItems(inventoryId, payload, callback)
-
ServerApi.Inventory
SaveUserInventoryItemToInventory(userId, inventoryId, request, callback) -> SaveUserInventoryItemToInventory(inventoryId, userId, source, sourceItemId, type, quantity, optionalParameters, callback)BulkUpdateUserInventoryItems(inventoryId, userId, request, callback) -> BulkUpdateUserInventoryItems(inventoryId, userId, payload, callback)ConsumeUserInventoryItem(string inventoryId, string userId, ConsumeUserItemsRequest request, ResultCallback<UserItem> callback) -> ConsumeUserInventoryItem(string inventoryId, string userId, uint qty, string sourceItemId, ConsumeUserInventoryItemOptionalParameters optionalParameters, ResultCallback<UserItem> callback)BulkDeleteUserInventoryItems(inventoryId, userId, request, callback) -> BulkDeleteUserInventoryItems(inventoryId, userId, payload, callback)CreateInventoryConfiguration(request, callback) -> CreateInventoryConfiguration(code, initialMaxSlots, maxInstancesPerUser, maxUpgradeSlots, optionalParameters, callback)CreateItemTypes(request, callback) -> CreateItemTypes(name, ResultCallback<InventoryItemType> callback)CreateInventoryTag(request, callback) -> CreateInventoryTag(name, inventoryOwner, callback)
-
Api.CloudSave
SaveGameRecord(recordRequest, setBy, callback) -> SaveGameRecord(recordRequest, optionalParameters, callback)ReplaceGameRecord(recordRequest, setBy, callback) -> ReplaceGameRecord(recordRequest, optionalParameters, callback)CreateAdminGameRecord(key, recordRequest, callback) -> CreateAdminGameRecord(key, recordRequest, optionalParameters, callback)ReplaceAdminGameRecord(key, recordRequest, callback) -> ReplaceAdminGameRecord(key, optionalParameters, callback)
-
-
[Unity] AGS 2025.2 リリースノートに記載のとおり、AccelByteGooglePlayGames を廃止しました。Google Play 機能を利用する場合は、推奨インターフェースである SDK Google Play 拡張ライブラリ を使用してください。
-
[Unreal Engine] Matchmaking V1 および関連関数を非推奨に指定しました。次回の SDK リリースで削除されます。次回リリース前にこの削除の影響をテストするには、
"#if 1 // MMv1 Deprecation"を"#if 0 // MMv1 Deprecation"に置き換えてください。
-
軽微な変更
Admin Portal
- 登録時のオンボーディング体験 (ゲームビルドの準備およびネームスペース作成ページ) において、モバイル端末でのレスポンシブ表示を改善しました。
- 旧来の AccelByte Community Forum の CTA ボタンを、AccelByte Discord Community へ更新しました。
Create new passモジュールのPass itemというテキストを、Sync pass itemに変更しました。
Basic
/basic/v1/public/namespaces/{namespace}/users/me/profilesのユーザープロファイルにおいて、言語タグの組み合わせIETF_AND_RFC5646のサポートを追加しました。
Challenges
- 重複の発生を抑制するため、Challenge Service のユーザー進行管理を強化しました。
- 同一データに対する同時処理によってデータ整合性エラーが発生する事象に対処するため、分散ロックの仕組みを追加しました。
- ゴール構成キャッシュのサイズを調整するための新しい環境変数を追加しました。
Chat
- 一貫性を確保するため、Chat サービスの WebSocket エラーコードを Lobby で使用しているものに合わせて更新しました。
Game SDK
-
[Unreal Engine]
FAccelByteLoginWithOtherPlatformOptionalParametersにbSkipSetCookieを追加しました。デフォルト値はfalseです。 -
[Unity]
LoginWithOtherPlatformOptionalParametersおよびLoginWithOtherPlatformV4OptionalParametersにSkipSetCookieを追加しました。デフォルト値はfalseです。 -
[Unreal Engine]
CloudSaveInterfaceおよびSessionInterfaceのIsRunningDedicatedServerの実装を改善しました。クライアント/サーバーの状態は、Login レスポンスから判定されるようになりました。 -
[Unreal Engine]
AccelByte::Api::Inventory::MoveItemsBetweenInventoriesのレスポンスに Target Item Id を追加しました。 -
[Unity]
Api.GetInventory().MoveItemsBetweenInventoriesのレスポンスに Target ItemId を追加しました。 -
[Unreal Engine] 各 AchievementCode の文字列配列を渡すことで複数のアチーブメントを一括ロック解除できる新しい関数を、AccelByte Achievement Interface に追加しました。
- ゲームクライアント向け:
void FOnlineAchievementsAccelByte::UnlockAchievementBulkOperation(const FUniqueNetId& UserID, TArray<FString> AchievementCodes, const FOnBulkAchievementUnlockDelegate& OperationResponseDelegate);
- ゲームサーバー向け:
void UnlockAchievementBulkOperationByGameServer(const FUniqueNetId& UserID, TArray<FString> AchievementCodes, const FOnBulkAchievementUnlockDelegate& OperationResponseDelegate);
注: これらの操作は、呼び出し元の OAuth クライアントに適切な権限が付与されている場合にのみ成功します。
- ゲームクライアント向け:
-
[Unreal Engine]
- 新しい Wallet インターフェースをサポートするため、
FOnlineWalletV2AccelByteという新しいインターフェースを追加しました。 - ゲームクライアントが複数の通貨を取得できるよう、
Wallet::GetWalletInfoByCurrencyCodeV2()を利用する関数を追加しました。
- 新しい Wallet インターフェースをサポートするため、
IAM
- 漏洩していない PII エンドポイントに
createdAtレスポンスフィールドを追加しました。- GET
/iam/v4/public/namespaces/{namespace}/users/{userId} - POST
/iam/v3/public/namespaces/{namespace}/users/platforms - GET
/iam/v4/public/namespaces/{namespace}/platforms/{platformId}/users/{platformUserId}
- GET
Inventory
inventory/v1/public/namespaces/{namespace}/users/me/inventories/{inventoryId}/items/movementのレスポンスフィールドに、アイテムの id を追加しました。{
"createdAt": "2025-08-04T02:50:02.199Z",
"dstInventoryId": "string",
"items": [
{
"id": "string", // NEW
"qty": 0,
"slotId": "string",
"sourceItemId": "string"
}
],
"namespace": "string",
"srcInventoryId": "string"
}
Matchmaking
- 処理時間を短縮するため、マッチメイキング結果処理のコードを最適化しました。
Platform
- Kafka イベントのペイロードに
actualPaidという新しいフィールドを追加しました。
Player Portal
- 除外され、かつ無効化された構成の詳細情報がブラウザ上の Player Portal に送信されないようにし、レスポンスサイズを削減することでメモリ不足の問題を防止しました。
バグ修正
Admin Portal
- Stores の有効期限アラートメッセージが表示されない問題を修正しました。
- 登録時のネームスペース作成プロセスでユーザーが進めなくなる問題を修正しました。
- 既存のメールアドレスとスタジオ名で登録しようとした際に、Get Started for FREE ボタンが有効なままになる問題を修正しました。
- 名前とメールアドレスが未入力の状態でも、Get Started for FREE ボタンが有効になっていた問題を修正しました。
- Invite Admin モーダルで複数のメールアドレスを入力した後、管理者がメールアドレスを削除できない問題を修正しました。
- Invite Admin モーダルで、管理者が複数のメールアドレスをカンマ区切りで入力する際の挙動を修正しました。
- Leaderboard テーブルのページネーションの挙動に関する問題を修正しました。
- 登録プロセス中に表示される Shared Cloud オンボーディングページの低画質な画像アセットを修正しました。
- Request Tracker におけるチケットステータスのカラーコードを修正しました。
- Lookup Users のユーザー検索機能で、プラットフォームの表示名を検索する際にすべてのサードパーティプラットフォームタイプがサポートされていなかった問題を修正しました。
App Editor
- App Editor の Twitch Drop セクションで、プレビュー用のアイテム画像が表示されない問題を修正しました。
Challenges
- スケジュールされていないデイリーローテーションチャレンジで、ゴールが欠落する問題を修正しました。
- ユーザーが、タグを持つ Option box または Lootbox アイテムをストアで付与した際に、Tags アイテムが更新されない問題を修正しました。
UNSCHEDULEDチャレンジのゴール作成時に、サービスがメモリ不足になる問題を修正しました。- 開始日がチャレンジ作成日より前の場合に、前回の更新以降生成されなくなった過去のスケジュールを照会すると、スケジュール取得エンドポイントが 200 ではなく 404 を返す問題を修正しました。
Extend
- 画像リストが空の場合に、イメージバージョン履歴ページで誤解を招くエラーログ「app not found」が表示される問題を修正しました。
- Extend override が Starting ステータスから遷移せず、アプリを停止または削除できない問題を修正しました。
Game SDK
-
[Unreal Engine] 以下のオーバーロード関数を追加しました:
AccelByte::Api::Statistic::GetUserStatCycleItemsがTargetUserIdをパラメータとして受け取れるようにし、ゲームクライアントから他プレイヤーの統計サイクルアイテムを参照できるようにしました。Statistic::GetUserStatCycleItems(FString const& CycleId , FString const& TargetUserId , THandler<FAccelByteModelsUserStatCycleItemPagingSlicedResult> const& OnSuccess , FErrorHandler const& OnError , int32 Limit , int32 Offset , TArray<FString> const& StatCodes)
-
[Unreal Engine]
SessionInterfaceのJoinedMembersに、Disconnected ステータスのプレイヤーを含めるようにしました。 -
[Unreal Engine] 動的な有効期限構成における自動トークンリフレッシュをリファクタリングしました。
-
[Unreal Engine]
FOnlineAsyncTaskAccelByteCreateUserProfileの起動時にリマップされた culture を考慮し、言語タグがゲームと一致するようにしました。 -
[Unreal Engine] AccelByte Qos クラスのスレッド堅牢性を改善しました。
-
[Unreal Engine] Chat WebSocket のデリゲートリスナーのセットアップ順序を並べ替えました。 受信通知に有効なユーザー情報が含まれることを保証するため、ルームおよびユーザー情報の照会リクエストが完了した後に Chat WebSocket のデリゲートがアタッチされるようにしました。
-
[Unity] WebGL プラットフォームで Chat 機能に影響していた WebSocket 機能の不具合を修正しました。
-
[Unreal Engine] サーバーインスタンスから
FOnlineSessionV2AccelByte::RefreshSession()を呼び出した際にクラッシュする問題を修正しました。 -
[Unreal Engine]
- オブジェクトのライフタイムを正しく保つため、AccelByte Chat インターフェースにおける初期化順序を強制しました。
- チャット接続処理中に自動照会が失敗するまれなケースに備えた手動フォールバックとして、
QueryChatRoom()を追加しました。
IAM
- パスワード入力検証構成で
maxRepeatingSpecialCharacterフィールドが更新されない問題を修正しました。 - E-commerce サービスで Steam IAP トランザクションを処理する際に、ゲームユーザーが重複して作成される可能性があった問題を修正しました。
Legal
- 受諾済みのユーザーに対して、非表示扱いの法的文書が表示されない問題を修正しました。
Lobby
- REST エンドポイント経由でブロック・ブロック解除の同期を実行した際に、ブロックおよびブロック解除の通知がユーザーに送信されない問題を修正しました。
Matchmaking
- 提案されたマッチチケットをキャンセルしても、想定どおりにステータスが REJECTED に更新されない問題を修正しました。
Player Portal
- 異なるプロバイダーを使用してヘッドレスアカウントをアップグレードした際に、想定どおりにすべてのサードパーティアカウントがフルアカウントへリンクされない問題を修正しました。
- Legal ページで国を変更すると、法務関連言語のドロップダウンが意図せず変更されてしまう問題を修正しました。
Sessions
- PSN プラットフォームにおけるセッションリーダー選出に関するいくつかの問題を修正しました。