So everywhere I scour for multiplayer game setups, usually it shows someone making a host and a join button.
I am wondering, where could I learn about players clicking a button and collecting all the users wanting to join the “pool” (Ithink its calledthat) and auto host the game from the server instead of someone “hosting” a game?
Basically how fortnite does it. A player clicks play, and the server does the rest.
Matchmaking is normally what front-end developers call it yes.
On the back-end it can be a pretty complex affair including:
Player Authentication and Authorization.
Player ticket system
Dedicated Server providers (Bare-metal servers or on-demand)
Dedicated Server priority queues
etc.
Search for AWS Gamelift which is one solution that covers this.
Since it can be pretty expensive for small developers to pay for the up-keep of dedicated servers some games let the player community get permission to setup and run dedicated servers without matchmaking but instead using a server browser to pick from.
Matchmaking is still possible even without a dedicated server but then the amount of players per game will never reach Fortnite levels and could include server-migration but connection problems and stability would be a huge concern.
Steam Matchmaking can be used with or without dedicated servers.
Interesting. Yes I would imagine a Fortnite clone would require tons of programming and Money! LOL
Im just trying to understand and learn how to implement even a simple 1v1 or 2v2 matchmaking. It doesn’t seem organic to have to know the host name, or find the game etc. I like the randomization of the matchmaking.
So I recently setup an AWS account with an instance (i was following a tutorial but it never went into the actual backend of Unreal.
Sounds like something I did similar when I was learning how the multiplayer mechanic of demon’s souls worked. The way I set it up was to make every player a host once they start the game and then could join a random session with a trigger. If a player joins, they lose host status because they are a client to another player’s game. I also messed with player start logic in game mode because I wanted players to appear in different places around the level.
I hope this isnt asking too much, but would you have any snippets of the code/Blueprints I can analyze to understand the process? I Just cant visualize the process in my head yet
Sort of. I don’t have snippets; it would take some time to make and document them. I may have the time later today, though it would take me less time to type it out in detail.
If you haven’t already, this is where most of solutions came from: