October, 2010

26
Oct 10

The v2.2.2 release of the Photon Server SDK is just an update of the v2.2.1 and does not include any new features. This package is fixing two issues:

Some customers unzipped the previous release with the explorer and found that Photon did not start. In the log, they found the line: “Assembly does not allow partially trusted callers”. The root of this evil was, that we already switched from VS2008 to VS2010 as internal IDE and use it when building. In combination with Windows’ internal unzipping, our own assemblies were marked as partially trusted and were refused. Microsoft describes this feature in the MSDN. If you know about this feature, it’s easy to avoid it’s pitfall.

We also changed the way peerIDs are assigned assigned. Before this release, Photon was sometimes running into situations where no peerID was available anymore. This is also an internal fix, so you don’t have to adjust anything.

Get the Photon Server SDK v2.2.2 here.

19
Oct 10

We just released new native SDKs for iOS and Windows (C, C++ and ObjC). This release introduces some of the changes done earlier in DotNet, which is currently our primary development platform.

With v6.2.0 you can use “properties” on the latest Photon servers. These are arbitrary, named values that can be attached to games and actors (players in a game). Properties are buffered by Photon and provided to all players in a room (even those who join later on). A simple way to store the map, level, game mode or anything else you want every player to know.

In C++, we now also have a LitePeer to implement Lite specific operations. There are also getter functions getQueuedIncomingCommands() and getQueuedOutgoingCommands(), which might help analyze client load / performance.

All demos are now using localhost:5055 as default server address. If you are building for iPhone, please make sure to setup a suitable server address before you compile. While our “demo” server is still around, we will have to update it from time and it might be down without further notice.

Please refer to the release_history*.txt files for a complete list of changes.

Get the new v6.2.0 SDKs on our download page.

19
Oct 10

We just uploaded a re-built SDK, which fixes issues in the XP/Win2003 executables.

If you are developing with XP or Win2003, get the new v2.2.1.

15
Oct 10

Looking only at the API changes of the v6.0.0 DotNet / Unity client libraries, this could be a minor update: Most of the changes are hidden behind the scenes.

Serialization was extended on both sides and now supports arrays of arrays. Directly send int[][], string[][] or any other serializable type arrays where needed.

Server timestamp synchronization got improved. Of course, this always includes a bit of random (latency) imprecision, we got closer to a useful result. Internally, client and server now use a command that’s immediately answered (on the lowest level), excluding all internal lag from the synchronization. In local tests, we now get the server timestamp with +/-10 ms difference.

The two updates above mean that v6.0.0 will require a Photon Server v2.2.0 an up.

There are several fixes (described in the release_history.txt) and we included the source of LitePeer.cs in the Realtime Demo as best practice to create an API for your own operations.

Get the new client and server SDK on our download page.

15
Oct 10

It's been only two months since the last update but even though we try not to release too often, we felt that we have a lot of good stuff that should be in your hands.

 

The most important changes are:

Photon now supports the .NET 4.0 runtime and puts it to good usage: The (much) improved ThreadPool was able to get us 15 to 20% better results in load tests! Keep in mind: without changing a single line of code. For the time being we keep Photon, Lite and MMO compatible with DotNet 3.5 but from now on you're free to use new features as well. You can use Visual Studio 2010 (and still VS 2008) to edit and compile your projects.

We support the new Unity3D version 3 out of the box (our 2.x server did this already). Policy requests are answered by the built in policy application. We deliver the Unity samples in Unity 2.x format just to stay compatible – but you can easily load and update with the latest v3.

We simplified the deploy of Photon applications. So far the deploy process was: Stop Server, Deploy, Start (assemblies were locked as the server runs). Now we use shadow copies and you can just XCOPY your new assemblies to the server and your application (domain) gets restarted.

As always, we've been optimizing the C++ Core as well: Photon got new buffer allocators which give us better memory usage across the board, without any performance hit.

The API was extended by a Flush method to send out packages instantly. Usually, Photon has a small send-delay for anything that's going out to accumulate some commands that go to the same peer. With Flush, your game logic has the power to override the delay and speed up replies / events where needed.

For a long time, we wanted to show you what's happening within your Photon server. We updated the Dashboard to do just that: Once started, the Dashboard makes Key values of Photon available via webbrowser. Track CPU usage, memory, connections and more.

You can now configure multiple UDP and TCP listeners to open Photon for different IPs and ports. This is in use for server-to-server communication and a stepstone for load balancing.

Server-to-server communication also made it into this release. As part of the socketserver lib (photon.socketserver.dll), it's becoming best practice to sync multiple instances of Photon. We will show more of that in a while.

Get the new SDK on our download page.

Next up: Encryption!