In DirtSand, each server and each client spawns its own
thread to serve it.
What I noticed when debugging the server was that several threads seem to be getting stuck in approximately the same place. For example, I noticed that Bob had at least two threads that were, at one point, hosting him but were stuck... long after he had disconnected. This isn't a bad problem, I suppose. What is a bad problem is that sometimes threads hosting entire ages get stuck in the same place. When that happens, the age cannot proceed. If anyone tries to connect to it, the age never responds, hence the long delay culminating in the client giving up with "LinkToAge failed"
I am curious to know if this is more likely to happen when multiple players are present either on the shard itself or in the same age. We know the problem can't be limited to the latter because sometimes Acorn's Nexus (a strictly single player age) will sometimes get stuck. I might need to make some changes in the server to output some logging information about what's going on as well. We'll see on that one.