Now, this sounds simple, only that it isn't so simple. A lot of things have to be considered, and they are very hard to be tested properly because they require the massive participation of people, so we need to do it on the test server for a while.
The test server is nice, but there are 2 problems:
1. It's hard to get a lot of people on the test server at the same time. And it's even harder to make them cooperate.
2. It is also very difficult to remotely debug it. Since most of the debugging means stopping the server for a while, it is likely that the players on the test server will get bored and just go to the normal server. Having to restart and compile the server 20 times doesn't help either.
The shared vision code is 75% done now, after about 3 weeks of planing. Hopefully, it will be done in a week or so, unless I get really lazy :D
Why don't you implement a plugin system on the server? Using a plugin system, you'll be able to load/unload modules and to add/remove functionnalities in the server without having to stop the main program. This way, the server is always up. Of course, you'll have to take care about who is using a specific module when you want to unload it, but as I see it there is nothing much complex and it can really help during the development (not to mention that if there is a bug a in subsystem, you unload it and then you simply relod the crrected version).
Plugins are easily implemented on linux using shared libraries.
Of course, it will not help you if your plugin is crashing the server (but this is exactly the same as adding the crashing code in the server itself)
What do you think about it?