As I am trying to decide on my networking solution, I have been scanning the forums and find numbers of threads talking about the best networking solution. I have created a chart that compares the different server choices.
Here’s the link to the chart in progress:
I invite any an all people to clarify any point or give more detail, but I would ask that people refrain from evangelism or repetition.
I have had to lock the server comparison chart due to what looks like lazy and accidental editing, rather than malicious damage. However, restoring the document from these accidents is proving difficult to keep up with.
So:
Please check all data on Network Server Solutions and post here if anything needs changing.
If you need editorial powers please contact me with a gmail address and I will make you an editor.
Now - you don’t need to be associated with any server solution to edit and I’m happy for any named person to have access, but I need to put up a block against anonymous edits accidentally messing things up.
Saymoo: I’ve added some of the information you’ve suggested.
When it comes to the “Unlimited Free Trial”, I was responding to both Badumna and Photon who seem to offer “Trial” versions. I am assuming since the main limitation for the licenses is the CCU limit, that it means no CCU limit. This field may go away if it turns out to be irrelevant.
Cerebrate: Yes I do believe I did miss Lidgren. It rings a bell, now that you mention it. I’ve added an entry to Lidgren, but shy of downloading it (which I did) and learning it (which I have not, yet), can you or anyone who knows Lidgren weigh in with any comments so this package is fairly represented?
I’ve added information on Badumna and uLink. I’m still working of SmartFox and details on all of these packages.
Ultimately - “features” are going to weigh heavily in this comparison when it comes to anyone making a final decision. I’ll try to gather as many of these as possible, but I encourage other people to cover any factual holes I have, especially when it comes to features over simple statistics like license details and price.
In the notes you write, that it was unclear, if Photon supports Unity-Clients for iOS and/or Android.
To clear this up: Yes, these platforms are officially supported.
The chart is a good start and high-level overview.
It might be a bit misleading though, as it compares lower networking solutions to more complete frameworks:
From what I understand, Lidgren (e.g.) is more or less a messaging solution. It sends messages from A to B. It does not solve any of the issues to develop a server that handles thousands of concurrent games and players. This makes a big difference when you develop a game.
A complete comparison is probably beyond the scope of a single table but in my opinion, you should add a few columns about the feature set.
If you add columns for other features I may have some more comments. But based on what I see right now here are my comments/clarifications for ElectroServer.
First, I see that you have build targets listed. Being that this is a Unity forum that does make sense. But I’m not sure if you want to note anywhere the client languages that the various solutions support. Here is what ES supports: ActionScript 2, ActionScript 3, JavaScript, C#, Java, Objective-C
You mentioned as an aside that ElectroServer’s support for mobile is anecdotal. I just wanted to confirm for you that it is indeed supported whether through Unity or by compiling to any of the native languages.
Free CCU - if you want to remain anonymous and just download the server, you can and will be able to use the 25 CCU license. If you sign up to use your license manage (which has no cost) you can use the free 100 CCU license.
Badumna reports that Web builds have the limitation when using Unity 3.x that the web build has to use HTTP tunnel. This may be true of other providers as well as I feel I remember something about security protocols… Can anyone comment about security protocols in web builds?
Added the information above and some additional information from other sources as well.
I think that you are correct when you talk about the “feature set”. As I noted above, much of this is going to boil down to a comparison between “features” or “Unique Selling Points”. I’m still machinating over how best to display this information. Currently I’m adding this into the “notes” field. When I get more information, I may find a better way to display and compare features sets and USPs. Please let us know any feature sets or USPs that you feel need to be highlighted for ES5.
Moreover, I don’t think one size fits all, but I’m hoping by having a reasonable and easy to read comparison, it will help people make a decision.
A note re: Lidgren and Unity’s Master Server:
I don’t fully understand the limitations or abilities of Lidgren, but responding to feedback, I’ve included it here. I like the concept of pointing Unity users to a free alternative, but at this point I’m not clear with Lidgren what I’m pointing people to. If anyone had any more information, please let me know.
I felt that comparing Unity’s Master Server here wouldn’t provide much help as I feel that most people who are looking at middleware solutions have already passed the point of worrying whether Unity Networking will be a potential solution. If people feel I’m in error about this, I can add a column for Unity’s Master Server, but when comparing apples with oranges as we are here, I’m not sure if UMS is even a fruit, and is not really comparable in this context.
I think that built in Unity Networking should be on the list. It’s another free option, which is suitable for some projects. The Master Server is part of Unity Networking and should not have it’s own column. It could be a row / feature for any p2p-typed solution.
Here is some additional information divided into two sections. The first one speaks to most of the columns in your table. The second section is in response to your request that we call out any specific features that might be worth knowing about.
Client languages supported: ActionScript 2, ActionScript 3, JavaScript, C#, Java, Objective-C Server languages supported: Java, Javascript, Actionscript1 Server OS: Windows 32 Bit (Windows 7, Windows Vista, Windows 2000/XP, Windows 2003, Windows 64 Bit), Windows 64 Bit (Windows 7, Windows Vista, Windows 2000/XP, Windows 2003, Windows 64 Bit), Mac OS X 64 Bit (Snow Leopard, Leopard), Debian 64 Bit, Debian 32 Bit, Debian (no JVM), Linux RPM 64 Bit. Networking type: Socket Server Free CCU: 50 anonymous, 100 with registration (one license per account / licensee). License types: One license covers all developers, both Indie and Pro. (Now it says “Pro only,” but really ElectroServer provides the same license to everyone, with differentiation in features between indie and pro.) Indie requirements: 50/100 CCU license may be used for commercial indie projects provided that use is limited to one license per licensee/account. Must display logo with link to www.electrotank.com. Cost breakdown (Indie): One cost for both. 50 CCU trial =free, 100 CCU trial = free with registration, 1,000 CCU = $999, Unlimited CCU = $4,999. Cost breakdown (Pro): One cost for both. 50 CCU trial =free, 100 CCU trial = free with registration, 1,000 CCU = $999, Unlimited CCU = $4,999.
Notable features:
An IO layer that can process over 120,000 messages per second.
Lightweight binary protocol.
Supports TCP, UDP, HTTP, RTMP (for Flash audio/video). ElectroServer’s UDP has failover to TCP for reliable transmission / ability to bypass firewalls.
Interoperable extensions framework: Extensible framework of plugins, event handlers, and managed object factories for fast, custom development.
ESObject: A class unique to ElectroServer that can hold almost type of data in identical form on the server and all supported client languages. Simple, flexible means of handling rich data between server and client.
ES Admin tool provides an easy-to-use, remote-capable interface for managing the server, including remote debugging, dynamic graphing of user stats, kick/ban users, and other capabilities.
Native firewall busting.
Native encryption.
Rapid message aggregator: Built-in ability to aggregate non-time critical messages for transmission, boosting performance for projects with high message rates.
Game manager: Extensible, prebuilt code for managing key stages of game play (creation, solicit, join, finish).
Language filters.
Flooding filters.
More than 50 examples and text and video tutorials, including full game examples in Flash and Unity.
One license for all devs: All features provided to “indies” and “pros”, regardless of version used.
uLink has a trial version, but I’m not sure you can use it for commercial purposes.
uLink is licensed per game (per title, no limit to the amount of game servers).
I’m not sure what “Sample Solutions?” means, but if that’s about examples and tutorials - uLink has those in the package.
There’s also a bunch of additional software one can license and useful utilities one can get for free (uTsung, for example - a thing for stress testing) in addition to uLink license (see unitypark3d site for this)
Photon is licensed per game and per server (so if you have 2 servers for one game - you need 2 licenses).
I have some additional info for the spreadsheet, but I may not get it up until tomorrow.
Saymoo: Unlimited Trial being a Full Featured Trial (with all features on no ccu limit) vs a license with a CCU limit or Feature Reduction. For the most part it seems irrelevant, as most of the products offer the package fully featured but only license CCUs.
I’ll add those in as soon as I can. I have smart fox data as well, but I’ve not had quite enough time when I’m actually in the office to service this thread.