This is what I'm thinking of at the moment, to find player peak periods. However, I'm not sure whether this would be the most efficient way - so I'll post what I'd do - and see if anyone wants to tweak it.
1. Get the syslog of players
2. Look through all the new player created / player generated / player went netdead / player quit / player extracted when idle, etc etc, and simply give a label of "enter" for text signifying a player enters, and "quit" where it means a player quits.
3. Run through each player in the syslog, and map the hours when they are on the MUD - deleting each entry as you find them. When the "syslog" is empty, all players have been accounted for.
Potential questions: Does 2) account for alts? i.e. would we be double counting players?