Pragma Engine 0.0.79
August 9th, 2022
Features #
Added requestingPlayer parameter to limit access to party detail changes.
- Description: The
requestingPlayerparameter has been added to the Party plugin interface to allow plugins to decide who can change party details. For example, you can deny changes requested by a party member other than the party leader. - Related notes: See related integration note.
Added new account tag actions in the Unity/Unreal SDKs for Partners.
- Description: Partner sessions can now view and bulk modify tags on player accounts via Unity and Unreal SDKs.
- Details:
- New SDK bindings for the following existing Partner endpoints:
AccountService.getAccountTagsPartnerV1(playerSocialIds: get the tags for a given list of accountsAccountService.AddAccountTagsPartnerV1(playerSocialIds, tagsToAdd): add tags to multiple accountsAccountService.removeAccountTagsPartnerV1(playerSocialIds, tagsToRemove): remove tags from multiple accounts
- New endpoint and SDK binding:
AccountService.viewTagsPartnerV1(): retrieve all existing tags in the system
- New SDK bindings for the following existing Partner endpoints:
Integrations #
Add the requestingPlayer parameter to implementations of PartyPlugin.updateParty().
- Descriptions: To enable the new
requestingPlayerfeature, you must complete the listed integration step. - Integration step: Add
requestingPlayer: PartyPlayeras the first parameter of thePartyPlugin.updateParty()method. Update any references toUpdateDisplayNameV1RequesttoUpdateDisplayNameOperatorV1Request.
| Original | Replacement |
|---|---|
| |
- Related note: See related feature note.
If you’re using dynamicSharding support, correct columnNameOfpropertyToConsistentHash in InventoryDaoConfig by capitalizing the word Property.
- Description: We’ve adjusted this capitalization to more accurately follow naming standards.
- Integration step:
- Make the following change in
InventoryDaoConfig:original replacement columnNameOfpropertyToConsistentHashcolumnNameOfPropertyToConsistentHash
- Make the following change in
Migrate all instances of ShutdownV1Notification to the new RemovedV1Notification.
- Description: We’ve replaced
ShutdownV1Notificationwith a more accurately named notification calledRemovedV1Notification. This should be used to alert clients when a player is removed from a party. - Integration step: Complete the following migration:
original replacement ShutdownV1NotificationRemovedNotification
Replace all uses of authenticateOrCreateV1 with authenticateOrCreateV2.
- Description: The
authenticateOrCreateV1httpendpoint and theAuthenticateOrCreateV1RequestandAuthenticateOrCreateV1Responsemessages have been removed. - Integration steps:
- Update any usages of
authenticateOrCreateV1endpoint to theauthenticateOrCreateV2endpoint and use the correspondingAuthenticateOrCreateV2RequestandAuthenticateOrCreateV2Responsemessages. - The
AuthenticateOrCreateV2Responseno longer contains thepragma_player_token. Instead you should use thepragma_game_token andpragma_social_tokendepending on what service is being connected to.original replacement authenticateOrCreateV1authenticateOrCreateV2pragma_player_tokenpragma_game_tokenandpragma_social_token
- Update any usages of
Update all references of the MatchFoundPlugin to the Match Lifecycle service package.
- Description:
MatchFoundPlugin’s definition has been moved from the Matchmaking service package to a Match Lifecycle service package. You’ll need to update theMatchFoundPluginimport if you’ve defined your own implementation, or update the config if you use the Pragma Engine-provided one. - Integration steps:
- If you’ve defined your own implementation of
MatchFoundPlugin, update the import frompragma.matchmaking.MatchFoundPlugintopragma.matchlifecycle.MatchFoundPlugin. - If your config uses the Pragma Engine-provided
pragma.matchmaking.DefaultMatchFoundPlugin, update it topragma.matchlifecycle.DefaultMatchFoundPlugin.
- If you’ve defined your own implementation of
Update all references to UpdateDisplayNameV1Request to UpdateDisplayNameOperatorV1Request.
- Description: We’ve renamed the
UpdateDisplayNameV1RequestOperator RPC to match our naming standards and avoid session-type collisions. - Integration step: Update references to
UpdateDisplayNameV1Requestto capture the rename.original replacement UpdateDisplayNameV1RequestUpdateDisplayNameOperatorV1Request - Note that If you’ve built a Portal from
sourceinstead of using the packagedportal-base, you’ll need to rebuild and redeploy Portal.
Add configuration for PaymentDaoNodeService to prepare for upcoming payments functionality.
- Description: In preparation for upcoming payments functionality, a new
DaoNodeServicehas been created which will require configuration. - Integration step: Add the following new configuration for the
PaymentDaoNodeServicein your YAML file:
social:
serviceConfigs:
PaymentDaoConfig:
databaseConfig:
driver: "MYSQLDB"
username: "<database user>"
password: "<encrypted password>"
hostPortSchemas:
1: "<database host>:<database port>/<shard>_social_orderhistory1"
2: "<database host>:<database port>/<shard>_social_orderhistory2"