Pragma Engine 0.0.58

March 8th, 2022

  • Endpoints that use the Player Search Filter have new filters.
  • Added GetMatchmakingInfoV1 endpoint to allow players to query the size of the matchmaking queue.
  • InstancedItemPlugin.Update can now return instanced and stackable item grants.
  • Deprecations:
    • LeaveMatchmakingV1 has been updated to V2.
    • Rewrite your configuration files (e.g. LocalConfig.yml or CommonConfig.yml) to specify plugins by their fully qualified path
  • Required Integrations:
    • Reimplement plugins that implement BulkActionPlugin as suspend methods.
    • Create a new proto file partyRpcExt.proto to successfully build your Pragma extension.
  • Bugs and fixes:
    • Encryption on email table has been removed to allow for built-in encryption by the database provider.
    • Default authentication ports for config files have been fixed to ensure Player, Operator, and Partner flows are separate.
    • Fix for Unity SDK when accessing inventory payloads before checking for response success.

Features:

  • Endpoints that use the Player Search Filter have new filters.
    • Description: We’ve added two new filters to Player Search–accounts can now be filtered by Pragma Full Display Name and Identity Provider Display Name.
    • Postman Paths:
      • Social → RPC - Operator → Account → BulkAccountOperatorV1
      • Social → RPC - Operator → Account → GetPragmaAccountOverviewsOperatorV1
      • Social → RPC - Operator → Account → AddAccountsToPlayerGroupOperatorV1
  • Added GetMatchmakingInfoV1 endpoint to allow players to query the size of the matchmaking queue.
    • Description: There is a new config option within Matchmaking, enableGetMatchmakingInfo which must be set to true for the endpoint to function. It is set to false by default.
    • Postman Paths: Game → RPC - Player → Matchmaking → GetMatchmakingInfoV1
    • Steps to Enable: Ensure the following is present in the appropriate config file (e.g. LocalConfig.yml).
game:
  serviceConfigs:
    MatchmakingConfig:
      enableGetMatchmakingInfo: true
  • InstancedItemPlugin.Update can now return instanced and stackable item grants.
  • Description: UpdateResult returned from InstancedItemPlugin.Update now includes a list of instancedItemGrants and stackableItemGrants. To use this feature, simply populate the UpdateResult with a list of InstancedItemServerGrant and/or StackableItemGrant.
  • Reference:
data class UpdateResult(
val extInstancedItem: ExtInstancedItem,
  val rewardGrants:List<RewardGrant> = listOf(),
  val instancedItemGrants: List<InstancedItemServerGrant> = listOf(),
  val stackableItemGrants: List<StackableItemGrant> = listOf()
)

Deprecations: #

  • LeaveMatchmakingV1 has been updated to V2.

    OriginalReplacementRemoval Patch
    MatchmakingRpc.LeaveMatchmakingV1MatchmakingRpc.LeaveMatchmakingV20.0.60
  • Rewrite your configuration files (e.g. LocalConfig.yml or CommonConfig.yml) to specify plugins by their fully qualified path.

    Original (example)Replacement (example)Removal Patch
    pluginConfigs:
    GameDataService.gameDataStrategyPlugin:
      class: "DefaultPragmaGameDataStrategyPlugin"
    
    pluginConfigs:
    GameDataService.gameDataStrategyPlugin:
      class: "pragma.gamedata.DefaultPragmaGameDataStrategyPlugin"
    
    0.0.60

    Integrations: #

    • Reimplement plugins that implement BulkActionPlugin as suspend methods.
      • Description: Updated BulkActionPlugin interface to use suspend methods for needsFullPragmaAccount and apply.
      • Integration steps:
        • If you have plugins that implement the BulkActionPlugin interface, reimplement the relevant methods as suspend methods:
          • needsFullPragmaAccount
          • apply
          • Any of your own methods that call the above two methods.
      • References
        • 2-pragma/social-common/src/main/kotlin/pragma/account/BulkActionPlugin.kt
        • 4-demo/demo/src/main/kotlin/demo/account/DemoBulkActionPlugin.kt
    • Create a new proto file partyRpcExt.proto to successfully build your Pragma extension.
      • Description: In order to support Party feature development, we have added new protos. You must create these protos in order to successfully build your plugin.
      • Integration steps:
        • Create partyRpcExt.proto in the 5-ext/ext-protos/src/main/proto/shared/ directory.
        • Paste the following into partyRpcExt.proto:
    syntax = "proto3";
    
    package pragma.party;
    option csharp_namespace = "Pragma.Party";
    option (unreal_namespace) = "Party";
    option java_multiple_files = true;
    
    import "pragmaOptions.proto";
    
    message ExtUpdateLoadoutRequest {
    }
    

    Bugs and Fixes: #

    • Encryption on email table has been removed to allow for built-in encryption by the database provider.
      • Description: Upgrading to the newest version of Pragma will drop any existing emails that were gathered using the AccountRpc.UpdateEmailV1 endpoint.
    • Default authentication ports for config files have been fixed to ensure Player, Operator, and Partner flows are separate.
      • Description: Resolves authentication errors caused by Player, Operator, and Partner flows using the same authentication port.
    • Fix for Unity SDK when accessing inventory payloads before checking for response success.
      • Description: The Unity SDK no longer crashes when accessing inventory payloads.