Search Unity

Clarification on network options.

Discussion in 'Multiplayer' started by pod11, May 26, 2020.

  1. pod11

    pod11

    Joined:
    Jan 6, 2019
    Posts:
    60
    I completed some simple single player projects i planned as learning process and im at stage where i think i can get to next stage which is multiplayer learning project - as in the end multiplayer is what i want to do.
    I did read thru some forum threads about networking , but im still not sure about certain things i'd appreaciate some help.

    2 options im considering is
    Photon bolt
    Mirror with uMMORPG possibly

    Projects i have in mind require :
    1) authorative dedicated servers.
    2) does not need to care much about latency as none of it is real time.
    3) needs many good tutorials - preferably video - so i can learn.
    4)i prefer it to be possible to make entire inside unity , as im not a programer and i'd prefer to stick with c# in unity for now.
    5) as simple as possible.
    6) many connected players but not necesarily in same scene or room.

    Actual question:
    Are both of my final choices actually fullfilling my conditions?
    ( just got to a tutorial that suggest earier investigation was wrongabout authorative server and photon bolt)
    Are there any better otions that fullfill my conditions?
     
  2. MrsPiggy

    MrsPiggy

    Joined:
    Jun 13, 2018
    Posts:
    154
    If you're after an authoritative server I usually recommend SmartFoxServer 2X. It's likely among the best in terms of features, support and examples. Just google it and you'll find all the details.

    Correct, Bolt is one of the many client-hosted solutions, so it doesn't fit the server authoritative premise.
    Bolt is a client-hosted solution that can also be hosted in the cloud (or similar) and used authoritatively.
     
    Last edited: Jun 1, 2020
  3. Vincenzo

    Vincenzo

    Joined:
    Feb 29, 2012
    Posts:
    146
    ?? Why spread misinformation. Photon is doing server authority and so much more than smartfox.

    By far the best choice for unity networking today is quantum. From the photon crew.
     
  4. DirtyHippy

    DirtyHippy

    Joined:
    Jul 17, 2012
    Posts:
    224
    Incorrect.

    Exit Games Bolt supports server or client authority or even hybrids of both. Bolt implements the command input/replay and state reset systems described in various white papers that form the foundation for modern client prediction/server authoritative movement models used in commercial shooters. As far as I know there isn't networking library for Unity that remotely implements this. It even implements delta encoding per-property for inputs/state results to minimize bandwidth when per-frame changes are minimal.

    Bolt also implements a bit level packed state system with both per-property and per-entity priority systems to implement eventual consistency models also prevalent in modern commercial shooters. Interpolation/extrapolation is built-in for a variety of properties, as well as per-property compression options.

    You are free to host your servers where ever you wish, supporting both headless server deployments and hosting a game yourself.
     
    tobiass likes this.
  5. MrsPiggy

    MrsPiggy

    Joined:
    Jun 13, 2018
    Posts:
    154
    Sorry folks not my intention to "spread misinformation".
    Bolt is presented on ExitGame's website as "Client-hosted Networking for Unity that Always Connects Your Players"
    I imagine you can put one of these Unity clients in the cloud and make it work as a "central server". Makes sense.

    I am more used to servers like SmartFox where everything is tightly integrated, access credentials, match making, buddy lists, server side logic, storage etc. I'd be curious to see how exactly you build a system with those features with Bolt alone.
    I guess you would have to mix and match different ExitGame services plus your own storage servers. The problem I see with this is that the application state seems all over the place.

    In any case I agree that, technically, any client-hosted solution can become "server-authoritative" if you host the client on a dedicated machine.

    Again, apologies for the incorrect comment, I've edited it to avoid further misunderstandings.
     
  6. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,070
    There are different shades of "server authoritative".
    You may focus on accounts, friends, payment and items, which should be done by a server.
    On the other hand, there can be in-game world state which is hard to transfer into a non-Unity server. If you rely on Unity's scene for hitscans, use server-side AI or physics, it's a waste of time to use a non-Unity server (no matter if it's hosted by a player or on dedicated machines).

    Bolt does not attempt to create a backend (first part) but it works with all available ones. This is easy to combine. Photon Bolt's focus is on the latter.

    You don't want to do FPS or similar games without the server knowing at least the scene, so if you don't run the servers for it, player hosted games are a fine middle ground.