2009-06-10, 05:59 PM
MapleStory uses the VC++ implementation of C standard library rand. It initially seeds the generator with the tick count of your machine when you launch the client. The number of calls to rand() in the client greatly exceeds 1000. The call graph for rand() is extremely complicated. The client calls rand() constantly even when the client is doing nothing at all. They never call srand() again after that initial seeding.
Predicting it on the client side would literally be impossible for a human and it would take a very smart program or client modifications for an application. Predicting it on the server side isn't possible at all. The server mirrors the rand() stream of every single client somehow. I'm not quite sure how they do it, but I'm positive that they do.
At this point, I'm going to turn to pure speculation. The low order bit periods occur less frequently in the C standard library rand(), which is why success seems so rare sometimes. I have a reason to believe that server rand() is separated from client rand(), and I believe that server-sided calculations are seeded by player ID and that's why some players seem to have extraordinary "luck" while others have extraordinary levels of the opposite.
Lemme know if you're unclear about any of this.
Predicting it on the client side would literally be impossible for a human and it would take a very smart program or client modifications for an application. Predicting it on the server side isn't possible at all. The server mirrors the rand() stream of every single client somehow. I'm not quite sure how they do it, but I'm positive that they do.
At this point, I'm going to turn to pure speculation. The low order bit periods occur less frequently in the C standard library rand(), which is why success seems so rare sometimes. I have a reason to believe that server rand() is separated from client rand(), and I believe that server-sided calculations are seeded by player ID and that's why some players seem to have extraordinary "luck" while others have extraordinary levels of the opposite.
Lemme know if you're unclear about any of this.

