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
    Speaking of which - ExitGames:

    Do you have an idea what the cost of the cloud will be when it leaves Beta?

    Also, on the server comparison chart under Photon, there is this line:

    Can I safely change this?
     
  2. Intrawebs

    Intrawebs

    Joined:
    Mar 24, 2011
    Posts:
    45
    I like player.io because they will host the "Master Server". Yes, I have read through the Unity networking stuff. I don't want to be in the business of running my own server for match making. I would like a server that can run and do match making for cross platform games...iOS, Android and in the future Flash on FB.

    What I also like about player.io is their BigDB. I can store "ranking" data there, pass and play data and the like. That data is then available on all platforms and communicates at a very fast speed with the master server. Later for other games I can also leverage their CDN.

    If I was only doing iOS I would grab Prime31's extra GameCenter plugins and it could almost do all of this (at least the latest version of it could).

    I will use OpenFeint and GameCenter for leaderboards and achievements. Ideally, I would also deploy this game in Flash on FB (yay Unity). When that happens I can leverage player.io's IAP and leaderboards for my FB players.

    So, in summary.....immediate need is a well supported and scaleable master server for cross platform unity games, the future need is a feature rich 3rd party "social master server" if you will that can be leveraged for more than just match making.

    Now, if there is someone better than player.io great, I will look at Photon again but it didn't seem as feature rich.

    Regarding a "social master server", one last thing to keep in mind, having a "single" leaderboard and achievement server/storage would be ideal vs. one for OpenFeint players and one for GameCenter players, but doing that means loosing out on various "friends" networks and promotional opportunities one gets with OpenFeint and GameCenter.
     
  3. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    That makes sense. I would like to hear what your experience is with Player.IO when you try them out. Let us know how it goes.
     
  4. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,116
    https://www.scoreoid.com/ you can take a look at it and review it too.

    also i took a look at player.io and realized problems in it that can prevent large games. for example the database uses string serialization fo all of it's data as i saw there and it can become problematic in some database heavy games or at least can make the server prices higher.
    binary serialization is an important factor when choosing a middleware which no one shouldn't think that it's not important.
    player.io seems more suited for flash games with less realtime features or at least simple action script based servers cause it doesn't support many features of a 3d game engine on the server, at the end it doesn't have 3d physics and collision detection and the content pipeline is not something that you can count on. content pipeline is a really important factor for evolving games.
     
  5. Almog

    Almog

    Joined:
    Nov 20, 2011
    Posts:
    22
    If you would like any info on Scoreoid I would be glad to help.

    Scoroeid is not like nor trying to be similar to SmartFox sever or some of the other options you reviewed. Scoreoid is total different and offers unique benefits saying that you need to find the best solution for your game.

    Scoreoid is all about making it easier for the game developer, there is no sever to set up and maintain. We have a simple Open Web API which is truly cross platform unlike other solutions this is also important if you end porting your game to other platforms or emerging markets.

    Everything is already done for your, but I can go on I suggest you check out the site if you have any questions let us know.
     
  6. Almog

    Almog

    Joined:
    Nov 20, 2011
    Posts:
    22
    Added subscription :)
     
  7. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Update a bunch of info about SlimNet to make it more clear.
     
  8. Christian_Lonnholm

    Christian_Lonnholm

    Joined:
    Mar 9, 2011
    Posts:
    128
    - It is now possible to get uLink + Unity Servers running on Linux. Just e-mail sales@unity3d.com and Unity will solve it for you.

    - Made sure (again) that you have the correct information about that uLink support any and all network architectures, with authoritative and non-authoritative. And that with PikkoServer, this also allow for seamless MMOs.
     
  9. jake-gr

    jake-gr

    Joined:
    Oct 27, 2011
    Posts:
    93
    @Christian_Lonnholm: thats cool information, but...
    is that something Unity Tech is charging for?
    does it require pro?
    and are you aware if it will be available later (without contacting them)?
     
  10. Christian_Lonnholm

    Christian_Lonnholm

    Joined:
    Mar 9, 2011
    Posts:
    128
    I don't know how UT are going about the details of this, I have only had a quick chat with Steffen Toksvig who simply told that sales would sort it out. But I would be surprised if they charged extra for it, though, again - I do not have the information. :)
     
  11. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    It looks like someone changed the sharing options on the doc to private... not sure why. If anyone cannot access the comparison document, please post here and/or send me a PM. If there are malicious attacks on the document, I'll simply lock it again, which would be unfortunate.
     
  12. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,116
    the thing about scoreoid is that it's just a score/leaderboard management solution. it's free and hosted but it's just that.
    there is another engine for that type of stuff called player.io which seems to have more flexibility. also in that range there is roarengine which is more flexible than scoreoid but compared to player.io i can not comment cause i did not took a close look at roar recently. their Davin Evans is a nice guy which might be more than happy to comment. I'll let him know of this thread.

    if someone really wants a multiplayer game in unity with easy server development UnityParkSuite is the solution but for some stuff the other solutions might work as well.

    for MMOs and huge multiplayer games those other systems are not good choices cause they don't offer the complete power of unity at server side and hosted solutions might not work for everyone for multiple reasons.

    with linux support now it's more cost effective to have unity servers too. it's the way that many big MMOs do stuff. as an example APB was using unreal engine game servers cause it's not effective to do client/server development in two languages. it's not possible or at least productive even with big teams. take a look at MMO middlewares like hero engine and then you can understand that the only solution comparable to them is unity park suite when it comes to unity. but again if you only need score/long/leaderboards, then screoid might be the solution. if you are a regular social game then roar might be the best and so on.
     
  13. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Someone messed with the document again, can't edit anything in it (all cells are protected), can you unlock or do we have to move it to a new doc?
     
  14. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Try that... re-did the permissions again. Keep me posted. If this doesn't work, I'll come up with another solution.
     
  15. JRavey

    JRavey

    Joined:
    May 12, 2009
    Posts:
    2,377
    Perhaps a Wiki entry?
     
  16. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Added my SlimIOCP library to the document, although it's a part of SlimNet, it is fully open source and targeted at games that use a TCP connection instead of UDP.
     
  17. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    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 (fholm, christian, tobias, etc.) 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.
     
  18. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,116
    Muchdifferent just released all of their products and they are available for trying on their download page too. everyone interested can take a look. They are also launching the world record atempt game too.
    now all of their products including uLink, uStream (bandwidth management), uGameDB (awesome database and serialization), uZone (instance manager and load balancer), uCollab (awesome editor synchronizer), uTsung (testing tool) and uLobby (lobby server) are available to download and test and all manuals can be found at http://developer.unitypark3d.com
     
  19. Robota

    Robota

    Joined:
    Feb 7, 2012
    Posts:
    82
    Hi, for uLink the doc say:
    It means that it is not scalable, right ? In this case the scalability have to be designed inside the server logic ?
     
  20. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    With a bit of legwork, you can create a room scheme like ashkan did, also the guys at uLink have mentioned they'll be adding more robust multi-session/single-server functionality in the near future... but you can also use uLobby (or your own scheme) to let players spawn headless unity instances on-demand on your server, to create new games. Or you could allow players to host their own games and use the proxy server.
     
  21. kayoone

    kayoone

    Joined:
    May 16, 2009
    Posts:
    67
    together with uLobby and Pikko Server you have nearly endless scalability options with uLink.
     
  22. Robota

    Robota

    Joined:
    Feb 7, 2012
    Posts:
    82
    Thank you for the answers.

    Now I wonder, because with uLink the server is a Unity application, when designing a game with single and multiplayer, we have interest to design our single player as un multiplayer with one player, exact ? I mean from a code point of view.
     
    Last edited: Feb 8, 2012
  23. asafsitner

    asafsitner

    Joined:
    Mar 3, 2012
    Posts:
    72
  24. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    asafsitner: If you can provide any good information or changes to the chart, let me know. Currently I know the least about SFS.
     
  25. Ensane

    Ensane

    Joined:
    Jul 13, 2010
    Posts:
    221
    I have been using Badumna for a little over a year, and recently have been re-designing a MMO framework from the ground up... I would like to add some insight on Badumna as not many people know much about it, and are more or less "hesitant" or "scared" to use a peer 2 peer hybrid solution for cheating/hacking reasons...

    Many issues people found in the passed when designing peer 2 peer based MMO engines is lag... Having to update every person you come a crossed with your state information can be cumbersome. Well Badumna right out the gate intelligently overcomes this hurdle by building rings of players and cacheing the path from player to player, so you are theoretically only sending 1 update out and receiving one update in, rather then updating each player within proximity...

    refer to this video for a more detailed example:
    http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cts=1331398022297&ved=0CEUQtwIwBA&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Di89hy1LI24g&ei=WIVbT5zzC5DFmQWb8oScDw&usg=AFQjCNHlyAPynm_y_ZLEgSuGsU-LekPgJw&sig2=vn8LY7P7eTpVEdCI5obMJg

    Now, lets get to the cheating... First of all Badumna isnt just peer 2 peer, it also allows for an authoritative server in the mix. The way I handle this is I store all persistence, damage calculations, and any formula requiring the access of a database as a result on a server. So for example, Character Data is stored server side, i then replicate this data to a local client, who then replicates needed data to all the players around him in proximity (hitpoints, mana, stamina, name, etc) Think of all the little calls you already save from the server by doing this, everytime somenes hitpoints change, the server doesnt have to send out the information to each player within radius or zone...

    The other interesting things is, If a person were to say edit there clients hit points, since all dmg formulas, character data is still stored on the server, all they are doing is lieing to other players and still are not effecting there actual hit points. Now the next interesting trick is, any npc or even players another player comes in contact with can periodically send other peoples current states back to the authorative server and this server can cross check with the character data its sending out, if a player has tampered with there data the server can then flag them.

    So now lets look at the pro's to all of this, Virtually Unlimited world size player population, You are only limited by how many players in a confined proximity of one another, or how many characters the server can store server side... Advanced cheat detection using all server hosted player hosted entities. And last but, not least, Very low requirement for server's.

    There is more then just what I have noted above, and i'd love to get into more things on how to handle combat/physics with no server side emulation. Or the ability to have clients even host server side entities (npc, world items, etc) if anyone wants to ask those questions... The moral of the story is there is something great here that I don't think gets noted enough, so i would like to update the comparison chart a bit for Badumna!

    UDP support: Yes, entity replication uses unreliable UDP, as well as the ability to send Reliable UDP calls to other entities.
    TCP support: Yes, events sent to authorative server use TCP calls
    NAT Punchtrough: Of course, as well as HTTP tunneling
    Client Languages: Unity C#, C++, XNA
    Server Languages: C#
    Server OS: Windows, Mono Support (Linux, OSX)
    Networking Type: Authorative peer 2 peer
    Supports Cellular/Mobile: Anything Unity will compile to Badumna supports however web has issues since the new security fixes with UDP

    Extra Notes: There is amazing potential hidden here that not many people realize.
     
    Last edited: Mar 10, 2012
  26. jake-gr

    jake-gr

    Joined:
    Oct 27, 2011
    Posts:
    93
    @Ensane: That is very interesting, Ive gone with SmartFox as I was a little unsure about the capabilities of Badumna. I think another aspect, is the monthly cost with PRO, though most people here would fall under the Indie requirements. At the bronze level it is 1000/mo for 1000ccu.

    With some additional curiousity, can you use MonoDev to compile the server C# code?
     
  27. Ensane

    Ensane

    Joined:
    Jul 13, 2010
    Posts:
    221
    Honestly I have no idea, the server examples that ship with it are very basic, as near as I can tell as long as you can hook into the badumna.dll and the peerHarness.dll you should be able too... I can actually write a server using the Unity Engine and compile, it may have to be .net framework compiliant to support the dll's


    as for monthly cost it is very steep for non indies, but, the guys at scalify are very reasonable, and If your project is making the money to not qualify for indie, the amount of money you save overall will suffice the payments.
     
    Last edited: Mar 10, 2012
  28. dscroggi

    dscroggi

    Joined:
    Mar 11, 2012
    Posts:
    10
    This is all a bit over my head, but just to put in my two cents. I've been using the built in Unity networking and I love it. Planning max connection size of 10 or less and It's running smoothly so far. I was a beginner and the M2H networking tutorial really helped to get a handle on things for anyone else out there who is a beginner.
     
  29. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    Hm. It seems that some info that would be interesting for developers is missing: What types of games are supported out of the box?
    E.g. it seems to be unclear if the solutions support "room based" games as well as "open world" style. Maybe this could be added to the comparison?
     
  30. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    Last edited: Mar 14, 2012
  31. Walloey

    Walloey

    Joined:
    Mar 22, 2012
    Posts:
    1
    Hello,

    First, thanks for this topic.
    I'm going to do a Virtual World with Unity and I found a topic which speak about raknet...
    So my question is : Is that enough for my project to use Raknet? Because I don't see it in the table.

    Thanks for your future response
     
  32. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,663
    Many thanks!
    Making this list was a good move from you, Little Angel.
     
  33. Vengent

    Vengent

    Joined:
    Jan 15, 2012
    Posts:
    23
    I finally got an answer from sales today on this and was told no, it is not supported at this time. Must be some crossed wires somewhere.
     
  34. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Vengent, yes, I believe this is a crossed wire.
     
  35. lazalong

    lazalong

    Joined:
    Oct 13, 2009
    Posts:
    139
    Could someone tell me confidentially the price range of the pikko server license?
    PS: I contacted unitypark and I hoping to get a response.

    Thanks
     
    Last edited: Jun 22, 2012
  36. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Now with the announcement of 4.0 and the fact that 4.0 will have Linux support... the answer may now be yes.
     
  37. bjorn.dahlman

    bjorn.dahlman

    Joined:
    Mar 18, 2011
    Posts:
    3
    Hi,

    Could you detail your criteria for your load balancing?

    PikkoServer is made for partitioning single zones with heavy server load into several game servers, still providing one coherent zone for the clients.

    If you want to do instancing of zones or something similar, PikkoServer isn't needed. In that case we would recommend you to use uLobby and uZone to load balance your servers. We have an example project coming up soon for the entire suite which contains some simple load balancing, where each zone has a set criteria that when exceeded, a new instance of that zone is started.
     
  38. lazalong

    lazalong

    Joined:
    Oct 13, 2009
    Posts:
    139
    Yes and I am sorry about my post
    I experimented more with uLink and understand it better now.
    I will edited my last post to avoid people having the wrong impression of uLink.

    Btw I will follow the development especially about uLobby being able to use any SQL DB (MySql / MariaDB please).
    My current code is currently using a SQL DB and I don't have the time to learn using a no-sql one. :(
     
    Last edited: Jun 22, 2012
  39. thinkfuture

    thinkfuture

    Joined:
    Jul 23, 2012
    Posts:
    3
    This is a great thread - and thank you all for the information - this is perfect - however I do have one question. I'm not building a full blown MMORPG, but more of a Streetfighter style game where you can select another player or players (up to 6) to fight in the same room. Room's will have no more than 6 players, (2 initially) but we could have thousands of matches going at the same time. Also, it's likely that we don't want the hassle of hosting - so we are leaning towards Photon or Player.IO - a bit more towards Player.IO since its seems easier to use but have no idea if its the best for working with Unity.

    So, based on what I mentioned, am I going down the wrong path? Would it be easier/better to use one of these other platforms in order to set up games for max 6 player rooms? If we needed to host I'm sure I could get my clients to agree...

    Thanks in advance! Chris
     
  40. Intrawebs

    Intrawebs

    Joined:
    Mar 24, 2011
    Posts:
    45
    Your bandwidth with player.IO and that type of game will be huge! For board/casual games though it would be a great fit and having done 2 big prototypes myself it was a joy to use and I would use it in production. You will want something that has a networking layer that is not http (player.IO) for your game, but, that will mean wifi for the most part being required as many cell networks don't do the necessary port forwarding (AT&T for example). 4G would be fast enough for that kind of game (< 100ms), I read something on most networks in the EU doing port forwarding on 4G or better networks.
     
  41. thinkfuture

    thinkfuture

    Joined:
    Jul 23, 2012
    Posts:
    3
    Ah OK - I thought that Player.IO supported UDP - so it sounds like we'd be better to go with Electroserver or Photon. While Unity features Electroserver on their site I don't see too many people using it in the forums...
     
  42. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    I haven't read the entire thread, but thanks Angel for putting together the comparison chart. Extensibility / customizability is a big factor which should maybe have a section in there.

    re: Photon

    - Photon server is Windows-only. You should remove the Linux ** in the Server-OS row. In fact, this is the only negative I have to say about Photon, is me having to run a Windows server :)

    - Photon is incredibly powerful and I'm loving the APIs. However in Photon Cloud, you have to use the "Lite" application on their servers, and it's inherently room based and not customizable on the server side. I am writing a turn-based multiplayer game (dominos) which is more asynchronous social then room based. (have lots of games going on , and switch between them regardless of whoever else is online). So I ended up going with Photon Server. why I mention Extensibility / customizability .
     
  43. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    Hmm... can you elaborate on that, and provide references about AT&T or other mobile data networks that limit what protocol and/or ports can be used? It's something I would be concerned about, targeting my game to mobile users on iOS and Android. I'm going with Photon Server, and UDP/reliable, but falling back to TCP if the UDP doesn't connect. HTTP is not an option (not the least of which because the Photon Http/websockets client is javascript only and is kinda simplistic compared to all their other APIs like C# ).
     
  44. Intrawebs

    Intrawebs

    Joined:
    Mar 24, 2011
    Posts:
    45
    AT&T doesnt do the necessary NAT, cant remember where I saw it, but test it out, UDP etc wont work unless you are wireless. TCP or UDP will work for you fine.
     
  45. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    I can shed some light on "connections on mobile carriers":

    When you want to host a game on anyone's mobile phone, it's unlikely that others can connect successfully to you (as host). Some carriers don't forward incoming traffic (connects) from other networks or at all. You are basically behind their firewall and routers.
    Aside from that, hosting a game on a mobile is also a bad idea when it has a hard time keeping up with frames per second and network stability. When there's an incoming call or the host loses connection, all players of that game are affected.

    Usually, the mobile networks don't limit the phone's outgoing traffic in any way. A mobile client can connect to any internet server and get answers just fine. This is why having a dedicated server works, no matter if you use UDP, TCP or HTTP. It also offers players to go on, even if one drops out of the game (of course, that's not always possible but in some cases).
     
  46. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    Tobias, OK thanks for confirming! I think it will work fine too. All I have to test on is my t-mobile prepaid phone, so it's good to hear the big picture. :)
     
  47. ThePhotons

    ThePhotons

    Joined:
    Aug 30, 2012
    Posts:
    8
    @Little Angel - I have some updates:

    1) Photon Server: new Indie pricing
    - per server: $99
    - 3 servers: $249
    >> see http://exitgames.com/Pricing?i=1

    2) Photon Cloud has a "forever free" plan
    - 20 CCU for free
    - unlimited apps

    Chris
     
  48. gharaibeh

    gharaibeh

    Joined:
    Apr 26, 2011
    Posts:
    115
    the thing is passing me off my status in cloud "Rejected 24h" !!!!
    what does that mean
    !
     
  49. bertelmonster2k

    bertelmonster2k

    Joined:
    Apr 3, 2009
    Posts:
    78
    Can you please be more detailed what you are talking about?

    Are you talking about the Dashoard Counter labeled "Rejected in 24h"?
    https://cloud.exitgames.com/Dashboard

    The FREE 20CCU license is capped - so if users are rejected you get an email + see it in the counter.
    From 500CCU on you have a "burst" and users are not capped.

    Chris
     
  50. gharaibeh

    gharaibeh

    Joined:
    Apr 26, 2011
    Posts:
    115
    bertelmonster2k ; thank you but i need free photon cloud to test our game which is under development !!
    tell me what should i do , because i got "Rejected in 24h" as dashboard label !!!

    :confused: :confused: :confused: