question

Benjamin Golinvaux avatar image
Benjamin Golinvaux asked

Adding matchmaking to our game and finding and joining sessions

Hello

I have been assigned the task of "implementing network stuff" in our UE4 game :) (real time, competitive, between 3 vs 3 and 6 vs 6 matches)

Our game already works fine on an LAN, with the null OnlineSubsystem (dedicated server build is OK, on Windows), but I need to research:

  • master server, matchmaking and dedicated server hosting (we need dedicated and we'll maybe add p2p if possible.. to be decided)
  • friend lists, parties, invites...
  • later : in-game purchases, social features..

I have read about integrating the GSDK in our game (the "Huli" tutorial) and this is rather clear.

When it comes to matchmaking and server allocation, it's a bit murkier.

I understand the security risk of allowing a game client to directly call the RequestMultiplayerServer endpoint (I assume this could lead to DOS attacks?), and the documentation states that using a separate matchmaking service makes sense.

I am trying to understand exactly what I need to generally write in addition to the PlayFab turnkey offer, especially for matchmaking, that seems to be to biggest task.

How do people usually cope with this?

By writing a separate application running on Azure that communicates with PlayFab and call the RequestMultiplayerServer endpoint?

Also, as a more general question, how would you VERY APPROXIMATELY rate the workload of bringing our game from the

  • "it works on lan when manually specifying the IP and port"

to :

  • "we can login through PlayFab, invite some friends, ask for a server in our local region and join the session" ?

Is it realistic to assume that it can be a one-man job over a few months (I am experienced in C++ + a little docker/devops experience) ?

Thanks in advance for helping me making sense of all these tasks.

Player DataMatchmakingmultiplayer
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Citrus Yan avatar image
Citrus Yan answered

>> How do people usually cope with this? By writing a separate application running on Azure that communicates with PlayFab and call the RequestMultiplayerServer endpoint?

It’s not necessary to write a separate application on your own since we also offer a feature called “Matchmaking integration with PlayFab Multiplayer Servers”, where the Matchmaking service automatically create a game server for the resulting match. Once matchmaking allocates a server for the match, the resulting server details (IP and Port) can be read from the result of GetMatch. After that, players can use the IP and port to connect to your server and play. For more details about the integration, please check out this tutorial for more details: https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/matchmaking/multiplayer-servers

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.