Things to solve:
Things that should definitely be threaded:
Things that would be nice to thread:
one thread per map
issue: how will the “Object.Teleport” Python function work, since it couldn't cross thread boundaries? simply remove it, and force script makers to use other means?
same issue with ready_map() through scripts - what happens if the map is already loaded and has its thread running?
thread for socket processing, one per player maybe
ideally, one could thread potentially long operations like massive item selling, or massive item drop
thread socket sending to players, to make the previous operations faster?
split eg item selling and player notification, with that latter moved to a separate thread