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.enableKeepAlive
totrue
in the config.keepAliveIntervalMillis
determines the interval of heartbeats.missedKeepAlivesBeforeCleanup
determines 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.MatchReady
andMatchLifecycleService.MatchEnd
SDK 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_token
andrefresh_token
from the backend as cleanup.
Integrations #
In the Match Lifecycle service config, update your configuration to not include enablePartyRecreate
.
- Description: The config option
MatchLifecycleServiceConfig.enablePartyRecreate
has 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.enablePartyRecreate
if 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.StartReportCapacityPolling
function in the SDKs that does not take in aGameServerZone
has been removed in favor of a version that does. - Integration steps:
- Migrate any usages to the
StartReportCapacityPolling
function 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
helpers
directory for better organization. The new folder istests/helpers
and 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
using
imports to include the newhelpers
folder (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.