This document is about: SERVER 5
SWITCH TO

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.

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 and Property.TotalSize.
    Metadata handling logic also implemented in PropertyBag.
  • 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 now int instead of long.

PhotonSocketServer

NEW

  • PSCS-2687: Added a way to schedule or delay disconnects, set the peer's ConnectionState to ScheduledForDisconnect and give the server the ability to send DisconnectMessage to the peer before disconnecting it.
    SendXXXAndDisconnect got parameter disconnect delay.
    Default disconnect delay is 5000 milliseconds.
    For s2s communication SendOperationRequestAndDisconnect was added.
  • PSCS-3043: Implemented parsing of DisconnectMessage.
    S2SPeerBase got handling of incomming DisconnectMessage.
  • 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 property IsRejected. When peer is rejected we assign it to RejectedPeer and send a DisconnectMessage instead of InitResponse, we now use RejectWithDelayedResponse 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 to int.
  • PSCS-3918:
    • Added lock free version of time interval counter.
    • Added usage of readwrite locking.
    • Where it is safe TimeIntervalCounter replaced by TimeIntervalCounterLF.
  • PSCS-3933: Parameter type of OnDisconnect callback method changed from DisconnectReason enum to int.
    OnDisconnect(DisconnectReason) is now OnDisconnect(int).
    The parameter values can be a specific disconnect reason (0-5, 100-105, old DisconnectReason values) or an error code (3XXXX). OnUnexpectedDataReceived replaced with OnDeserializationError.
  • 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.
Back to top