Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

3D Multiplayer Online RPG - Limited budget

Discussion in 'Multiplayer' started by Narmer, Mar 27, 2014.

  1. Narmer

    Narmer

    Joined:
    Mar 5, 2014
    Posts:
    25
    Hello,

    we are two developers who want to create 3D multiplayer RPG with Unity.
    We are, however, limited by money and therefore I want to ask you what solution would you recommend to us?

    It should be game for 100-300 online, but we want to create special system of allocating "rooms" to players, to avoid performance issues. This system will not allow more than 5 players in single room (scene).

    After doing a little research I found out only one affordable solution.

    • For starters to rent some cheap virtual server (4GB RAM, 2proc.) => 200e per year
    • Install there Photon Server and for starters try limited version for max. 100 users => 80e per year
    • Buy and install Windows on the server, because unfortunatelly Photon runs only on Windows.. => 200e per year

    Firstly I thought that we will not need a server at all, but I think we will need to store user data, for which Photon Cloud is not enough.
    Or maybe I am mistaken?

    So again, my question is, do I have anything wrong here? What would you recommend as the cheapest option?
     
    Last edited: Mar 27, 2014
  2. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    SmartFox, Photon (Server), uLink, ElectroTank, etc. would all work, you need a dedicated server.
     
  3. Narmer

    Narmer

    Joined:
    Mar 5, 2014
    Posts:
    25
    You think virtual server is not enough?

    I am trying to find here the cheapest option.
     
  4. duencil

    duencil

    Joined:
    Dec 17, 2012
    Posts:
    91
    well if its just for storing user data and you dont care about it being vailidated by an authoritative server, you could stay with Photon cloud, and let clients connect directly to a mysql database via php to get and set their data when appropriate. Say they go through a login process first, get their personal data, and then replicate it to other players via Photon cloud. Obviously you'd still need to host that database somewhere though, and take care through design not to have hundreds of connections to it at once, which I doubt a cheap hosting would scale to handle well.
     
  5. Narmer

    Narmer

    Joined:
    Mar 5, 2014
    Posts:
    25
    Virtual server is not hosting, but thank you.

    The thing is that I want to have many "rooms" with limited number of players. These rooms should be independant on the rest of the game.
    So you can imagine that the load to server won't bo so dramatic.

    But the question is how much server performance I need.. what are approximate system requirements?
    And do I really need Photon, Smartfox or other? Cannot for example this be enough? http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/

    I want to have about 40 rooms with max. 5 players at once.
    About 50-150 players online.

    That must not be such a performance issue, or is it?
     
  6. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Yes it is?
     
  7. Narmer

    Narmer

    Joined:
    Mar 5, 2014
    Posts:
    25
    OK, yes it is, but not shared therefore quite more usable.

    But I would like to see the actual answers for my questions.
     
  8. duencil

    duencil

    Joined:
    Dec 17, 2012
    Posts:
    91
    Your last link was to a method using Unity's built in networking where I believe one of the players acts as the server for his room and each player is authoritative about themselves. Thats pretty simple and obviously more affordable, though whether it is sufficient for your needs depends on how you:
    1) want to store your per-user data - see my last post for letting each client connect to a database to retrieve and store it, but keep in mind that this would be more prone to cheating than having a server take care of it.
    2) want to store per room data (if you need any to persist) or score/ranking tables
    2) what to do when the player acting as the server quits (migrate the server responsibility to another player or end the session),
    3) deal with the complication that players acting as server need to have their ports forwarded on their router (either manually or through UPnP).

    There's a package on the unity app store that deals with some of these issues, and could serve as a staring point.