At this point, I'm sure some of you are thinking – just use dedicated servers! If we
just never Host Migrate, because we put all our Physics Hosts in the cloud, we never
have to solve all these pesky problems. There's a couple strong reasons we didn't simply run dedicate servers
that were traditional Physics Hosts. For one thing, they need to be cost-feasible. To support our launch, we'd have
needed hundreds of thousands of headless PS3-Parity executables in the cloud, and that becomes a significant continuous
cost to maintain, especially if our playerretention continues to stay as strong as it has.
Additionally, peer-to-peer networking supports maximally responsive action
gameplay. In many cases we can match you with players that are in the same city as
you, and you get extremely low latency with your Physics Host – much better than
what we could do with Dedicated Servers. We don't want to increase our latency for
firing bullets and doing damage – that violates our ”Feels like a Single-Player Shooter"
goal.
...
We tick our Activity Hosts at 10Hz, which allows us to run almost 5000 per server [40
core, 256GB] Given that we typically have a bit over 2 players per Activity Host in real-world
conditions, that means our datacenter can handle a hypothetical 1 million concurrent
users with only a couple hundred servers, and that's with plenty of safety headroom
on each machine. That's dramatically better scale than trying to use a full dedicated server. With full
dedicated servers, that same hypothetical 1 million players would require half a
million headless PS3 processes, each running our full game simulation.