Appearance
Appearance
INFO
This is a light maintenance release before the holiday season. Enjoy the sun!
Various LiveOps Dashboard usability improvements. For example:
Player search by ID is now case-insensitive.
Inbox mail deletions now have a confirmation pop-over.
![](images/r13-inbox-mail-deletions.png)
Better handling of the new, very long Google Play IAP transaction receipts.
![Cleaner layout keeps the IAP history legible at-a-glance!](images/r13-google-iap-receipts.png)
Shop Offers now have a "Seen By" count which tells how many players the offer has been shown to.
![3 players have seen this example offer so far.](images/r13-offer-seen-by.png)
Player list now highlights paying players with an icon to identify them faster.
![Hover over the icon for a tooltip!](images/r13-list-tooltip.png)
There is now a tooltip about when the player segments have last been sampled.
![](images/r13-player-segment-tooltip.png)
Player's auth methods now show when they have been added into the account, and individual auth methods can be deleted.
![This account can be accessed from an iMac, added 6 days ago.](images/r13-auth-methods.png)
Broadcasts now have their own audit logs.
![This broadcast was created 18 days ago by an anonymous admin.](images/r13-broadcast-audit-logs.png)
Added support for GameConfigLibrary aliases for handling renamed config item references, see Working with Game Config Data
[MetaActivableGameConfigLibrary]
and [MetaActivablePlayerSubModel]
attributes have been replaced by [MetaActivableConfigData]
and [MetaActivableSet]
attributes, which should now be put on the config and state classes rather than on members of MainGameConfig and PlayerModel. Additionally, subclasses of MetaActivableState
need to implement a getter that returns the id of the activable. node-sass
package that had known problems to build on certain machines. npm install
to refresh the dependencies before running the dashboard locally!PlayerActorBase
has new integration entrypoints ShouldUpdatePlayerSearch()
and GetPlayerSearchStrings()
for supplying your own player search strings (used for the dashboard player search, for example).integration.js
integration mechanism instead of custom game-specific components (custom visualization components are still supported though!).global.json
which specifies the .NET Core version to use with the dotnet
CLI tool is now located in the Server/
directory, so it applies to all server-side projects.broadcastType
component for creating custom features built on top of the broadcast functionality.Infrastructure and Helm chart compatibilities for this release:
infra-modules
version 0.1.3 or later for infrastructuremetaplay-gameserver
Helm chart version 0.2.0 or later for deploymentinfra-modules
version 0.1.4 or later for infrastructuremetaplay-gameserver
Helm chart version 0.2.2 or later for deploymentMetaDatabase.InsertOrUpdateAsync()
for inserting a new or updating an existing record in a database table.GameConfigLibrary.RegisterAlias()
to allow config ID aliases. This can be used for renaming config entries so that data serialized with old configs still continue to deserialize properly.Status
of the purchase will remain PendingValidation
until it has been validated.[MetaOnDeserialized]
methods are now called in class hierarchy order, base class first. The attribute is now forbidden on non-final virtual methods.[MetaActivableGameConfigLibrary]
and [MetaActivablePlayerSubModel]
attributes have been replaced by [MetaActivableConfigData]
and [MetaActivableSet]
attributes, which should now be put on the config and state classes rather than on members of MainGameConfig and PlayerModel.MetaActivableState
now need to implement a getter that returns the id of the activable. The id is used by the SDK for collecting statistics about activables.