AGS Starter 0.8.0
Release Date: April 6th, 2023 Indochina Time.
- Current AccelByte SDK Unreal Engine: 22.0.2
- Current AccelByte SDK Unity: 15.15.0
- Current AccelByte Network-Utilities: 3.0.0
- Current AccelByte P2P Unity: 0.2.5
- Current AccelByte OSS: 0.9.3
Here’s a look at what’s new in AccelByte Gaming Services (AGS) Starter 0.8.0
Highlights
Implement Flexing Roles in Game Modes
You can now configure flexing roles in a game mode, giving you greater control over how your game handles matchmaking between players. This will improve matchmaking times in your game, meaning less waiting and more playing!
Set Expiration Time for Access and Refresh Tokens
You can now set the expiration times for Access and Refresh Tokens for IAM Clients in the Admin Portal.
Configure Role-Based Matchmaking in the Admin Portal
You can now configure role-based matchmaking in the Admin Portal, allowing you to refine how your players are matched together.
Added Authentication to MSK
We now support Kafka SCRAM authentication which can be activated via environment variables. Cloud will continue to use non-authenticated mode by default.
Turn Manager Generates Secret for Each User
You can now use the Turn Manager to generate a secret for each individual user. The generated secret can also be used in the Turn Server.
Override Scope Value in OIDC Login Integration
You can now override the scope value when configuring your OIDC Login Integration, giving you greater flexibility when configuring 3rd-party platforms.
- You can now limit the maximum numbers of invitees in the Session Service to avoid spam invitation sending. When invites reach their limit, a new invite can only be sent when a current one expires.
- Related Endpoint
- You can now limit the maximum numbers of invitees in the Session Service to avoid spam invitation sending. When invites reach their limit, a new invite can only be sent when a current one expires.
Party-related Endpoint Improvements
You can now use Session service endpoints to:
- Autogenerate party codes when a party is created.
- Add logic to remove a party code when a party is disbanded.
- Allow players to join a party via a party code.
- Allow party leaders to generate and revoke party codes.
- Related endpoints
- POST /session/v1/public/namespaces/{namespace}/parties/{partyId}/code(opens new window)
- POST /session/v1/public/namespaces/{namespace}/parties/users/me/join/code(opens new window)
- POST /session/v1/public/namespaces/{namespace}/party(opens new window)
- DELETE /session/v1/public/namespaces/{namespace}/parties/{partyId}/code
Multi-Factor Authentication with Email
For multi-factor authentication, you can now allow users to authenticate via email. This works for both Admin Portal users and players using the Player Portal or logging into your game.
Asymmetric Party Support
Our Matchmaking service now supports asymmetric parties. Parties can either be asymmetric in the number of players in each party, or in the types of roles contained within each party.
Loot Box Support
We’ve added a new Loot Box item type so that you can add loot boxes to your game. You can choose which items have a chance of appearing in a loot box, and set the probability for each item to appear in the Admin Portal.
Matchmaking Based on Player Roles
The Matchmaking service is now able to match players based on their role in the game. Only players with the defined role will be able to join the match.
- Related Endpoint
New Status for Disconnected Players in the Session Service
Previously if a player was disconnected from a session, the player was marked as dropped which made them unable to rejoin the session. Now, disconnected players will be marked as disconnected and will be able rejoin the session before reaching the inactiveTimeout limit. If they don’t rejoin the session before the inactiveTimeout, they’ll be marked as dropped.
Force Logout from Lobby
Now, when you set the Max Player value for the Lobby lower than the number of connected players, it will force random players to logout from the Lobby. This is useful if you need to perform maintenance on your game. Just set the Max Player value to 0 to force all players to log out while maintenance is performed.
- Related Endpoint
Client-SDK Improvements
Our Client-Side SDK now has the ability to:
- Calculate the server time added in both Unreal Engine OSS and the Unity SDK.
- Use the Analytics service with the Unreal OSS.
- Related Endpoint
Enable and Disable Lobby
ou can now temporarily disable the lobby to perform maintenance on your game. When the lobby is disabled, any active players will be forced out of your game, and no players will be able to join the game until the lobby has been re-enabled.
New Status for Players in the Session Service
Previously if a match was ended, the player’s status would remain as connected. Now if a match ends, the player’s status will change to terminated
Account Linking with One Time Code
Players can now link their 3rd party headless account to their full account in your web platform using a one time code.
Related Endpoints
Create and Edit Player Records in the Admin Portal
You can now create and player records in the Admin Portal. This can be used for testing or for fixing a player record that is missing or incomplete. Previously, you could only create a player record using the API.
- Related Endpoint
New Presence status: Away
You can now use the Away status to indicate that players are unavailable for a match.
New endpoint allows game client to retrieve player records in bulk
Game clients can now query player records in bulk to support features that require multiple player records
- Related endpoint
In-game store displays, store sections, and rotating shop item
You can now implement store displays, display sections, and item rotations in your in-game store for the better store catalog management and to offer players with more choices in the in-game stores. A rotation of items can be easily configured to allow an in-game store to display a different set of items for each set period of time.
Personal item slot and owned-item backfill
You can now give players special items they can buy from the rotating store so that they feel rewarded for checking in store catalog. Additionally, items already owned by players in the rotation store should be backfilled with other items so that real estate of the rotating shop would not be wasted.
Retrieve game records in bulk
Game clients can now query game records in bulk by keys to support in-game features that require multiple game records.
See specific player reporting in user management
Now you are able to see all the report tickets for a specific user in a user management page.
Player able to joins multiple group
Now you can choose your group configuration to allow player to joins to multiple or single group at the same time.
Loot Box customization using the gRPC architecture
You can now customize your loot box reward logic and mechanism using the gRPC architecture after previously you can only use the default method.
In-Game Login Using Oculus
You can now configure Oculus in-game logins through the Admin Portal. After configuring, your players can login in-game using their Oculus accounts.
Adjusting Statistics Min and Max Value
You can now increment or decrement over the configured min and max statistics value.
Improved Admin Portal’s sidebar & header UX
Virtual Currency Revocation Configuration
- You can now configure revocations of virtual currencies through the Admin Portal.
Added support for Authenticating OIDC Login Method using UserInfo Endpoint
Added new type in achievement which is global achievements and that’s can be unlocked with global statistics
DoB (Date of Birth) on the User Details page in the Admin Portal
- The DoB field is brought back to the User Details page in the Admin Portal.
Admin Portal page for Chat Reporting and Moderation
Group service publish event for analytics based on user actions related to the group
Additional Custom Match Function toggle in Match Configuration in the Admin Portal
Admin can now configure the following field via Admin Portal in Match Pool:
- Auto-Accept Backfill Proposal
Override Match Function is now Override Specific Function in Match Pools and the toggle has been removed. Now it is a fillable field.
Adjustment in Admin Portal page on Session Template modal, it will only display these fields if Admin choose DS as the Session Type:
- Deployment
- Client Version
- Requested Regions
Achievement update configuration behavior improvement. Admin can now flexibly update the configuration, as long as it hasn't been activated, or the status is tied.
Admin Portal page for Chat Configuration and Chat Profanity Filter. Admin can now do the following actions:
- Chat Configuration
- Select the database for the Chat filtering method (Default or gRPC)
- Configure Chat Rate Limit
- Configure Chat Spam Limit
- Chat Profanity Filter
- Register a profane word along with its falsePositive and falseNegative (if client chooses Default as database for chat filtering method)
- See registered profane words in alphabetical order with non-alphabet characters located after the alphabet ones.
- Chat Configuration
Admin Portal page for Match Function. Admin can now create a match function via the Admin Portal.
Expiration dates (start & end dates) can now be added to Code Redemptions through the Admin Portal
Admin Portal for system inbox notifications. Game admin now can:
- Create a message to all or specific user which later send into user’s inbox
- Save message as draft
- Delete message from user’s inbox
Admin Portal page for User Management. Admin can now modify a user's private custom attributes via the Admin Portal.
New API endpoint (bulkUpdateRegionData) to allow for changing of items' region data in bulk. Admins can now use API calls to make changes to multiple items' region data in one call.
- API endpoint: /platform/apidocs/#/Item/bulkUpdateRegionData
Leaderboard service now handles user's entry removal on the leaderboard when the user deletes their account
Add ability in UGC to support users to get other users’ channels
Expose Auto-accept Backfill proposal in Add Match Pools modal
Adding explanation on Joinable in Matchmaking Ruleset MPv1
Match Functions change title to gRPC Plugin
Adding edit button on gRPC Plugin
Remove default JSON template in Match Ruleset (MPv2) creation and adding new button to show default template that Game Admin can copy
Adding Override Specific Function in Match Pool Modal:
- Stat Codes
- Enrichment
- Validation
- Backfill Matches
- Make Matches
Adding dropdown list of gRPC plugin selection if Game Admin choose to select Use gRPC Plugin
Bug Fixes and Minor Changes
- Fixed login and 3rd-party account linking issues and improved account security.
- Improved the UI for Item Mapping.
- You can now search for UGC content by Content ID or User ID in the Admin Portal.
- Added a server status filter to the Historical Logs page.
- Fixed and improved issues in Matchmaking, Multiplayer V2, E-commerce, Telemetry, and Legal services.
- Fixed functional issues in the App Editor, Player Portal, Launcher, Matchmaking, Armada, Wallet, IAM, Store, Entitlement, UGC, Ban, DLC, Analytics & Data Monitoring, Reward, Python Server-Side SDK, and OSS services.
- Fix missing validation for group max member when user join OPEN group
- When a match is found in Matchmaking, all players in the match now receive a notification.
- Fixed multiple issues in the AccelByte Unreal Engine OSS that were causing crashes.
- Deprecated the EventTimestamp and EventID attributes from the Protected Save Events endpoint to clarify their use as these attribute values are auto-generated.
- Resolved a security issue with User Generated Content
- You can now filter achievements based on their tag and code in the Admin Portal.
- You can now search for a particular user statistics value and statCode in the Admin Portal.
- Group service updated with a bug fix that addresses the free form notification issue that was not sent to the users
- Fixed Admin Portal in UGC feature that caused Admin to not delete the channel created by Admin
- Add View action and read-only Achievement details page when using View Only role so that Admin with View Only role can see achievement detail
- Fixed Update and shortBy functionality for UGC content in SDK
Breaking Changes
Shutting Stadia Integrations for Login and In-App Purchase
We will be shutting down the Stadia integrations on our platform, effective 13 February 2023.
E-Commerce Service - Media Item type will no longer be able to be set as consumable
Unreal SDK Plugin
- Changes on some variables in AccelByteUserProfileModels on the unreal-sdk-plugin
- Before:
- TMap<FString, FJsonObjectWrapper> CustomAttributes{}
- TMap<FString, FJsonObjectWrapper> PrivateCustomAttributes{}
- After:
- FJsonObjectWrapper CustomAttributes{}
- FJsonObjectWrapper PrivateCustomAttributes{}
- Before:
- Changes on some variables in AccelByteUserProfileModels on the unreal-sdk-plugin
Cloud save OSS interface
- Additional field (key) in the callback. This change impacts DeleteUserRecord, ReplaceUserRecord, GetUserRecord, ReplaceGameRecord