Originally Posted by
Negata
Answer in short, though: "Reverse-engineering the whole client" is done so that you'll learn what kind of data the client sends and expects to receive, and making minor adjustments so that you get it to connect to your own server rather than the official one. That's all. Once you know this, you can program your server. And I do believe it's easier to program the server from scratch than modify the client to work without a server. But then again I don't know how server-dependent the game is (was). That's some of the information you need to figure out from the client.