Client-Server Stability
Potential RPG May 22nd. 2007, 11:38pmYes, you may read that subject as a question.
Actually, I found a major one-line logic bug deep in the heart of the network code, where ByteBuffer mistakes deal swift justice to the unwary, and the ebb and flow of bytes must be respected and feared, like the sea… sorry.
From a technical perspective, I’m using the non-blocking java.nio system to handle network I/O. Sometimes, only some available bytes can be written to the network, and the non-blocking API allows the world to keep on spinning. Unfortunately, when some bytes were left behind, I forgot to re-queue the connection for output.
This would cause the network pipeline to stall intermittently (per client). I rarely ever saw this myself, because I connect with one client on a LAN (so all the pending output bytes tend to get sent at once). For you brave Alphanauts, somewhere across the aether, this may be the primary cause of several crash problems that I just couldn’t reproduce.
UPDATE (for Alpha playtesters): Nope, that didn’t fix all the problems. I’ve made some concessions and released a new client. I am bound and determined to solve all stability issues before moving on. Thank you for your patience.
UPDATE UPDATE: MMORPG appears to be stable again (after some quick testing — thanks Fox). I’m sure there are plenty of bugs to be found, but the game should be playable once again.












