server | v3 switch to v4  

Photon 3.0 - RC9

  • SDK: 3.0.24 rev. 3243
  • Released: 2012-04-27
  • Photon Native Core v.3.0.15.1343

Photon Native Core V.3.0.15.1343

New

  • PSCS-528: Added new peer lifecycle counters:
    • peers created
    • peers disconnected
    • peer destroyed/cleaned up
      • disconnect triggered by timeout
      • disconnect triggered by client
      • disconnect triggered by server-native
      • disconnect triggered by server-managed
  • PSCS-608: Added a new callback to unload an app domain by application
  • PSCS-609: Added eNet Performance Counter for failed validation dropped
  • PSCS-633: Added new peer tracking features:
  • New peer connection statistics:
    • GetRoundTripTime()
    • GetRoundTripTimeVarianz()
    • NumberOfFailedValidationDatagrams <<< only those that are coming from the same ip address
    • NumberOfExceptions
  • OnDisconnect now passes a disconnect reason (enum and debug string)
  • Peer allows to set a DebugString which, if set, is displayed in the native logs.
  • PSCS-634: Introduced S2S message size limit for outbound connections
  • PSCS-638: Added performance counter for failed policy requests
  • PSCS-650: Added optional outbound max message size config setting for TCP and eNet peers.
  • PSCS-660: Added Photon config name - Photon configs now have an optional "name" which is - displayed in the logs.
  • PSCS-662: Added new eNet Performance Counter for port changes
  • PSCS-696: We now allow specification of "infinite" max message size with a "0"
  • PSCS-712: Added support for S2S (non MUX) inactivity timeouts (defaults to 0).
  • PSCS-716: Added config settings to specify MUX S2S flow control parameters
    • to improve logging in native logs
    • App domain unloads due to unhandled exceptions are now routed via the unmanaged layer.
    • datagrams
  • PSCS-706: Added TCP Policy Performance Counters

Back To Top

Changed

  • PSCS-554: Photon Control now opens recent logs from all instances
  • PSCS-695: Changed Photon config now the nodes <ThreadPool> and <ENetThreadPool> are optional.
  • PSCS-627: Removed the separate "Flash" policy listener and have all policy

Back To Top

Fixed

  • PSCS-506: Fixed S2S Performance Counter inconsistencies: Messages are counted in this object and the overall "Photon Socket Server" BUT peers and bytes NOT

ENet/UDP

  • PSCS-27: Fixed eNet Peer - timeout is too long issue
  • PSCS-614: Fixed UDP Leak caused near the tickcount wrapping time.
  • PSCS-652: Fixed missing CreateServerPeer call for Outbound eNet connections
  • PSCS-665: Fixed eNet - Disconnect notification delayed for large Ping Intervals. We removed the concept of "zombie" peer - we now reset the peer and notify the clr as soon as we can.
  • PSCS-670: Outbound eNet: peer leak when we fail to establish the connection. We now dispatch outbound peer failure to connect notifications correctly. We also set the timer based on the timeout from the reliable command sent rather than the ping timeout.

Back To Top

TCP

  • PSCS-428: Fixed lock inversion in outbound TCP peer + flow control.
  • PSCS-559: Fixed infinite loop in TCP stream parser.
  • PSCS-686: Fixed crash with TCP flow control tests (Photon rev. 1262) – We now prevent socket over release on held socket.
  • PSCS-705: Fixed TCP leak / exception killed timer thread (Photon rev. 1275). All OnTimer() callbacks now have exception handlers that log and prevent exceptions from leaking and killing the timer thread.

Back To Top

S2S TCP

  • PSCS-571: Fixed issue with S2S TCP flow control where OutgoingPeer OnDisconnect() was occasionally not being called
  • PSCS-700: Data flow stopping on S2S TCP test "MultiPeerTest_5B" - Stall caused by accumulated data not being flushed.
  • PSCS-719: Fixed message parser error on test case PSCS700Bidirectional_1Peer (Photon rev. 1328) – the issue was uncovered after fixing PSCS-700.

Back To Top

S2S Mux

  • PSCS-485: Fixed S2S Mux parser exception with test case MuxMultiPeerTest3B CTCPOutboundConnectionManager::ProcessDataStream() - Invalid message format
  • PSCS-536: Fixed S2S Mux Message parsing exception: "Unexpected! Message isn't an end node message!"
  • PSCS-550: Fixed S2S Mux Exception CProxyDemultiplexer::ProcessDataStream() - Unexpected: Process message returned a buffer to read into that contains data (and so can't be thrown away)
  • PSCS-683: Fixed crash w. message parser error (Photon rev. 1268) - Removed per connection state from the demux and placed it in the per connection state object.

Back To Top

Policy

  • PSCS-601: Fixed Policy/XML “Peer Leak” (counter issues) & fixes for the max message length of a policy request.
  • PSCS-621: Fixed crash & out of memory exceptions shortly after start. Removed race condition from policy file listener.

Back To Top

SDK 3.0.24 Rev. 3243

Photon.SocketServer.dll

New

  • New added support to host photon application in the IIS. (Implemented protocol.HTTP2 our v2 of the Photon HTTP support).
  • Photon Http - added setting for max http message size (default 1MB)
  • PSCS-723: Added ping support for S2S connections in Photon Http

Back To Top

Changed

  • Removed deprecated Photon.SocketServer.WebSockets.dll

Back To Top

Fixed

  • Fixed PhotonHttp - HttpApplicationHandler Ping requests using http client from unity caused System.ArgumentException: Destination array is not long enough to copy all the items in the collection. Check array index and length.
  • Fixed InvalidCastException in the amf3 protocol caused by an unhandled exception converting numeric values.
  • Fixed an unhandled exception throw when clients send duplicate parameter codes
  • Fixed BroadCastEvent now correctly calls PeerBase.OnSend(…)
  • Fixed TCPClientBase exception when calling the send methods after a connection reset
  • Fixed exception when receiving empty encrypted data

Back To Top

Lite

Fixed

  • Fixed exception in LiteGame ExecuteOperation and ProcessMessage causing Photon to shut down (restart)
  • Now properties are removed when setting them to null.

Back To Top

Photon.Dashboard

Fixed

  • Fixed update graph failed error messages – now end time for graphs is set to one second less than DateTime.UtcNow and updated to ExitGames.Diagnostics.Rrd.dll to version 0.9.12.

    - Fixed null reference exception on service shutdown

Back To Top

Loadbalancing

Changed

  • Now we generate a "ServerState.txt" file instead of "app_offline.txt" for the Cloud deploy package
  • Initial server state now can be set using the serverstate.txt file
  • Added error handling to IncomingGameServerPeer implementation
  • Added game server state (OutOfRotation, Offline) to WorkloadController. Move code to set game server state per file to VirtualApps
  • Added new setting MaxGamesInLobbyList to specify the maximum number of games that should be send to clients joining the application lobby
  • Added support for UDP relay ports (Azure)

Back To Top

Fixed

  • Fixed added missing error handler to code which runs on a fiber thread.
  • Fixed Flash clients could not set build in game properties
  • FIXED: LoadBalancing - LatencyMonitor creates multiply connections per protocol on network errors
  • PSCS-713: Fixed LatencyMonitor creating to many connections.
  • PSCS-728: Fixed GS reconnecting to the Master in an endless loop

To Document Top