The approach we have developed is based on the idea of subdividing zones according to their population density, in a recursive way. If only 5 people are roaming the surface of a remote lonely planet, it will most likely be handled by one single server. Come thousands of visitors spread on the surface and the initial area will automatically divide itself. Player clients are dynamically reallocated to the new servers in charge of their area. This process can repeat itself up to areas as small as 8 meters large. The interaction between different areas is handled with a complex cluster-wide synchronization mechanism, and an actor-based model that we might talk about in another post.
The other crucial part of this algorithm is that we have designed a method that is efficient to guarantee that the further a player is from another one, the less frequent the updates of position will be between them. When two players are close to each other, they will be updated very frequently and see each other with a great level of fluidity. However, when players are far away, there will be some delay in movement (because interpolation needs several updates to proceed), but they will still see each other in a visually convincing way.
At large gatherings with a high population density, more server computing power is going to be allocated to that region than say, an empty planet like Tattooine, so it should all balance out without much choppiness or slowdowns.