Originally Posted by sputnik
There is a central server which assigns account/passwords, realms, and horde or alliance. Each bot communicates with the central server, logs in, creates a character based on the instructions from the central server, performs /who's (the exact whos I do are top secret... hehe), inserts the data to a MySQL database, then logs back to the character selection screen and asks for a new realm to be assigned from the central server. A full cycle of 440 total servers (220 servers x 2 (horde/alliance)) takes about 4 hours, mainly because we have to slow things down, if you're logging in and performing commands too fast and then logging out quickly and logging back in, eventually the realm server gets pissed and starts throwing errors. Also, the cycle sometimes is shorter if some realms are down, the central assigning server uses blizzard's realmstatus.xml to decide what realms to assign out. We end up having to do many cycles, partially because not all chars are on at once, and partially because the /who doesn't get everyone, for example if you do /who ab or /who [zone] or /who [level], you might get more than 50 results, and even if you /who [zone] [level] you might still get more than 50 results.