AGS 3.74.0 Release Notes
Release date: May 20th, 2024
AccelByte Gaming Services (AGS) Game SDK latest version
Extend SDK (previously known as Server SDK) latest version
DSUploader latest version
- Armada DSUploader: 1.6.3
Highlights
[AGS Starter] Introduced the Challenge service as an early access feature. You can use the Challenge service to offer your players a series of in-game tasks and objectives, fostering engagement and providing rewarding gameplay experiences. To learn more about this service, see Introduction to Challenge.
[AGS Starter] Introduced the Inventory service as an early access feature. The Inventory service is designed to allow players to store and manage items that they've collected throughout the game through looting, crafting, trading, gifting, etc. To learn more about this service, see Introduction to Inventory.
[AGS Premium] Player Portal improvements:
- Introduced a new content management system (CMS) service to create and manage news posts and support articles.
- Introduced the News and Support sections of the Player Portal.
- Improved the UX and customization capabilities to the Player Portal homepage.
- The Player Portal and Login Website now support improved mobile-responsive viewing on phones and tablets for all UX related to account creation and management.
- Other small improvements.
Admin Portal App Editor improvements:
Introduced the following new feature flags in the App Editor:
- Configurable Forgot Password. This hides or shows the Forgot Password feature on the login website.
- Configurable 3rd party login only. This makes third-party authentication the only allowed method for players to log in or create an account on your login website.
- Configurable Email Verification. This allows players to verify their email address after creating their accounts.
- Configurable Early Age gate. This enables the age verification step to be presented first in the signup process for new players.
Added a new field in the App Editor to let admins integrate Google Tag Manager to their Player Portal and login website.
noteThe App Editor settings can be accessed from the publisher namespace.
GDPR-compliant third-party account closures for PlayStation (PSN) and Sony Interactive Entertainment (SIE) are now supported. This means that if a PSN back office server configuration is established for your environment, any closures of PSN accounts initiated by users on the PSN side will also result in the deletion of all associated PSN-related user data in AGS.
- The PSN Back Office Server Config page can be found in the Admin Portal through:
- In AGS Premium: User Management > Account Closure Configuration
- In Starter: Admin Task > GDPR > 3rd Party Account Closure
- The Account Closure History page can be found in the Admin Portal through:
- In AGS Premium: Platform Configurations > GDPR > 3rd Party Account Closure
- In Starter: Admin Task > 3rd Party Configuration > Account Closure
- The PSN Back Office Server Config page can be found in the Admin Portal through:
Discount code redemption campaigns are now supported in the AGS Admin Portal. For more information about setting up discount code redemption campaigns, see Create discount code redemption campaigns.
[Unity] Exposed all Admin endpoints for Binary Cloud Save service.
[Unity] Exposed all Admin endpoints for Inventory service.
[Unity] Added GetDlcDurableRewardSimpleMap client endpoint to the Entitlement service.
[Unity] Added PreviewOrderPriceWithDiscountCode client endpoint to the Order service.
[Unity] Deprecated the interfaces for Nintendo Switch Initialize, MountStorage, UnmountStorage, and GetNsaToken.
[Unity] Added a feature to get the Switch NSA token by selected user handle.
[UE][OSS] Added support to create and query an order with a discount code capability in the OSS.
[UE][OSS] Added
PreviewOrder
with discount code redemption capability in the OSS.[UE] Added role-based matchmaking in Matchmaking V2.
[UE] Added configurable message limit in Chat.
[UE] Added
UploadTo()
andDownloadFrom()
usingFHttpRequestProgressDelegate64
param on theAccelByteUtilities
.[UE] Started to deprecate
FHttpRequestProgressDelegate
on theAccelByteUtilities
.[UE] Implemented
GetUserPrivilege()
with theShowResolveUI
parameter for UE version 5.4 on theOnlineIdentityInterface
.[UE] Implemented new
Set3DPosition()
with the new parameters on theAccelByteVoiceChat
.[UE] Started to deprecate the old function of
Set3DPosition()
on theAccelByteVoiceChat
.[UE] Added support for the new Profanity Filter Integration in IAM Input Validation. This integration requires an Extend app.
[UE][OSS] Added
User::LogoutV3
, which uses the new endpoint/iam/v3/logout
.[OE][OSS] Deprecated
User::Logout
; useLogoutV3
instead.[UE][OSS] The OSS now calls the newer Logout function:
User::LogoutV3
.[UE] Added support for Native Mobile Login with Google. (We recommend using Online SubSystem Google.)
[UE] Added support for Native Mobile Login with Apple.
Quality of life changes
- Added Repeat After field to challenge configuration in AGS Admin Portal to control the repetition frequency of challenge goals. For instance, this allows game admins to set specific goals to recur every few days, weeks, or months, depending on the game's design and engagement strategy.
- Added Stat Cycle as supported requirements for challenge goals. This allows game admins to set goals that grant rewards to players upon earning a particular value on a specific cycle of statistical configuration.
- Added the Visibility configuration for each legal document or policy within the Legal Management page. This option hides or shows a legal document or policy on the Legal Website.
- The total count of bans that a user has is now displayed on their User Details page in the Admin Portal.
- [Unity] Added on connect error event to the Server DSHub.
- [Unity] Added more HTTP error codes.
- [UE] Added an ability to cancel and track API calls in the Low-level SDK by using
FAccelByteTask
object. - [UE] Added
TicketInformation
field in theMatchmakingStarted
notification for cross-platform matchmaking. - [UE] Added User V4 endpoint to get public info for specified users in the Low-level SDK.
- [UE] Marked
GetUserByUserId
as deprecated. - [UE] Registered
RateLimit
config as part of AccelByte Config Injection list. - [UE] Cleaned up the local cache session data when users log out from the game.
- [UE] Added new fields to the
FAccelByteModelsChallengeGoalProgressRequirement
model in the Challenge service:"matcher": "string"
"parameterName": "string"
"parameterType": "string"
"statCycleId": "string"
- [UE][OSS] Use UserInfo from UserCache as the single source of truth for fields like
DisplayName
,UniqueDisplayName
,PublicCode
, andLinkedPlatformInfo
on Friend List, Block List, and Recent Player List.
Bug Fixes and Minor Changes
Admin Portal
- Added max limit for Season Duration when creating Stat Cycle.
- Changed the time-to-live (TTL) of the Cloud Save record list to local time.
- Improved and fixed issues on the Leaderboard menu.
- Improved and fixed issues on the Challenge menu.
- Updated the Extend app details page to disable the Image History button when the Extend app is in "Provisioning" status.
Challenge
- Added stat cycle as goal requirement.
- Added Meta field to goals list response.
- Fixed the sortBy handler for list endpoints.
- Fixed the issue of the Challenge status not automatically retiring after passing the end date.
- Fixed the issue where searching for specific goal progression by goal code was not possible.
- Added 404 HTTP status response to response list on
publicGetScheduledGoals
endpoint.
Cloud Save
- Implemented gRPC pooling on the Cloud Save service.
- Fixed the JSON key return symbol after a TTL game record on a specific key-value pair is deleted.
Inventory
- Added environment variable to support Inventory deployment on Starter environment.
Leaderboard
- Updated the pagination model name for v2 endpoints.
Social
- Added maximum limit for Season Duration when creating Stat Cycle.
- Implemented caching mechanism for statistics config on v2 endpoints.
Season pass
- Cleaned up unused permission from the service seeding.
Session
- The
sessionID
,matchpool
,isFull
, andjoinability
fields are now exposed on query game/party session. - Players with the
LEFT
,DROP
, orKICKED
status is a session can now get the recent player data. - Fixed the issue that prevented players from joining party sessions when the joinability type is set to
FRIENDS_OF_MEMBERS
,FRIENDS_OF_LEADER
, orFRIENDS_OF_FRIENDS
, even if they were friends with someone in the party. - Any player can join party sessions set to
FRIENDS_OF_MEMBERS
,FRIENDS_OF_LEADER
, orFRIENDS_OF_FRIENDS
by accepting an invitation from any member of the session. - Fixed a bug on the patch update game session (PATCH
/session/v1/public/namespaces/{namespace}/gamesessions/{sessionId}
). Players with the statusLEFT
orDROPPED
are no longer updated toKICKED
.
Matchmaking-v2
- Improved the matchmaking conversion of ticket attributes.
Lobby
- PlayStation on PC (PSPC) and PS5 are now treated as the same platform in friends sync and blocklist operation.
- Fixed unlink PSN account issue on friend sync behavior.
Armada (Deprecated)
- Added the ability to add timeout when processing build images.
- Fixed the issue in dedicated servers not automatically scaling down when the related namespace is deactivated.
- Fixed the issue of the override deployment configuration not being checked when validating server regions.
AMS
- The logs of running dedicated servers can now be viewed in real time on the Admin Portal. To learn more about viewing logs, see View and manage dedicated server logs and artifacts.
- Added support for a special type of AMS fleet called Development Fleet. Development fleets let you run multiple dedicated server builds and game configurations on a single fleet, helping game developers reduce management complexity with fewer fleets and save money during dedicated server development by maximizing the usage of the underlying VM instances.
Launcher
- Fixed the security issue where the Launcher triggers security alerts on Windows upon launch.
Login and Legal Website
- Fixed and reduced the error logs that were being sent to Grafana when accessing the app without path.
Analytics
- Upgraded security common library for security permission.
- Fixed data type limitation in the response of the Game Telemetry endpoint.
Extend
- Extend Service Extension
- Added information that game developers can generate the Swagger file JSON locally without uploading the Extend app into AGS.
SDK
- [Unity] Fixed the server logout URL target.
- [Unity] Fixed the
QueryUserOrders
HTTP request on client Entitlement service. - [Unity] Fixed the
entitlementName
and theitemId
to optional in theQueryUserEntitlements()
interface. - [UE][OSS] Fixed an issue in OSS where players could not re-login after experiencing a login failure.
- [UE] Fixed the crash issue when logging in to Steam in the Editor Viewport.
- [UE] Fixed the crash issue when rejoining P2P host multiple times.
- [UE] Fixed the issue where async tasks that have
bShouldUseTimeout = false
are still able to be time out due toHasTaskTimedOut()
not checking the flag. - [UE] Fixed the issue where the reconnected delegate is not triggered after the Lobby WebSocket successfully reconnects.
- [UE] Fixed the issue where the dedicated server error delegate was not triggered when the dedicated server failed to be allocated.
- [UE] Fixed the Language field not being omitted from the request body in the
SyncMobilePlatformPurchaseGoogle
andSyncMobilePlatformPurchaseGooglePlay
APIs, which caused the service to validate the Language value. - [UE] Fixed the issue where the
OnReconnected
delegate was not being triggered after successfully reconnecting to the Lobby Websocket. - [UE] Ensured that the
Retry Scheduler Shutdown
only flushes tasks if the engine is actually exiting. This prevents stuttering during loading and/or gameplay. - [UE] Fixed the compilation error in UE version 5.4 when using the
Shipping
configuration. - [UE][OSS] Fixed the issue where the PSN display name is not updated.
- [UE][OSS] Fixed the localized
DateTime
used in theSessionInvitation
expiration time calculation and changed it to rely on the backend server time as a calculation. - [UE] Fixed the issue where Refresh Session did not trigger the
OnSessionUpdateReceived
after a successful refresh. - [UE] Fixed the issue where a dedicated server (DS) failed to authenticate when the Game Client settings are not defined in the
.ini
file.