I've been working on a server for Ragnarok Online in Erlang if anyone's interested: http://github.com/aliter/aliter . It's structured similarly I suppose, except it has no monitoring server. Players are represented as gen_fsms, and the servers (login, char, and all the zone servers) can be distributed across various nodes, etc. It uses Mnesia for its database, and the scripting language will likely be lfe or Reia. (It's lfe at the moment, but if Reia evolves enough we may jump over to that.)
Unfortunately as I'm reimplementing a server for a client that already exists, I had to offload some of the time-sensitive stuff onto C as it's simply too slow in Erlang (in this case, walking + pathfinding).
Edit: Also, hot code loading is f'ing incredible for stuff like this. Get on, walk a bit, notice a bug, update it in the code, make:all([netload]) in the shell, bam, fixed. (Though I had to patch stdlib to fix a bug in c:nc that makes make:all([netload]) useless. I've submitted a patch and it's in the pu branch.)