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.csControllableFireAndForget.csPartyTestHelpers.csPragmaSessionTestFixture.csRetryTracker.cstest_messsages.protoTestMessages.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.