Do you mean that: checking for nearby users happens on the AI thread if users are found we queue move or attack actions to the appropriate map partition. I tried running this source on a 2 vCore machine, and of course, it errored as we seem to need at least 6 vCore on our machine to have enough resources for the no map, pvp map and normal map partitions. count = Math.Max(1, count == 0 ? Environment.ProcessorCount / 2 : count); I said 6 not 3 because the count of cores for which we start a partition is our machine's vCores halved. The crazy question is, would having the no map, PVP map, and normal map partitions be the same one (0), make our source "single-threaded" (when it comes to packet processing at least), thus removing the chance of deadlocks and thread races all together? that of course at the cost of performance loss.