Hi,
the random map feature in the gamecode seems to have the slight disadvantage that it is actually more random than is really required here: It often repeats maps much earlier than users do expect (the effect is also often seen with the "shuffle" function of media players).
I think the best solution for this would be a "pending map list" which is generated from g_maplist, randomized and then the server plays the maps in the list until the list is exhausted, at which point a new randomized pending map list is generated from g_maplist. This way it is guaranteed that at least each map plays once before a repeat becomes possible
I had a look at the game code, but since my understanding of QuakeC code and esspecially how the engine state works is nonexistant, I couldn't easily come up with a patch.
Olli