Search Unity

Resolved Where to start for Multiplayer Matchmaking or Server Browser?

Discussion in 'Multiplayer' started by QuickiSticki, Aug 25, 2021.

  1. QuickiSticki

    QuickiSticki

    Joined:
    Nov 18, 2020
    Posts:
    26
    Hello again, everyone!

    My question is about taking my game from development and setting it up for play testing. I have been using ParrelSync in Unity to play test with myself using Mirror. Now, I am looking to implement either a server browser or a matchmaking feature. In the end, I am hoping to have a server browser and also a matchmaking connection for people to either do a "Quick Join" through Matchmaking, or they can browse servers and select the one the want to join manually, or perhaps join their friends game, or host a game.

    The problem is, where do I even start?! I am having a VERY hard time finding anything related to Matchmaking on Google. I want to set it up so friends can join a lobby at the main menu, and then the host can click a "Matchmaking" button, and the game will send the whole group to whatever game it finds for them. Has anybody done this or have any tutorial/info to help on the subject?

    The other thing I want to do is a server browser. Now, I found a bit more info for this. I found some info for Node List Servers, which sounds like what I want to do, but again, not much help for actually implementing this. Has anybody used a Node List Server before, and if so, can you answer a few questions about it for me please?

    Thank you for any help you can give! :)
     
    AlphaLulz likes this.
  2. QuickiSticki

    QuickiSticki

    Joined:
    Nov 18, 2020
    Posts:
    26
    UPDATE:

    For anyone stumbling across this, here is what I have found and implemented after months of trial and error and RESEARCH. For converting a single player game to a multiplayer game, it seems most people either use Mirror or Photon. I used Mirror, so I cannot speak to what to do or where to go with Photon, exactly. I then also turned away from doing a server browser to doing private and public matchmaking.

    If interested in doing a List Server, check out the Mirror discord. They have 2 channels, one for Node List Servers and another for Mirror List servers. You may also find more options from some of the other names I list below.

    Once my game was doing pretty good using Mirror and ParrelSync, I went looking for a way to start connecting clients to host. I implemented this by using the built in Mirror NetworkManager at first, using it to create a Lobby, Host and Join games. I then ran into a problem; Mirror's Network Manager only allows for LAN connections, not WAN, unless you port forward every single host that ever wants to host a game. That means that every person that owns the game and wants to host would have to go through the process of port forwarding, which is, to say, maybe not something I want to make the "average" person try to do just to play. They would all hate my game!

    Since my game has both private and public games, I am looking at 2 separate Lobby/Host/Join functions. For private, I found that there are a few good methods of partnering Steam and Mirror, namely Steamworks.NET, FizzySteamworks, Facepunch, and FizzyFacepunch. If you want to connect through Steam, check out these options!

    For public games, which I have not yet gotten around to implementing, I do have some insight. PlayFab seems to be a huge name for online matchmaking games. It also seems that Steam can do this for you, but again, I have not done it, so I only know what I have read and found. I do not know if either of them offer any List Servers, but you may check that out, if interested.

    I hope this update helps you guys if you are struggling with the same things I was, and good luck out there!
     
    Archadia and TeutoMonkey like this.