Jose Fernandez suggested an idea · Apr 05, 2021 at 02:15 AM · support
Hello,
A feature necessary to most games comprised of 4 players or less is that of NAT Punchthrough, which I was surprised to find out wasn't supported in PlayFab. Games that involve two players (fighting games, etc.) or are primarily PvE (Borderlands 1/2), or are P2P for whatever other reason (COD), need this feature if they ever wish to deploy cross platform. This is because if a game is launched without a subsystem that supports NAT Punchthrough, clients would most likely be required to port forward in order to host their listen server. So in essence, if you deploy to Steam or GOG, you're fine because they provide NAT Punchthrough. However, if you deploy outside of Steam, say to EGS (I believe) or your own solution, your clients won't be able to connect unless they port forward or you deploy your own NAT solution.
This feature is present in competitors like BrainCloud (relay servers) and GameSparks (not explicit NAT Punchthrough but they establish a websocket connection to each player giving you basically the same functionality), and it's not exactly an expensive feature to add. However it makes a critical difference if you're using an Online Subsystem (or lack thereof) that lacks this functionality.
Brendan commented · Apr 05, 2021 at 09:03 AM
Actually, there is no NAT punch-through system in existence that can handle all NAT types. Strict-to-strict NAT connections, in particular, are simply not possible. All services that provide guaranteed connection between all players in P2P use relay servers where that connection is impossible.
Second, IP Addresses are considered PII in some regions, which increases your risk when using P2P.
And finally, there has been a steady increase in attacks on individual player IP addresses, when they are exposed. This is exacerbated by the fact that there are multiple online sites you can now go to, to pay a few USD to DDoS any IP Address you like. So if someone's beating you in a game and you want to win, you can just ruin their internet connection temporarily.
For all those reasons, we chose to go with relayed packets for all communications with Party to start. But that said, we're very aware that a subset of games require P2P, so that is already an option in that service. If you are comfortable taking on the risk implied with using P2P and believe it is required for your game, just open a ticket with out support team.
We would love to know what you need. Submit your ideas and upvote others to help us prioritize.
No one has followed this yet.
PlayFab Support Dashboard - View current/past tickets
Nintendo Switch support in C++ SDK
Request Discord Authentication
Unity PlayFab SDK and Game SDK install fix
PlayFab Party SDK for macOS & Linux & cross-platform
MacOS support for Playfab Party
Adding admin API Get User Account Info with Custom ID
Disable automatic query execution when loading Data Explorer (Basic)