10 Middleware Tools for Creating MMO Games

Posted by Dr. Burton on June 18, 2012 in Corona, Game Development, Mobile, Technology, Unity3D |

Update: I have added several new middleware/back-end frameworks to the end of this article.

If you haven’t figured it out yet, I usually have a lot of projects going on concurrently.  Several of my current projects involves creating an MMO (massive multi-player online) or needs a cloud-based environment for educational purposes (part of my on-going research).

I use several programs for development: Corona SDK, Unity 3D, and I play with JMonkey (considering JMonkey for a few future projects).  So I am looking for a framework or tool set that is flexible enough to be used with any of these systems.

As to hosting, I have access to a LAMP (Linux Apache MySQL Php) server. As long as the the software is all LAMP compatible (and most are), I won’t have any problems in this area.  I should note that I primarily use AWS micro instances for my testing.

That leaves me with the middleware.  The middleware resides on the remote server and handles all of the network communications: player movements/actions, chatting, changes to the environment, etc.  Here are a few middleware tools/services that I am currently reviewing (in no particular order):

Currently on v.4, RakNet is a pretty cool middleware suite offering all kinds of tools and is suppose to be very easy to integrate into Unity3D as well as other engines. It is cross-platform and looks like a nice tool.
Cost: free for hobbyist (<$100,000 in sales) then various pricing plans

Quazal has Net-Z which appears to do all that I need, but the site doesn’t include any pricing information.  An evaluation version of the Net-Z is available by request.

Hero Engine
Hero Engine offers HeroCloud, a very full featured set of services including physics, path-finding, and handles life updates.  Includes hosting.
Cost:$99/year + 30% of royalties

I have followed MultiVerse development for many years and was saddened when Oracle acquired Sun ending the developmentof MultiVerse.  We all knew there would be some casualties and it looked like MultiVerse would be one of those casualties.  Fortunately a group has continued to develop MultiVerse (the advantage of Sun having made it an open source project) and it continues to be a viable option.
Update Nov. 16, 2013: Multiverse has suffered a Malware attack and is now unavailable.  Here’s hoping it comes back!
Update Mar. 22, 2014: Multiverse is back! Yea!
Cost: Donation

BigWorld Technology
Nice full featured middleware that includes load balancing tools.
Cost: $299/yr + 10% Royalties

Smartfox server
Smartfox server has been around for over 10 years and has gained a great following in the Unity/MMO development world.  They have several server solutions so you can pick the right one for your environment.  The free Basic version allows for up to 100 concurrent users, but does not include the Client API for Unity, iOS, and Android.  They do offer a 20 CCU license of the pro version for free that includes these client APIs, which would be great for getting started and performing basic testing.  To move up to higher CCU progressive in the pricing.
Cost: Free for 20 CCU, 500 Euros for 100 CCU.
Photon server
I looked at Photon server years ago. They have come a long way!  Lobby, leaderboards, achievements.. very nice!  Plus, it is free for up to 100 CCU for Unity, Corona, iOS or Android.  A real contender here!  Plus, they now have a cloud offering.
Cost: Free for 100 CCU, $99 unlimited (indie license/per title/server)

The Scalify server has some nice features including a Unity package.  I didn’t see anything about APIs for iOS and Android on the site (which I am now interested in after SmartFox and Photon).
Cost: Free trial, $200 for 500 CCU (indie license/per title)

MuchDifferent – UnityPark Suite
Designed specifically for the Unity engine, UnityPark Suite is designed to be scalable and make it easy to setup up your MMO Unity game.
Cost: Free trial, €550/title

In 2014 I became aware of an independent effort by Chris @develephant. This is a donation-funded back-end designed to run on Amazon Web Services and Digital Oceans cloud networks (though it will work on any LAMP configuration).  Chris has developed middleware for business apps (http://coronium.io ) and for games.  While specifically designed to leverage Corona Labs Corona SDK (http://coronalabs.com), it can be used with any game engine.  I have now built several apps (personal and commercial) using coronium.io & coronium.gs.  We have even included it in our curriculum at my University when teaching mobile apps/game dev!   MySQL and MongoDB are built in.  Coding is very flexible and Chris has produced several hours of great tutorials for using the system.  Thank you Chris!!


Which middleware am I using?

I have just begun this examination of middleware tools, but at this time I am leaning toward MultiVerseMMO.  As this is a low-budget, research oriented project that I will also be using with my game development students at university, it seems the best fit.  If MultiVerseMMO doesn’t seem viable fairly quickly I will most likely move to Photon server or RakNet.  While I am concerned about the starting with a server that sets a limit at 100CCU (which would be a very small MMO!) it is enough to do testing and to see if my virtual world viable.


What did I miss?
I am SURE that I missed some great middleware tools.  Please let me know if I missed them!


(1/8/16): Coronium.io has completely replaced all of the other middleware for my apps.  While it might not be responsive enough to handle FPS, it is incredibly fast and has handled everything that I have thrown at it on a micro instance using AWS.

(3/5/15): While I continue to play with Photon Server with Unity & JMonkey game engines, I have recently spent a lot of time developing mobile apps that required a strong cloud back-end.  Which is how I started using Coronium.  Coronium will feature prominently in my current and near-future projects.

(8/14/13): I am definitely going with Photon Server for my development.  With the recent announcement of a Corona SDK plugin, it means I can use the same middleware for all of my game/app development.

(3/9/12): Now looking into using Photon Server by Exit Games. They have a very attractive offer for the indie developer.

(2/7/12):Spent enough time with multiverse, now moving on to others!  Also added MuchDifferent to the list of tools.


Tags: , , , , , , , , , , , , , , ,


  • Wim Wouters says:

    Indeed, you missed a few very common multi-user systems:

    – smartfox server: http://www.smartfoxserver.com/
    – photon server: http://www.exitgames.com/
    – badumna: http://www.scalify.com/

    all very compatible with Unity3d


  • Wim Wouters says:

    Also, I believe MultiVerseMMO is not compatible with Unity3D. MultiVerseMMO has it’s own client-module en 3D render engine.

  • Dr. Burton says:

    Thank Wim, I will review and add all three of these.
    As to MultiVerseMMO, I had read that you could use it by dropping the client and using the server/middleware. I’ll spend a little time seeing if it works. I’ll report back what I learn.

  • Zied says:

    je me suis aussi lancé sur un mmo. il sembleré que <> soit un excellent choix.
    En effet, il est facile(du moins plus facile que raknet et photon), 100% compatible avec est seulement unity , periode d’essai illimité, prix responsable pour les petits entreprise. plus tard vous pouvez utilisez une BD distribué (une BD sur un serveur a part )… En gros, faite un tour sur muchdiffrent.com vous serez satisfé.
    🙂 bon courage!!!

  • Zied says:

    hi Burton
    sorry i thought the discution was in french. so, i think you should check one last middleware tools. ulink at muchdiffrent.com. i started using photon, and i have used raknet in a small project a year ago. ulink is easier, cheaper, specifc to unity… there is a comparative artical in the web done by a swedesh team, after i readed it, i switched from photon to ulink. i am in my 7th week of the project and i am feeling pretty confident.
    hope i helped you 😀

  • Dr. Burton says:

    Thank you Zied, I have added MuchDifferent to the list.

  • Bob says:

    SmartFox does offer all the API’s with the community edition which offers 100 concurrent users for free. See http://www.smartfoxserver.com/download/sfs2x#p=installer

    They must of changed this between when you looked at it and now Jan 22nd 2013.

  • dhruv chopra says:

    Would also recommend checking out AppWarp. Its great for games that don’t require special authoritative server side logic. It supports lobbies/rooms/ etc.

  • Lukasz says:

    This Appwarp looks nice, they have a server and cloud api solution, I checked and cloud api is using REST so you can easily use it in corona for example (not sure about unity). Also I am not sure if appwarp server is also using REST or it is only native libraries. If only native then corona supports it but only in eterprise version 🙁 any of you can help and check this?

  • John says:

    AppWarp doesn’t use REST but TCP for real-time communication. It also has Unity3D support. Take a look at their blog post http://blogs.shephertz.com/2013/04/30/make-real-time-multiplayer-games-using-unity3d/

  • Vadims says:

    I’m Wondering what was Dr. Burton final choice? As im going now trough the same steps, however my list much shorter.
    I am considering only 3 middleware servers:
    I tried already first 2 in the list above and could say like that:
    1) Photon – is very powerful however is not an easy one to fallow, documentation is not very good, tutorials cover only basic level with use of their inbuilt technologies like lobbies and rooms, however im not that much interested in pre-setup stuff, im willing to do more advanced stuff, create custom server without inheriting from Lite or LiteLobby etc… I want custom from scratch with advance tutorials 🙂
    2) SmartFox – is much better, don’t know why but development went so smoothly and really fast. within a week (developing only few hours per evening) I already have Proxy Server with Nodes to implement LoadBalancer pattern. My Nodes and proxy already able to establish connection with each other and Proxy monitors nodes health. Next Pahse is to implement routing of players packages and login verefication through DB. I paused dev on SFS for a moment as find out about uLink. Because it is cheaper and specifically developed for unity im also willing to give it a chance.
    I might update you later with what i think about uLink but so far SFS winning.

  • Dr. Burton says:

    Thank you for your input. I have been finding much the same thing (though I haven’t had much time to push forward on my Unity projects until lately). Please let us know about your experiences with uLink!

  • James Cain says:

    Please update your Info on Multiverse MMO Platform. I am the operations manager for what has become the Multiverse Foundation. Atfer suffering a malware attack and currently experiancing great difficulty in recovering from this. The site is not availible and it is looking like the project may die as we have not been able to recover in a meaningful way. We may be down for awhile so please be aware of this.

  • Dr. Burton says:

    Sorry to hear of this James. I have updated the site. Hope you are able to recover!

  • Chad says:

    Photon only has subscriptions for their middleware, so you pay monthly instead of one time.

  • Ashkan says:

    Disclaimer: Our team and i are close friends with MuchDifferent and we work with them on multiple stuff.
    I wanted to clarify the difference between unityPark suite (or as you call it MuchDifferent) compared to others.
    UnityPark suite has many modules for lobby, database, server instance management as well as network communications. It allows you to code the game server inside unity itself and use all of the engine’s features. For games which require authoritative servers or unity features for server logic it’s great!
    It’s much better than built in networking cause it offers unreliable RPC, selective secure RPCs, custom serialization of any class.

    MD also has a great revolutionary load balancer tech called pikko server which is not available to the public yet.

    Best of all, UnityPark suite is in continual development and used by big studios like Behaviour and Jagex.

    It’s not the most popular option because their marketting wasn’t aggresive and not because of lack of features.

  • Hi Dr. Burton,
    I’m the Multiverse Foundation’s communications manager, and I can now confirm that we’ve fully recovered (and then some) from the aforementioned malware issue.
    The website is back up and running, and we’re making great strides in updating the server code to current standards. So, if you could update our entry to that effect, I would be very grateful!

  • Dr. Burton says:

    That is great news Tristan! I look forward to seeing the continued development of Multiverse!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copyright © 2010-2022 Burtons Media Group All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.5, from BuyNowShop.com.