This page is a work in progress and could be pending updates.
server | v5 switch to v4
Photon 5.0 RC1
This page enumerates changes in Photon Server SDK version v5.0 RC1. Customers who had used the v5 BETA SDK might find it useful.
If you are interested to discover what's under the hood in Photon 5, visit the what's new page.
V5.0 RC1 Change Log
- Photon Hive
- Photon Hive Plugins
- setting ExpectedUsers post room creation due to an issue with the number of players calculation.
- it is possible now to set MaxPlayers and ExpectedUsers in one SetProperties request.
- New room flag:
SuppressPlayerInfo (0x40): When it's set:
- Events Join and Leave are not sent. (same as
- ActorList int is skipped from join/create operation response.
- Actor properties are skipped from join/create operation response.
- Actor properties changes are never broadcast. Room properties may still be broadcast and clients could request actor properties via OpGetProperties. Note that UserId is not broadcast which makes
- Events Join and Leave are not sent. (same as
- PSCS-4053: now MasterClientId can be either int or double or byte in SetPropererties, Create- and Join- GameRequest.
- PSCS-4171: CAS properties update error message is now plain as possible.
- PSCS-4047: it is possible now to set MaxPlayers and ExpectedUsers in one SetProperties request.
- PSCS-4158: fixed null ref that happened because we used already disconnected peer.
- added Limits and Limits.Lobby subsections for master.
- added Limits section for game server.
- PSCS-4171: added limits for almost all GS operations. Master operations on GS are blocked.
- PSCS-3129: HttpRequestQueue errors logging updated.
- PSCS-3317: UseLegacyLobby Master server setting removed. SDK defaults to Lobby v2.
- HttpQueueSettings moved to its own class and used in GameServerSettings, AuthSettings and WebRpcSettings.
- Normalized log message in case if some limit is exceeded.
- OperationHandlerDefault moved to MasterServer namespace.
- settings related to GS connection on MS moved to S2S section. configs are updated
- settings related to MS connection on GS moved to S2S section. configs are updated
- we put all inbound limit under Inbound section.
- ConnectReytryInterval renamed to ConnectRetryInterval.
- WrongWordsForQueryData renamed to SqlQueryBlockList.
- WsUrlPath renamed to GamingWsPath.
- MasterServerWsUrlPath renamed to MasterServerWsPath to be in sync with other similar settings.
- Config files updated and cleaned up from outdated settings.
- GameListLimit setting was removed
- removed NodeReader and all related stuff: settings and code
- removed settings related to reliabel http (all HTTP ports, GamingHttpPath and so on) we do not support reliable http anymore.
- removed unused LastTouchCheckIntervalSeconds and PublicDomainName from config.
- removed AppStatsSendDelay.
- PSCS-4170: limits do not use 0 as unlimited case. Now it is int.MaxValue.
- removed default values for SetupOperationParameter and SetupOperationLimits.
- SetupOperation renamed to SetupOperationParameter to reflect better what it does.
- size limit of request parameters works independently from meta data action.
- WebRpcSettings.HttpCallsLimit does not use 0 as unlimited anymore.
Photon Hive Plugins
- New room flag:
- Properties metadata added:
Property.TotalSize. Metadata handling logic also implemented in
- PSCS-4169@jira: missing LeaveReason for plugins API from ErrorCode values that can be used as disconnect reason.
- OnSetProperties no longer reverts changed properties on plugin failure.
IPluginFiber.CreateOneTimeTimersecond parameter is now
- PSCS-2687: Added a way to schedule or delay disconnects, set the peer's
ScheduledForDisconnectand give the server the ability to send
DisconnectMessageto the peer before disconnecting it.
SendXXXAndDisconnectgot parameter disconnect delay. Default disconnect delay is 5000 milliseconds. For s2s communication
- PSCS-3043: Implemented parsing of
S2SPeerBasegot handling of incomming
- PSCS-3374: Added counters for native calls.
- PSCS-3851: Added a setting to toggle off LogGuard.
- Added Init request encryption validation
- added check that
ClientKey.Count != 0
- added exception hadnling for DeffieHellmannKeyExchange
- disconnecting peer sending wrong internal request.
- PSCS-3947: Merged code for encryption initialization for InitV3 and
InitRequestgot new property
IsRejected. When peer is rejected we assign it to
RejectedPeerand send a
DisconnectMessageinstead of InitResponse, we now use
RejectWithDelayedResponseinstead of direct setting errorCode and errorMsg.
- binary size of message increased to 50000 bytes.
JsonParseContextto carry parse information through the parsing and control process.
- disconnecting peer that asks for json protocol over non web socket peer
- As part of limits handling improvement logging in case when max length is exceeded was fixed.
- added check that init message does not exceed max message.
- PSCS-4133: Added HTTP response payload size limit.
- PSCS-3253: Scheduled actions interval changed from
- Added lock free version of time interval counter.
- Added usage of readwrite locking.
- Where it is safe
- PSCS-3933: Parameter type of
OnDisconnectcallback method changed from
OnDisconnect(int). The parameter values can be a specific disconnect reason (0-5, 100-105, old
DisconnectReasonvalues) or an error code (3XXXX).
- PSCS-3956: We transit to new configuration system provided by netcore.
- SocketServer section is refactored to have Limits sub section.
- PhotonSettings.OnlyLogLimitsViolations default is set to false.
- PSCS-4155: exception logging in all IPhotonApplication method covered by try catch with logging to native.
- we covered exception logging with another try catch that logs into unmanagedLog log, to be sure that no exceptions leak to native side.
- PSCS-4164: completly removed support for nested OperationRequest, Response and Event data.
- PSCS-4171: Dictionaries nesting level reduced to 32 to avoid possible issue that could server failure with stackoverflow exception.
- PSCS-3176: Integrate CustomAuthProviders into NS - removed url check for integrated customauth providers Facebook, Steam, Oculus and Viveport. Renamed "CheckUrl" to "IsValidUrl".
- Implementation of
MasterServerCache.TryGetPhotonEndpointupdated to not cause warnings.
- PSCS-3937: Strict custom authentication check: When a client requests an authentiation provider which is not configured, the authentication should fail.
- PSCS-3891: Prevent multiple authentication requests, after 3 auth requests OperationDenied is returned.