I've had this crazy idea for a while now. No, I'm not trying to make a retail-quality killer app. This is just something that I think could be done, and for that reason, SHOULD be done.
First of all, I think this would be a LOT easier than it sounds. The core idea would only take a few small modifications:
Character Server
This could be anything from a few textfiles in the server's folders to an SQL database with a PHP admin interface. I've seen the former done in the form of a UT200X mod, which while not exactly balanced, worked incredibly well. Heck, one could just pull some exp charts and such from any old D20 system manuals and build a file to hold them for each character.
Character Stat Integration
This might be the biggest part of the modification. The stats need to be used ingame to determine things that normally would be handled by static values. Things like weight and strength would need to be considered to determine a character's moving speed, jumping ability, etc. Intelligence would modify a player's damage inflicted by "magic" weapons. Players would need to gain experience from frags or npc/mob kills.
Server Travel
This might end up being the easiest thing to do. When a character "zones" by entering a portal or going past set map coordinates, they go to a different map. Each map would be on a different running server instance. This way, different server parameters could be set for individual zones. When a character moves between zones, their character would be saved and their connection diverted to their destination. Upon entering the zone, their character is loaded again and play resumes.
I'd really like to head up a project to accomplish a demo or something. If any experienced coders want to get involved, PLEASE let me know. If the project is successful, a linux distro could be built around it to make a game similar to the ./hack series (OS and game integration; allows for pure gaming optimization without bloatware).
Well, good luck on this. I have only been poking around with the Quake 3 engine for a while now, but although this would be possible, for me it seems unpractical to use quake 3.
I do not know all the nitty-gritty stuff, but someone once mentioned to me that using different servers to co-ordinate within quake isn't that easy. Not impossible, so you could do it.
The biggest work you will have with doing something like this imo is the "Server Travel" as the rest is actually quite easy.
Also, you should keep in mind that Quake 3 by default can only handle 1024 entities loaded at any given time, unless if you were to go and modify the net protocol to handle more. So there would be some networking code also to do. Alas you could get past this by using certain limitations on the game, as to the amount of players in any given area at once (doesn't feel right though) or not allowing players to drop things (or if they do, have a fast 'decay' time on them) otherwise that would easily count up to the 1024 limit.
In any case, just my two cents worth of incoherent blabbering.
Kind regards,
MalloC