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. Dismiss Notice

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.