Appearance
Release 8
November 3rd, 2020
Appearance
November 3rd, 2020




PlayerPrefs. This circumvents an issue on some Android devices where PlayerPrefs fails to persist state properly.sock_diag(7) instead of parsing /proc/ pseudo-fs. This improves game server performance when the number of connections is high.123.45.X.X-3c1f83b9, fe80:0000:X:X:X:X:X:X-3c1f83b9. The anonymized ID will retain its identity until the next server restart or redeployment.OnApplicationPause events. Please see Connection Management for more info. DatabaseNumActiveShards in Server/Game.Server/Config/Config.local.json to 1. If you're unsure, please contact us.p1.metaplay.io environment has been updated to support the latest database sharding setup. Currently, running deployments are running in a compatibility mode and with the non-sharded database configurations. metaplay-gameserver chart version 0.1.0.prod and staging) to infra-modules v0.1.0 requires a fresh redeployment of the infrastructure from backups (RDS backups and game deployment S3 backups). This update is required for, amongst others, the database sharding functionality.PersistentEntityActor initialization sequence (InitializeNew/ LoadPersisted → MigrateState → PostLoad) now passes the initialized state along the calls, removing the need for the implementation to store partially initialized state. PlayerActorBase now provides a SwitchToNewModelImmediately method and a OnSwitchedToModel callback which replace the RestoreFromModel & PostLoad combo. This clarifies the lifecycle as PostLoad will only be called once, at the end of an initialization sequence. PlayerActorBase.ExecuteServerAction now takes a mandatory ServerActionTimelineOrder argument which controls whether the action may happen as a part of the ongoing (if any) action (Relaxed), or if the action may only happen after all actions have finished (AfterPendingOperations). AfterPendingOperations, as it makes the flow of operations linear. We have migrated the existing code.[Sensitive] attribute replaces old PrettyPrintFlag.Sensitive flag for sanitizing sensitive strings from logs and when sending data to the dashboard. The new attribute works when serializing data for the dashboard as well. [MetaSerializable] is now required also for serialized enum types. This makes using serialized enums safer as the attribute should inform the reader that the values of the enums should not be changed, as they may have been persisted in the database already. enum types where necessary. All existing code has been migrated.MessageTargetActor enum has been replaced by an abstract MessageRoutingRule attribute class in order to make it more flexible and extensible by the game without needing to make custom modifications to SDK code. MessageTargetActor.Player as the targetActor argument for its MetaMessageAttribute, it should now instead have the MessageRoutingRuleOwnedPlayer attribute next to the MetaMessageAttribute.MessageTargetActor.GoogleCredentialsPath field in Server/Game.Server/Config/Config.*.json files has been renamed to FirebaseCredentialsPath. PlayerActionBase and PlayerServerActionBase. InAppPurchase.cs, PushNotification.cs, and SocialAuth.cs. ActionResult class was split into two: ActionResult remains the container for the game-specific result codes, and MetaActionResult is the type that is passed around and returned from Execute() methods. It also contains all Metaplay Core-specific result codes and the Success code. OnApplicationPause events as described in Connection Management. MetaplayClient.OnApplicationPause or MetaplayConnection.OnApplicationPause in its MonoBehaviour.OnApplicationPause. It may already be implemented.[MetaSerializable] attribute on serialized enum types.Queue<T>.AfterPendingOperations.SwitchToNewModelImmediately method to replace fragile RestoreFromModel();PostLoad(); combo. Added OnSwitchedToModel callback to replace RestoreFromModel in all (re)load paths.