Orchestrator
An orchestrator figures out where to host game sessions.
Peer-to-peer is when you designate one player as the host of a session, and the other players connect to their machine. Whereas client-side servers are external machines which host your game’s sessions.
Peer-to-peer is a great option for smaller, more cooperative games. If you have a turn-based strategy, or even world-builder game, then it probably doesn’t matter if one player has the advantage. It lets your players have their own private server, and can actually be faster than rerouting through a client-server. The bonus, offering peer-to-peer can save your company costs on renting client-side servers.
But the big downside, which people usually forget about, is if the host leaves, you need to migrate the session over to one of the other players. And that’s not always possible or can cause a huge delay. Also, if the player has bad internet, or a weak machine, then that affects the gameplay for everyone.
It’s rare for games to only offer peer-to-peer servers. It’s a great feature to have, but your players may not always want to host the game themselves. And if you have an FPS game with a lot of players, then you definitely don’t just want to rely on peer-to-peer.
An orchestrator figures out where to host game sessions.
Your matchmaker decides which players to group up for a session. It grabs information from each player and then runs it through a set of rules to figure out the best possible match.
Latency is how fast data is moving. How quickly does it get from point A to point B? (And it’s generally measured in milliseconds.)
Client-server architecture is where you have external machines that host your game’s server and players can connect to it.