Pragma Engine 0.0.81
August 23rd, 2022
Features #
Added Keep Alive Heartbeats feature in Match Lifecycle that sets a heartbeat to determine if matches need to be forcibly ended.
- Description: You can configure the Keep Alive loop by setting the MatchLifecyleServiceConfig.enableKeepAlivetotruein the config.keepAliveIntervalMillisdetermines the interval of heartbeats.missedKeepAlivesBeforeCleanupdetermines how many heartbeats can be dropped before Pragma Engine ends the match.
- Details: Your game servers must use the newest Pragma Engine SDK and the new MatchLifecycleService.MatchReadyandMatchLifecycleService.MatchEndSDK functions.
Added Unreal and Unity SDK raw bindings for InventoryService.ApplyInventoryOperationsPartnerV1.
Added the ability to process player match ends prior to the end of the match.
- Description: Player match ends can now be processed prior to match end via the new Partner endpoint MatchLifecycleRpc.PlayerLeaveV1.
Portal: Users can now create an account and log in with Google.
- Description: We’ve implemented Google OAuth using an implicit grant flow to allow users to log in to Portal using Google. We’ve removed access_tokenandrefresh_tokenfrom the backend as cleanup.
Integrations #
In the Match Lifecycle service config, update your configuration to not include enablePartyRecreate.
- Description: The config option MatchLifecycleServiceConfig.enablePartyRecreatehas been deleted due to rearchitecture of the game loop flow.
- If this disrupts your intended Party flow, please reach out to us directly so we can help you resolve it.
- Integration steps:- Update configuration to not include MatchLifecycleServiceConfig.enablePartyRecreateif set.
- Ensure client SDKs are compatible with the behavior of the platform–that players stay in a party during a match, and are released from the game loop after MatchEnd.
 
- Update configuration to not include 
Migrate any usages of the StartReportCapacityPolling that does not take in a GameServerZone to the new StartReportCapacityPolling that does.
- Description: The version of the MatchCapacityService.StartReportCapacityPollingfunction in the SDKs that does not take in aGameServerZonehas been removed in favor of a version that does.
- Integration steps:- Migrate any usages to the StartReportCapacityPollingfunction that is able to take in aGameServerZone.original replacement Unity: public void StartReportCapacityPolling(string serverId, string gameVersion, float timeout, MatchAllocatedDelegate onComplete)Unity: public void StartReportCapacityPolling(string serverId, string gameVersion, string gameServerZone, float timeout, MatchAllocatedDelegate onComplete)Unreal: void UPragmaMatchCapacityService::StartReportCapacityPolling(FString ServerId, FString GameVersion, float Timeout,const FMatchAllocatedDelegate& OnComplete)Unreal: void UPragmaMatchCapacityService::StartReportCapacityPolling(FString ServerId, FString GameVersion, FString GameServerZone, float Timeout, const FMatchAllocatedDelegate& OnComplete)
- If you don’t use GameServerZone, you can pass an empty string into these methods.
 
- Migrate any usages to the 
Unity: If your tests use any of the helpers listed below, update your using imports to include the new helpers folder.
- Description: A few test helper files in the Unity SDK have been moved into a helpersdirectory for better organization. The new folder istests/helpersand contains the following files:- AsyncTest.cs
- ControllableFireAndForget.cs
- PartyTestHelpers.cs
- PragmaSessionTestFixture.cs
- RetryTracker.cs
- test_messsages.proto
- TestMessages.generated.cs
 
- Integration step:- If your tests were using any of the listed helpers, update your usingimports to include the newhelpersfolder (i.e.using test.helpers.AsyncTest).
 
- If your tests were using any of the listed helpers, update your 
Bugs and Fixes #
A new file has been generated: platform/5-ext/buildkite/engine-ci.yml. You may safely commit this file. It will be used in a future release.
Docs #
[New Tech Blog video] Creating Stackable Items video is now live! The video is embedded in the Creating Stackable Items article and available via YouTube and the Pragma Blog.
[Updated Services Guide] Added a new Cancellations section on the Concurrency page.
[New User Guide] Added a new section on Creating A Test for the Echo service in the Custom Services guide.
[Revamped Services Guides] Overhauled the Game Services guide and renamed the category from Game to Game Flow.
- Description: All pages in this category from Party to Matchmaking to Game Server Management have been rewritten for clarity.