Pragma Engine 0.0.75

July 12th, 2022

Features #

  • New Operator endpoint added to list and filter player identities with an additional requirement for game shard ID.
    • Description: We’ve added a new endpoint GetPragmaPlayerOverviewsOperatorV1. This has the same filtering capabilities as the GetPragmaAccountOverviewsOperatorV1 endpoint, but also requires a game shard ID.
    • Postman Path:
  • Portal: Instanced items can now be removed from player inventories.
    • Description: Visit Player Support > Players and select a player, then click Inventory. From the Instanced tab, items can be removed using the remove button at the end of the row.
  • Portal: Previous search criteria is now saved and repopulated when clicking the back button.
    • Description: When filtering information on any page, clicking the back button will show the last search criteria used.
    • For example, from the Accounts page, you can filter player information, select a player to see their details page, and then click the back button–the original search criteria will be used.
    • If a page is opened through a shared link, clicking the back button will return a page without any saved search criteria.
  • Portal: Amounts of stackable items in player inventories can now be modified.
    • Description: Visit Player Support > Players and select a player, then click Inventory. Select a stackable item name, then Edit Item to modify the Amount field.
    • Note that if an item is not set to be removed at 0 in the content catalog, it will remain in the table with the amount of 0. Otherwise, it will be removed from the table.
  • Portal: Improved JSON validation error messages.
    • Description: New targeted JSON validation messages are now available in Portal. These messages can be clicked, causing the editor to scroll and select the relevant line.
  • Unreal users no longer need to write SDK boilerplate for custom services RPC APIs.
    • Description: Unreal raw service code is now automatically generated based on protobuf RPCs. These classes can be found under the generated Public/Dto folder after running make gen-sdk-types-unreal4.
    • Related note: See integration note for steps required to enable this feature and guidelines for keeping any handwritten raw services.
      • Social → RPC Operator → Account → GetPragmaPlayerOverviewsOperatorV1

Deprecations #

  • Replace ReportCapacityUntilMatchAllocated with StartReportCapacityPolling. Note that the order of the ReportCapacityTimeout argument and callback (the last 2 arguments) needs to be reversed.
    • Description: This change will make sure that ReportCapacity continues to poll even after finding a match.
      OriginalReplacementRemoval Patch
      ReportCapacityUntilMatchAllocatedStartReportCapacityPolling0.0.77

Integrations #

  • Portal: If you’re using the current redirectSigninToSocial default (true), you will need to add a config flag, as the default has changed.
    • Description: We’ve changed Portal’s default for redirectSigninToSocial to false to avoid hostname issues with providers like Discord. If you’re currently using the redirect default, you’ll need to add a config flag.
    • Integration step:
      • If you’re using the current redirect default, you will need to add this config flag:
      pluginConfigs:
        GameOperatorGatewayNodeService.portalPlugin:
          class: "pragma.gateway.FilePortalModulePlugin"
          config:
                  redirectSignInToSocial: true
      
  • Unreal: Configure the game server SDK to use HTTP, and specify Social backend in RPC files for automatic generation. Make sure any handwritten raw services have unique class names.
    • Description: To enable the new automatically generated SDK service code, you’ll need to set a new SDK config option and specify backend type for Social RPCs (otherwise it defaults to Game). If you’d rather continue using your own handwritten raw service code, you can continue to do so as long as class names are different.
    • Integration steps:
      • Automatic generation setup:
        • Game Server only: Change SDK config option ProtocolType to HTTP (defaults to WebSocket). This can also be set via command line with -PragmaProtocolType="Http".
        • Add the following line at the top of Rpc.proto files for any Social backend RPCs to make sure code generation correctly identifies them: option (backend_type) = SOCIAL;
      • Handwritten raw service integration:
        • Confirm there are no conflicting file names with the new automatically generated files.
    • Related note: See Unreal automatic generation feature note above.

Bugs and Fixes #

  • Unreal payloads >2048 characters are now truncated in Verbose. They will still be full length in VeryVerbose.

Docs #

  • [Updated User Guide] Updated Crafting guide to reflect changes in various interfaces.
  • [Updated User Guide] Updated Crafting: Time-based guide to reflect changes in various interfaces.
  • [Updated User Guide] Updated Items guide to reflect changes in various interfaces.