Host migration

If the performance by the host during a gamemode is consistently bad (all pings >200) or if the host leaves, the game should be able to migrate to a new host.


As much as we’d love to slap this right in, it’s not necessarily an easy task. We’ll be looking into solutions for this in the future.


If that’s the case, then can a solution be made for picking better hosts? What’s the system now? It feels like it’s random, because it’s very rare where we get put in a game with stable connections.

I think one of the major factors is best ping to the lobby. @zak or @foohy would have more info on that, though.

Yes, hosts are currently determined based on best-ping with the lobby server they’re in.
At some point in the future, I would like to develop a system where the host is chosen based on best ping with all other players.

Please refer to these horribly drawn MS-Paint diagrams for details:

Currently, the best host is chosen by best ping against the plaza server

While this works most of the time, you can end up with hosts that aren’t ideal
Here, Will was selected as the host because he is closest to the server and had the best ping.

Sam and Wergulz are gonna have a tough time in ball-race.

What we need is to have the clients ping each-other to determine best ping in their group

Foohy is selected because he is closest to the center of this network

Basically I just need to come up with a system for doing this and it should solve most of the cases where poor connectivity is an issue.


thanks for the gorgeous explanation, Zak

My computer is across the house from my Wi-Fi access point, so my network latency can start out low, but suddenly jump if someone enters the signal path. Would it be possible to add an option for players to tell the game that they prefer not to host? Not flat out blacklisting themselves, but more like setting themselves to a lower priority for the selection algorithm. Of course, if everyone joining the game has the option checked, the plaza server still has to pick someone to host.