Kieran Newland avatar image
Kieran Newland asked

How should we be setting up dedicated servers with the Playfab Party OSS Plugin in UE?


I'm using the UE Playfab Party OSS Plugin and i've been diving into how the dedicated servers are set up. I'm currently using the PlayFab Sockets and NetDrivers as expected. However it seems that FPlayFabSocket requires LocalEndpoint to be setup before it can communicate with another client. Looking into where this is used, it is initialised once a match has been found with the matchmaking process or when a session is created. Both of these actions require a LocalPlayFabUsers party id which I wouldn't expect to have for a dedicated server. Is there something i'm missing with this setup?

I feel like this current workflow should work with P2P connections well but i'd like to double check that it's intended for dedicated servers or should I be trying to revert the NetDriver back to using the default IpNetDriver for server connections?


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

Made Wang avatar image
Made Wang answered

[Edited] PlayFab Party is currently not intended to be used for dedicated server scenarios. Party is aimed at titles which are doing client to client / client-hosted implementations and Party helps navigate situations where the host running on a client device (e.g. an Xbox console) is behind a router/firewall and may have strict or moderate NAT types by utilizing relayed connections – this means connection is typically not done directly via IP & port but rather through network descriptors/information. The lack of a public/usable IP & port with Party and relayed connections in general, means that Unreal Engine command lines to connect directly via IP & port will not work. Party network descriptors (the connection info) must be discovered or shared either via matchmaking, invites or shared via another service.

For dedicated servers, you typically want to connect directly via IP & port and avoid relaying the connection since this is unnecessary (and can add latency & hops) when you control the network environment – e.g., you can open up the necessary ports and bind a public IP address and have the user connect directly.

In this scenario, we recommend you use the IPNetDriver & IPNetConnection provided by Unreal Engine. If your title features both client-to-client and client-to-server modes, you should switch between the Playfab Party OSS/NetDriver/NetConnection and the IP variants provided by UE.

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.