So, I'm pondering making a custom client. I work on an XML-C# hybrid game engine at my day job, and am thinking of utilizing my experience with Unity 3D to make a client. Specifically a 'thicker' client which is built to do things that require predictive behavior, like WASD and proper pathfinding. Also a better UI and having the client hold onto objects so that one could pan around areas explored to see how they were when last seen (useful for finding trees and bushes, among other things).
Now, my questions: is the server-client messaging protocol documented anywhere? and did anyone ever figure out how to extract resource data for textures, meshes, and animations? If I had those, the client would just be a matter of hammering it out as I've done most of the functional bits before in experiments, prototypes, and for my day job.
I could probably divine the server-client protocol given enough time, but I'd rather not spend the weeks that would take if at all possible. To preempt a question 'why not just use the existing client?', it's because I have a bloodoath vendetta against Java, along with PHP and Perl. May my bones be filled with molten lead rather than write any of them for more than an hour per project. (No offense to users of these languages; I just really, really don't like to use them myself.) Finally, I wanted to say that as a programmer, I hold the developer in high regard; the client code, far as I can tell, is a well-patterned message system, which is a solid model. Sadly, due to my aforementioned disdain for Java, I'm not well versed enough in it's libraries and nuances to quickly track down what I'm after.