This page is a work in progress and could be pending updates.
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
FIXED
- PSCS-4047:
- 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
- New room flag:
SuppressPlayerInfo (0x40)
:
When it's set:- Events Join and Leave are not sent. (same as
SuppressRoomEvents
) - 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
PublishUserId
useless.
- Events Join and Leave are not sent. (same as
CHANGED
- 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.
LoadBalancing
FIXED
- 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.
- PSCS-4112:
- added Limits and Limits.Lobby subsections for master.
- added Limits section for game server.
NEW
- PSCS-4171: added limits for almost all GS operations. Master operations on GS are blocked.
CHANGED
- PSCS-3129: HttpRequestQueue errors logging updated.
- PSCS-3317: UseLegacyLobby Master server setting removed. SDK defaults to Lobby v2.
- PSCS-4112:
- 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
- New room flag:
RoomOptionFlags.SuppressPlayerInfo
. - Properties metadata added:
Property.KeySize
,Property.ValueSize
andProperty.TotalSize
.
Metadata handling logic also implemented inPropertyBag
. - PSCS-4169@jira: missing LeaveReason for plugins API from ErrorCode values that can be used as disconnect reason.
CHANGED
- OnSetProperties no longer reverts changed properties on plugin failure.
IPluginFiber.CreateOneTimeTimer
second parameter is nowint
instead oflong
.
PhotonSocketServer
NEW
- PSCS-2687: Added a way to schedule or delay disconnects, set the peer's
ConnectionState
toScheduledForDisconnect
and give the server the ability to sendDisconnectMessage
to the peer before disconnecting it.
SendXXXAndDisconnect
got parameter disconnect delay.
Default disconnect delay is 5000 milliseconds.
For s2s communicationSendOperationRequestAndDisconnect
was added. - PSCS-3043: Implemented parsing of
DisconnectMessage
.
S2SPeerBase
got handling of incommingDisconnectMessage
. - PSCS-3374: Added counters for native calls.
- PSCS-3851: Added a setting to toggle off LogGuard.
- PSCS-3945:
- 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
AuthOnInitHandler
.
InitRequest
got new propertyIsRejected
. When peer is rejected we assign it toRejectedPeer
and send aDisconnectMessage
instead of InitResponse, we now useRejectWithDelayedResponse
instead of direct setting errorCode and errorMsg. - PSCS-4096:
- binary size of message increased to 50000 bytes.
- Added
JsonParseContext
to carry parse information through the parsing and control process. - disconnecting peer that asks for json protocol over non web socket peer
- PSCS-4101:
- 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.
CHANGED
- PSCS-3253: Scheduled actions interval changed from
long
toint
. - PSCS-3918:
- Added lock free version of time interval counter.
- Added usage of readwrite locking.
- Where it is safe
TimeIntervalCounter
replaced byTimeIntervalCounterLF
.
- PSCS-3933: Parameter type of
OnDisconnect
callback method changed fromDisconnectReason
enum toint
.
OnDisconnect(DisconnectReason)
is nowOnDisconnect(int)
.
The parameter values can be a specific disconnect reason (0-5, 100-105, oldDisconnectReason
values) or an error code (3XXXX).OnUnexpectedDataReceived
replaced withOnDeserializationError
. - PSCS-3956: We transit to new configuration system provided by netcore.
- PSCS-4112:
- 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.
NameServer
CHANGED
- 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.TryGetPhotonEndpoint
updated 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.