server | v3 switch to v4  

Photon 3.2

  • SDK: 3.2.10 rev. 4248
  • Released: 2013-02-08
  • Photon Native Core v.3.2.5.2037

Photon Native Core V.3.2.5.2037

New

  • PSCS-507: New command line arg -enumWinsock will cause photon to dump details of winsock transport providers in log on startup
  • PSCS-1064: New exit codes for startup errors
  • PSCS-1065: New exit codes for shutdown errors
  • PSCS-1067: New exit codes for clr errors
  • PSCS-1086: New return code SendInvalidChannel from Send(). OnInit() now receives the number of channels negotiated by the client, or 0 if the transport does not support channels.
  • PSCS-1103: Added new Enet counter: connect timeout
  • PSCS-1104: Added new Tcp & Policy counter: Connect Timeout
  • PSCS-1160: Added new config setting "DisconnectTimeout" for TcpListeners. Added AbortClient() to all peer types.
  • PSCS-1176: Added a limit to the amount of inbound reliable data that can be queued per peer. Note that this limit is shared with all channels in a peer. The limit is NOT applied to fragments IF the first fragment has been queued.
  • PSCS-1190: Added performance counters for MUX
  • PSCS-1209: Added support for supported sub-protocol specification in the config file and sub-protocol negotiation during the handshake phase. We now pass the request headers to the OnInit() method.
  • PSCS-1215: Support enabling counters for non admin users - We now specifically check for the required privilege, SECREATEGLOBAL_NAME, rather than just "admin".
  • PSCS-1229: Websockets - Added support for message type binary
  • PSCS-1238: Websockets - Added config "PingEvery" for outbound ping. When on we calculate a peer RTT.
  • PSCS-1239: Websockets - Added oubound websocket peers
  • PSCS-1277: Added optional CRC generation and validation on ENet datagrams.

Back To Top

Changed

  • PSCS-1205: Remove support for Tcp v1 and RTS v1
  • PSCS-1180: Moved MUX into a separate Listener

Back To Top

Fixed

  • PSCS-1383: Photon does not require .NET 4 any longer
  • PSCS-769: Clients not beeing disconnected when AppDomain unloaded - We now catch any exception caused by an app domain already having been unloaded when we try and stop it and continue to forcibly abort the connections rather than allowing the exception to skip the connection aborting code.
  • PSCS-1009: Fixed issues in counter installation a) Return correct exit code on counter install/removal failure, e.g when perfmon running. b) allow for other supported platforms and configurations.
  • PSCS-1018: "Application::Disconnect() - This connection is not connected to this application"
  • PSCS-1072: Photon crash when trying to send to a non-existent channel.
  • PSCS-1089: Fixed client connect retransmits created a new peer - now normal server side retransmits are used to ensure that the connect verify gets through to the client.
  • PSCS-1091: Crash with TCPPeer and TCPOutboundPeer- The thread tried to read from or write to a virtual address for which it does not have the appropriate access. We now check that we have a buffer left to send before we try and send it.
  • PSCS-973: OnCLRDisabled now trigger a Photon Shutdown
  • PSCS-1133: Fixed rtt disconnect history having sometimes "garbage" - moved rtt logging to before we reset the peer to avoid garbage data. Removed 0 RTT entries.
  • PSCS-1148: OnDisconnect not beeing called after PeerBase.Disconnect. We now use Use half close rather than full close. And we detect broken client libs and use RST in these cases.
  • PSCS-1153: Fixed TCPOutbound race condition in disconnection. We are accessing a connection after it's been disconnected and trying to send to a socket (or endpoint) that was valid when we last checked but isn't valid any more...
  • PSCS-1156: Fixed "JetByteTools::WebSocket::HyBi::CProtocolHandlerAllocator::m_nextBufferIndex"
  • PSCS-1162: Race condition during Send/Disconnect in TCPListener - crashing with Purecall (https://forum.photonengine.com/viewtopic.php?f=5&t=2235)
  • PSCS-1163: Fixed an Enet connection timeout, caused by missing resends when having high amounts of inbound reliable data queued.
  • PSCS-1186: Shut photon down if it gets into an "infinite" dump loop. You can now configure an upper limit of dump attemps, if we try and make more than this number then Photon shuts down with exit code 111.
  • PSCS-1236: Websockets Autobahn Test - we now ignore unsolicited ping request. same name run together.
  • PSCS-1214: Websockets - Added Handshake parse checks - we now fail fast if method isn't GET, limit number of headers to 100, limit length of lines to 8190 (these are the limits in Apache 2.3). Also validate that the HyBi key decodes to 16 bytes (even though we only ever use the 24 byte encoded version and there are already checks for that being the correct size).
  • PSCS-1216: Websocket Peer Leak and Photon Hang on shutdown
  • PSCS-1217: Websockets - Connection limit reached
  • PSCS-1218: Now Photon is found as "Photon" in Taskmanager
  • PSCS-1221: Websockets - Fixed Hixie76 (iOS 5.x) issues
  • PSCS-1230: Photon Hang on start - We now prevent performance counters becoming locked if two instances of the
  • PSCS-1235: Photon instance can no longer be started twice
  • PSCS-1246: WebSocket Performance Counter - handshake failures are now counted as server disconnects instead of as client disconnect.
  • PSCS-1278: Get Photon to run on Server 2012 with only .Net 4.5/4.0 installed
  • PSCS-1300: Fixed a stack overflow exception and corrupted crash dumps on shutdown

Back To Top

PhotonControl

Back To Top

Fixed

  • PSCS-1144: PhotonControl.exe crash - Invalid xml configuration file caused PhotonControl crash.
  • PSCS-1370: Public IP address lookup for LoadBalancing instance

Back To Top

SDK 3.2.8 Rev. 4222

Photon: ServerSDK

New

  • PSCS-1313: Added Azure Support with the new "Photon Azure Starter Kit" PASK - see documentation and download.

Back To Top

Changed

  • PSCS-1311: Added Silverlight PolicyListener to Loadbalancing Instance (PhotonServer.config)
  • PSCS-1315: Added WebSocket Ports to Loadbalancing instance (PhotonServer.config)

Back To Top

Fixed

  • PSCS-1278: Get Photon to run on Server 2012 with only .Net 4.5/4.0 installed (Azure GuestOS 3)

Back To Top

PhotonSocketServer.dll

New

  • PSCS-1229: Websockets - Added support for message type binary.
  • PSCS-1303: Json "Vectors" now are deserialized as as object[].

Back To Top

Fixed

  • PSCS-925: Fixed Serialization of dictionaries with arrays as value type failing.
  • PSCS-1247: InitEncryption causing an infinite loop in BigInteger.ModPow. It's a nown bug in the mono BigInteger implementation we use - for now we only have a workaround we kill the thread if response takes to long.

Back To Top

Changed

  • CpuUsageCounterReader constructor is now public; removed static singelton instance

Back To Top

Lite

New

  • PSCS-1309: Added Room Groups

Back To Top

Fixed

  • PSCS-1316: Null reference exception when comparing two events in the RoomEventCache

Back To Top

Loadbalancing

New

  • PSCS-1314: LoadBalacing - Added support for Application Stats - before they where only available on the Photon Cloud.
  • PSCS-1378: NUnit tests for LoadBalancing

Back To Top

Changed

  • PSCS-1276: Improve automated public IP lookup, we use several fallback URLs and have better error logging.

Back To Top

Fixed

  • PSCS-1106: InvalidOperationException while publishing game changes (collection was modified)
  • PSCS-1107: NullReferenceException in HandleRemovePeer
  • PSCS-1312: Fixed support for game- and actor-properties sent by AS3/Flash clients
  • PSCS-1378: Application stats are now enabled per default

Back To Top

Counter Publisher

Changed

  • Network traffic is now published as sum of all network interfaces
  • Replaced Cpu usage counter by the Photon.SocketServer CpuUsageReader which correctly divides the value from the performance counter by the number of processors on the machine

To Document Top