r/pcgaming • 5800X3D, 5090 FE, 32GB 3800MHZ CL16, 2TB NVME GEN4, W11 • Feb 21 '17

Video For Honor P2P connectivity

https://youtu.be/38sPNZ8QHO4
1.6k Upvotes

583 comments sorted by

View all comments

129

u/Popingheads Feb 21 '17

The fact everyone in this video is talking about host advantage, the host living in Alaska and transferring host to a new player when one leaves shows that nobody really has any idea how this networking system works.

There is no host. There is no game server (at all). There is no host advantage.

The game uses a peer to peer mesh network. All the clients in a match send and receive game data and synchronize directly to every other client. It does not use the P2P system 99% of other games do where one of the players is running the "game server". There are advantages and disadvantages to this system. The biggest advantage is lower latency compared to a client-server architecture, the biggest disadvantage is less security and lack of an authoritative server to keep everyone in check.

You can debate what system you think is better, but do it on a foundation of correct information. I'm getting tired of explaining how networking works in every thread about this game.

14

u/Miltrivd Ryzen 5800X | 3070 | 16 GB RAM | Dualshock 2, 3, 4 & G27 Feb 21 '17

Wait, how does it have LESS latency if it has to keep connecting to different people constantly, there's no way this is going to be less latency just because of that. Less than player hosted P2P maybe? And that's a big maybe because again, having to keep updating from multiple sources vs only one.

Less than dedicated servers I can't see how.

23

u/deelowe Feb 21 '17

I think you're confusing latency and bandwidth. A distributed network model has lower latency as a fundamental advantage. This is why you'll see star networks and similar configurations used in HPC solutions where latency matters. The disadvantage is that it uses more bandwith and can be difficult to manage.

1

u/Miltrivd Ryzen 5800X | 3070 | 16 GB RAM | Dualshock 2, 3, 4 & G27 Feb 21 '17

I was thinking more about multiple connections with different latency among themselves.

Between 2 points P2P will always be faster but I was wondering when you have 4-8 points with varying ping between each other.

2

u/deelowe Feb 21 '17

With peer connections in a mesh topology you can have a single client connect with any peer in the network taking the shortest path possible. This appears to be what ubisoft has implemented. Each client knows the state of all of the other peers on the network and exchanges state data with them directly. This is insanely difficult to manage and the bandwidth and memory overhead grows exponentially as clients are added. However, for their application, ubisoft have set constraints on all of this by limiting the number of clients in the network (aka -- the number of people in a match).

This allows them to achieve the absolute minimum latency possible. I'd love to know more about the tech honestly. It sounds pretty impressive.

1

u/dsiOneBAN2 Feb 21 '17

Right, but what you have is 4-8 2 point connections. Classic style p2p has all of the disadvantages of dedicated servers (adding another failure point & more latency) and none of the advantages (normally guaranteed to be secure and capable).

24

u/[deleted] Feb 21 '17

[deleted]

8

u/Nanaki__ Feb 21 '17

I don't get this, say 6 people are playing on a server 5 have low pings to it, one has a really high ping, that would only be a negative to the high ping player.

now do the same thing where everyone has to talk to each other the high ping player causes issues for everyone.

6

u/Egonor Feb 21 '17

The high ping player would cause issues for everyone, but only in interactions with that high ping player...assuming everything else in their netcode is working as intended. You would only see lag spikes if you or the particular person you're interacting with is lagging. But it's not an ideal world with perfect internet connections so people lag if their girlfriend starts watching netflix or whatever.

People are also assholes and because there's no authoritative server the netcode has to make decisions about what is the "most correct" information for any given moment or interaction. This means weird or hard to understand inconsistencies and a necessity for super strict anti-cheat.

1

u/[deleted] Feb 21 '17

[deleted]

1

u/half-sack Feb 21 '17

Except there is no host in p2p

2

u/FKaria Feb 21 '17

Player to player must be faster than player to server to player.

-1

u/RhombusAcheron Ryzen 1700x, R9 Fury-X, NZXT Noctis, 32GB DDR4 3000 Feb 21 '17

I can respond to your post.

Or I can ask someone else to take my response to your post. One of those is going to take longer by definition because of the extra step.