Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Networking Server Comparison Chart

Discussion in 'Multiplayer' started by Adam-Buckner, Jul 3, 2011.

  1. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Currently this is a work in progress.

    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:
    http://tinyurl.com/U3D-ServerComparisonChart

    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.
     
    Last edited: Aug 9, 2011
  2. saymoo

    saymoo

    Joined:
    May 19, 2009
    Posts:
    850
    Good start, Little Angel :)

    Some minor comments/requests:

    • For smartfox you need at least two columns (smartfox and Smartfox 2x).
    • Both have a free CCU of 100 btw.
    • Also smartfox series is Linux compatible (server side).
    • Also add features cells to each column. (since that is a factor aswell)


    What do you mean with: un'ltd free trail cell? (the free CCU is not a trail for example).
    Maybe clarify better what you mean?
     
    Last edited: Jul 3, 2011
  3. cerebrate

    cerebrate

    Joined:
    Jan 8, 2010
    Posts:
    261
  4. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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.
     
  5. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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?
     
  6. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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.
     
  7. Kaiserludi

    Kaiserludi

    Joined:
    Jan 21, 2009
    Posts:
    94
    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.
     
  8. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    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.
     
  9. jobemakar

    jobemakar

    Joined:
    Jun 13, 2009
    Posts:
    74
    Nice chart!

    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.
     
  10. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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.
     
  11. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    TobiasS:

    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.
     
  12. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    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.
     
  13. jobemakar

    jobemakar

    Joined:
    Jun 13, 2009
    Posts:
    74
    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.
     
  14. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722
    Photon's server language is C#,
    and uLink has the same server OS as Photon (windows).

    And I think uLink misses "Supports Cellular/Mobile" point, unless it means something really specific.
     
  15. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722
    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).
     
  16. saymoo

    saymoo

    Joined:
    May 19, 2009
    Posts:
    850
    Still, the trial part of the chart is very unclear on how one should read it.
    E.g. look at Photon:

    first it states in the pro and indie cost breakup:
    100 CCU - free

    then the unlimited trial cell...

    YES - 30 days.

    Very confusing i think, because there are two problems in one line.
    1) Unlimited cannot be limited by days ;)
    2) The free version is not limited in days or anything (except CCU), and is therefor not a trial.

    So, i suggest you split it up.

    e.g.
    Trail possible?
    YES - 30 days on non-free licenses

    and add a symbol after the 100CCU mentioning in the cost breakdown cells like: 100 CCU (~)

    (~) This license is full featured, and does not expire.

    i think it makes it more readable, and clearer to read.
     
  17. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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.
     
  18. Neste

    Neste

    Joined:
    Jul 13, 2011
    Posts:
    1
    Hi!

    Thank you for this chart.
    But what about these:

    RedDwarf (ex Darkstar) and RakNet
     
  19. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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.
     
  20. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Though, isn't RakNet what Unity's built in networking is based upon? This will need more research...
     
  21. appels

    appels

    Joined:
    Jun 25, 2010
    Posts:
    2,687
    yep
     
  22. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    NetDog indeed has no trial.
    But finally at least the 1000 CCU 300USD license which originally didn't exist (it used to cost 30'000 per title for a single node usage, undefined only upon request for multi node)

    uLink is indeed per project released, not per seat and unlike SFS - Electro - Photon also not per server machine.
    Important note on uLink is that I would highly recommend to add the facts on PikkoServer for future cloud - cluster scaling with very little effort, if a game requires it. (for example if you start with a multi server with p2p server server communication and realize that you need more)
     
  23. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Dreamora: Can you give me a little more to go on re: PikkoServer? I'm not in my office, and tracking this on my phone right now, so any help would be appreciated.
     
  24. hound0999

    hound0999

    Joined:
    Jun 30, 2009
    Posts:
    124
    Badumna's programming language is C#.
     
  25. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    PikkoServer is basically a cluster solution which works by the "mobile antenna" principle. You can read a great article on how it works on their page and the regular documentations contain informations on it.
     
  26. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    I have opened this document and allowed editing to the general public.

    I'm monitoring this document, so if this gets out of hand, I'll simply close it again.
     
  27. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
  28. Nick-Wiggill

    Nick-Wiggill

    Joined:
    Jan 31, 2010
    Posts:
    46
    This is great Little Angel, many thanks for sharing your work.

    I added a bunch of data in relation to Electroserver, Photon, and SFS. I also added a new column for Player.IO AKA Nonoba, who provide excellent paid options for virtual economies and monetisation, as well as social media integration.
     
    Last edited: Aug 8, 2011
  29. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Added some additional information re: uLink to the page:
    *It should be noted that uLink, in the absence of a free ccu license, have given me a license so I can more effectively evaluate their system.
     
  30. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Nick Wiggill:

    Is Player.IO/Nonoba a networking package? Can you, without any other software, use it to host a game?

    Or is it a networking add-on?
     
  31. Henrik

    Henrik

    Joined:
    Aug 9, 2011
    Posts:
    3
    Hey, sorry for not being completely up-to-date on Unity terminology, but what's the difference between a networking package and a networking add-on? :)

    Nonoba is our previous product, it is a Flash gaming portal and we never supported anything but Flash and AS3 there. Player.IO grew out of that, but it is a separate product where we are expanding the supported platforms as much as we can.

    Player.IO is also a hosted cloud service and not a piece of software you buy a license for, and then have to figure out how to host it and pay for bandwidth etc. This means that in addition to multiplayer gaming, we also have hosted services for data storage, user registration and authentication, and payment integrations.

    Features description is here: http://playerio.com/features/
    Unity3D API reference docs here: http://playerio.com/documentation/reference/unity3d/

    I filled out the Google docs spreadsheet a bit more, but if you guys have any more questions, just contact me. Hope this helps! :)
     
  32. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    I did have a look at Player.IO and it certainly deserves more attention.

    At first blush, this combined multiplayer hosting solution seems to be aimed solely at Flash Developers, but there is support for Unity, including a Unity API and Demo Project. I have downloaded the project. It loads fine with only a few warnings, probably due to the recent upgrade to 3.4. It includes an animated character and a single developed demo scene.

    On the other hand, in some cases, there is seems to be little or no documentation for Unity, and the landing page for "getting started" is Flash only, but this may be a case of "early days" between Player.IO and Unity. The Unity API is not large in volume, but volume doesn't speak to efficacy.

    Player.IO is a combined package of multiplayer networking and hosting - along with addons for stores, webpages and other bells and whistles including BigDB for scalable persistent games, PayVault for virtual currency, SiteBox for FaceBook or Web, GameFS file system and QuickConnect for secure connection and authentication to third party sites, including FaceBook, Kongregatge, etc. This solution may be the right fit for a certain type of game. At this early stage of research, I would posit that this is more for a commercial casual game rather than an indie developer (as there is a minimum price per month: $25 usd?) or MMO designer (API seem a bit thin). A plus is the company has been in this business since 2004, if you include their original platform "Nonoba" (http://www.nonoba.com), a social gaming community for flash games.
     
    Last edited: Aug 9, 2011
  33. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    If you edit or modify the Server Comparison Document, can you please note your changes on this thread.
     
  34. Nick-Wiggill

    Nick-Wiggill

    Joined:
    Jan 31, 2010
    Posts:
    46
    Yep, it is definitely a more full-bodied solution, however as you say one has to already be certain of some income to cover the monthly fee. Having said that, $25/mo. is doable for any indie, and you can scale up what you pay as it grows. No -- I don't work for them :) But I do like what they provide particularly the monetisation aspect.

    Having said that, I am not sure I will be using their solution this time around because TCP is probably not going to be fast enough for me, I need RUDP.

    @Henrik -- do you have any examples of action games using the Player.IO platform?
     
    Last edited: Aug 9, 2011
  35. Nick-Wiggill

    Nick-Wiggill

    Joined:
    Jan 31, 2010
    Posts:
    46
    CHANGE: Added lidgren as having reliable UDP.
    CHANGE: Removed unnecessary row for "Comms Architecture" (which I added yesterday) in favour of "Networking Type" (which was already present).
     
    Last edited: Aug 9, 2011
  36. Henrik

    Henrik

    Joined:
    Aug 9, 2011
    Posts:
    3
  37. Henrik

    Henrik

    Joined:
    Aug 9, 2011
    Posts:
    3
    Well, you should be able to do development and limited beta-testing on our Free plan, so it should be possible to figure out if our platform is the right match for you without having to pay anything.
     
  38. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    At this time, it seems that the development server (run locally) is a windows only build, tho' a mono build will be coming soon.
     
  39. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    I've updated Photon a bit (links to forum, website).
     
  40. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    From a post on the "what are you working on" thread, I've raised my opinion about Lidgren:
    http://forum.unity3d.com/threads/70252-What-Are-You-Working-On/page144

     
  41. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    This is a very big subject and I keep chipping away at it. To get a good idea of what each package can do, I need to work with them. Currently I'm working with Unity's Built-in networking and looking at the feasibility of "headless" servers, and I have the copy of uLink from Unity Park/PikkoTek which I'm also experimenting with. I want to try some basic setups with Photon and ElectroServer, but I've yet to find the time. AND NOW I want to look at Lidgren! /sigh. SmartFox still baffles me a bit. Can't figure out where to start, and the other solutions seem to have more obvious starting points.

    One of the factors that interests me very much about uLink is the authoritative server with Unity Physics, and I want to see the integration with the upcoming plugins. I would say that the apparent barrier to getting started as in indie with uLink is the largest drawback. A 30 day trial is really only a taste, especially for the indie that may only get time on the weekends to experiment which would be gone in four sessions.
     
  42. kayoone

    kayoone

    Joined:
    May 16, 2009
    Posts:
    67
    Hi there,

    we are working with uLink on a fairly big project, its a vehicle based combat game, you can find the old version which is based on Unity networking here: http://beta.reignofsteel.net

    We are working on a fully rebuilt version based on unity 3 and uLink which is already offering alot better results in our testing, which is at least in part related to uLink. We have had test games with 15 players already which were super smooth, we hope to be able to get up to 30 players per match.

    We were lucky to grab one of uLinks indie licenses for 500 EUR. Why we choose uLink:
    - We need server side physics, so server and client being the same unity application is a huge plus for us
    - of course you can write the physics stuff yourself, but thats quite a task
    - pikko server is a great addition if you need it sometime, but also very expensive (think of it as multiple unity instances each acting as a server for a specific region of your world and you can see updates from surrounding "cells" inside of the cell you are currently in. Would enable huge battlefields in our case)

    We are using an authorative server approach with multiple unity servers running in batchmode (one per core).
    On the Unity side we have implemeted a layer of abstraction between uLink and our Objects which would enable us to switch to Unity networking (or any other networking tech) with little effort.

    If you have any further questions, just ask ;)
     
    Last edited: Aug 12, 2011
  43. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Kayoone: That's great to hear! I'm looking forward to your project reaching availability. As a mac user, having a multiplayer tank warfare game is one of the empty slots high on my list to fill.
     
  44. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    There has been some "fussing" on the comparison doc, with columns being hidden and other shenanigans.

    Please leave this document alone if you are not editing in a helpful manner. Each solution is a little different and each have their advantages. I'm slowly growing my own favorites, but this will not be true for everyone.

    If public editing proves to fractious, I will simply close it again.
     
  45. Fratyr

    Fratyr

    Joined:
    Sep 5, 2011
    Posts:
    20
    3 Pages of discussions and high-level document, but no bottom line conclusions?

    I'll start with my IMO:
    It appears that ElectroServer and SmartFox X2 are the best to pick up, if you want to run your application under UNIX.

    Though Photon sounds very promosing, It supports only Windows platform which is a huge thread for holy war, but MS sucks on hosting a persistently running application;
    As well which is more, but not less important - Exit Games (Photon Devs) failed on porting their server to Linux and OSX, which of course shows their inability to do some other, more complex stuff when It will be needed. :(
     
  46. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Fratyr: There are many good reasons to go with a 3rd party server, but there are some good reasons to go with Unity's networking. Leepo has made some tools and tutorials for the Unity networking suite, but the technology is from UT. Some additional info: ExitGames have some sort of Linux/OSX plans for Q4 this year, iirc. ElectroServer is a good solution and so is uLink. Look in my .sig for a comparison chart and discussion thread on multiplayer networking solutions. TBH, SmartFox still confuses me. I don't get why a Unity user would choose SFS over the other options, but I may not be seeing what I need. If you could comment, please leave a note on the thread in my .sig and/or update the data on the google doc.
     
  47. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    I believe Photon will be running on linux within a few months. As I understand from ExitGames they stick so long with Windows because the performance of .NET on Windows is much better then on linux (of course, the .NET port is to blame here).
    However, quite soon, ExitGames will launch an interesting new service that will make the discussion about server OS useless.
     
  48. david.almroth

    david.almroth

    Joined:
    Aug 19, 2010
    Posts:
    18
    Updated uLink web sites and Indie license in the camparison chart.
     
  49. evillemez

    evillemez

    Joined:
    Sep 21, 2011
    Posts:
    24
    Just a brief note to thank you for doing this... it's helpful to see the options out there.
     
  50. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Personally, I'd rather have ExitGames focus on Photon on Windows than spending time on maintaining different platforms. Linux would be nice (and probably is a "must" for quite a few) but a Mac OS X port sounds completely useless to me. For development, I can use VMWare Fusion and for actual hosting, Mac OS X machines are usually the most expensive and difficult (with Windows and Linux usually costing about the same, Windows maybe being a little harder to find ... so personally, I'm fine with hosting on Windows).