Progress update. I'm toying with the idea of moving away from XMPP for the chat client at the moment. The XMPP protocol is totally non-conducive to how I want the friends list portion of the client to work, especially the invitation part. Given that the chat client allows you to filter invites based on your full/build trust with the user, an extra layer of complexity is added which XMPP doesn't like at all.
I may fiddle with some Python this weekend and see if I can put together some simple sort of proof-of-concept application. If it proves to be too time-consuming we'll stick with XMPP for v4 for the sake of getting it out sooner. The downside of course is that you won't be able to use Pidgin if I go ahead with the new server. It's a choice over how well-tuned and feature-fat the chat is for Blockland or whether you get to use external clients to talk to people in-game.
There are a load of exciting things we could do if we had a custom chat server as opposed to having to fit new features into the spaghetti maze of the java-based XMPP server used currently, one of the most prominent being a user's ability to register and moderate private/public/list-based/invite-only chatrooms.