Search Unity

  1. We are migrating the Unity Forums to Unity Discussions by the end of July. Read our announcement for more information and let us know if you have any questions.
    Dismiss Notice
  2. Dismiss Notice

Is Mirror Networking good and what's the business model?

Discussion in 'General Discussion' started by BitPax, Nov 4, 2020.

  1. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    Does mirror charge you later if you have more concurrent players like Photon?

    What are your experiences using Mirror?
     
  2. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,668
    No, Mirror in itself is completely free and open source. They won't charge you for anything. The caveat is that you need to host it on your own dedicated server.

    There's Mirror PRO, though. The lowest tier gives you access to three other tools, which you may or may not need depending on your needs:
    https://github.com/sponsors/vis2k/

    They also offer a service called "List Server", which costs $20/month: https://mirror-networking.com/list-server/
     
    Meltdown likes this.
  3. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    Ah, interesting!

    Do you have to keep paying to use those three other tools?

    What's the difference between using List server and just setting up my own server?

    Also does Mirror support matchmaking?
     
  4. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    There are docker containers running Unity so you could host it in a cloud service. Question is what it will cost though with network costs and CPU/memory/disk
     
  5. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    So is List server cheaper than say something I could setup on AWS or Digital Ocean?
     
  6. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Its hard to beat 20 USD per month. Though you still need to host the dedicated servers. Or will players self host? That was the norm in the days. But its less and less the approach today
     
  7. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    I guess I don't quite understand what List server is for. Could you explain what kind of scenario it's used in? I definitely want an authoritative server.

    Also do you know if Mirror supports matchmaking?
     
  8. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Its listing the ongoing matches. But you need to host these somwhere if you dont want the players to self host. You can have a authoritative server even when player is host. But the one being server can cheat offcourse
     
  9. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    Ah, I see. Yeah, I'm thinking everything is going to be happening on my own dedicated server via AWS or something. The client would only ever be able to request data, it'll never be able to send update queries to the database.

    I'm not really understanding the value of the List server. The Unity client itself could display the matches that are going on for my game.
     
  10. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    You need a master server that keep tracks of all running games. This list games server is doing that (I think, bad name)
     
  11. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    Oh, interesting. When you say games do you mean completely different games (like one game is an FPS and another is a turn based game)? Or different matches (same game but lots of different rooms where everyone is playing the same game)?

    If I'm understanding correctly you're saying Mirror can handle server to client (or client to client) communication but can't manage multiple matches so it requires a master server which manages the matches?
     
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,768
    A matchmaking server fills two roles: matchmaking and relaying data between players. Just about everyone with a normal ISP is behind what is known as a "NAT". A NAT essentially makes it impossible for someone to connect to the player from outside of the NAT. The solution is that both players connect to the relay server and send their data to each other through it. Alternatively if there is a dedicated server it can handle the relaying.

    Some platforms like Steam provide matchmaking and relay services, but they come with the caveat that you can only match with players on that service and not across all services.

    https://en.wikipedia.org/wiki/Network_address_translation
     
    Antypodish and Meltdown like this.
  13. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    So the List server is a matchmaking server?
     
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,768
    Yes, based on everything said about it. Like @MDADigital mentioned a few posts ago it's badly named.
     
  15. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    Thanks for clarifying stuff. I'm planning on building a fully authoritative server. Where the client is just basically telling the server what the player did will never determine what's actually happening.

    Is Mirror only able to relay to all players on the server only? Is there no concept of rooms in Mirror so that I can just relay data back and forth between like 2 players?
     
  16. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    The creators/maintainers of Mirror also have Asset Store packages which previously ran on Unet before it was deprecated, but now use Mirror. uMMORPG is one example.
     
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,758
    There are some other assets, such as Noble Whale's Match Up, that also work with Mirror. Noble Whale hosts a free matchmaking server that you can use during development.
     
    Joe-Censored and BitPax like this.
  18. BitPax

    BitPax

    Joined:
    Oct 4, 2019
    Posts:
    89
    Match Up looks exactly what I'm looking for. Any recommendations for secure authentication?
     
  19. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,758
    No, sorry. Maybe someone else has recommendations?
     
  20. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,823
    Mirror deva also create ECS compatible networking solution. This is separate and paid in contrast asset.

    Alternatively, using new Unity DOT Networking solutions, which deals with lag and authoring.
     
  21. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,758
    The dev also maintains Apathy and Telepathy, which are high performance TCP libraries that work with Mirror. You can sponsor the dev to support development of these libraries.
     
  22. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    A bit of a shameless plug but, if you are interested in hosting a server-authoritative Mirror-based game on a dedicated server of your own, we recently released Dedicated Server Kit to help with this. It is the evolution of Master Server Kit, which did the same thing for UNET-based games.