Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Wich Network solutions/dedicated server for a MMORPG ?

Discussion in 'Multiplayer' started by Flyskyz, May 1, 2015.

  1. Flyskyz

    Flyskyz

    Joined:
    May 1, 2015
    Posts:
    4
    Hi, to make it simple my mains questions is:


    I want to make a MMORPG, for at least 100 players let's say, which network solution is good for this project?



    Dedicated Server? Solutions?


    I only made solo game on Unity so far, networking is new for me, when looking at it, and I’m worried about some points that are maybe basics stuff for you. I did my homework, and searched for this kind of solution, Photon—which I don't know that much about it— Bolt —which looks awesome!— and SmartFox —Easy to use. SmartFox is easy to use, I did some test last night, and yeah that's it. Doesn't look like it's what I need. I can't talk about Photon or either Bolt since they are not free to use, and I didn't try them. Paying for a network solution is not a problem, but paying to test is not fair. I'm afraid of Socket Server, they scare me for real! I'm maybe looking for a more customizable solution.


    Here's a list of my goals in this project:

    • See at least 10 players around me, being able to kill them or damage them.
    • Make it secure and almost no latency —I know it's impossible.
    • Basic Stuff working on the network, what I mean there is Chat, Inventory, Stats (Level, class, gender, etc.)
    • I want to be able to have a structure similar to the one attached to my post—If it's possible in unity?—.
    • Maybe a Server Side program/app/service—whatever— that work 24/24 7/7, on my dedicated server. Linux or Windows Server 2012, with a SQL DataBase in it, for accounts and all this stuff, DNS, Proxy and Web Services(IIS).
    • And much more!

    These are the main goal for this project, since it's for learning, forum was the best place to post this kind of question. I'm looking for knowledge and information to make this project successful! Everything is useful to learn!


    Last questions: Do I need both, the network solution, and a dedicated server? What's the difference? Which one is better?

    If I messed up something, didn't understood it right, just say it!

    Thanks for reading!

    Structure that I found everywhere on internet that looks good :
    ServerInfrastructure.png
     
    Last edited: May 1, 2015
  2. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    SmartFox is generally the first choice people go to because it was designed for MMORPGs. I'm not sure if it works exactly as you described in your picture, but it's definitely worth a shot since it offers a free 20CCU trial.

    http://www.smartfoxserver.com/

    P.S.

    I've also heard of a DarkRift MMORPG server but that's still being explored.
     
    Jamster likes this.
  3. Flyskyz

    Flyskyz

    Joined:
    May 1, 2015
    Posts:
    4
    I have already tested SmartFox, but you set socket, and connect to it thats it, what about patch server and proxy ?

    I know that you can do extensions to smartfox, but is it enough for what I want to do ?

    Thanks for that quick reply !
     
  4. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    I'll admit, I've never used SmartFox before but after a bit of research, I've concluded that SmartFox can satisfy your requirements. Apparently it's backed games like Club Penguin and Pet Pet Park. They're room-based so I don't think you can have a massive world like RuneScape, but you can partition your world into sections with up to 10 people in each.

    If this is what you see in your game, I think SmartFox can work.

    Word of advice: Real-world MMORPG's are very involved. Doing what Club Penguin did and partitioning your world into rooms is a lot easier than creating an entire world everyone can run around in. For something like the latter, you'll have to create some sort of culling (aka headaches) or implement something similar to a lockstep structure, where commands rather than positions are sent.
     
  5. Flyskyz

    Flyskyz

    Joined:
    May 1, 2015
    Posts:
    4
    Who said I was alone ?
    I'm just the main guy in our team that work on things and put them together, and we are always hiring people to help, and anyway this project is more of a learning one before our big project, just to make sure that everything is fluid in our workflow and that Unity is the right game engine for us !

    Also, I know this room concept, and I also already know what this kind of project require, my main problem is to find out the way to save informations on the network and sync them.
     
  6. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Oops, sorry about making the wrong assumptions.

    For saving information on the network (I'm assuming levels, gold, etc.) you can use something independent from your game server like PlayFab, which will handle all that for you. Most unity networking solutions won't handle a database for you but you can always change that if they give you source code.

    Syncing is a really broad task to accomplish. Unity, Photon, and Bolt use network views which periodically serialize a game object's component's information. DarkRift gives you access to lower level communication for syncing. Honestly, the best way to find out how to sync objects is to just dive into the code. There are a bunch of tutorials out there (Quill18 makes some great ones for Photon).

    Multiplayer, in my view, is a completely separate beast from Unity. The only thing that's tied to Unity are the options of middleware, but even those you can port to other engines. You're never going to learn anything except how to get started from a broad question like this, so get started!

    On a sidenote, the best option is to grab UDP Kit or Lidgren from their Github pages, and build your custom server on top of them. You'd have complete control over your server that way, instead of being limited by what's already set in stone by a networking solution. The next best option is to use a networking solution that's really flexible (i.e. DarkRift) but even then there might be things missing for your specific project.
     
    Last edited: May 2, 2015
    Jamster likes this.
  7. Flyskyz

    Flyskyz

    Joined:
    May 1, 2015
    Posts:
    4
    Thanks that's exactly what I was searching ! I was more about to begin from scratch since I love to have custom-made things, but If I start from a base then modify it I will be able to maybe improve and start a completly custom one !
     
    jpthek9 likes this.