Comment

Comment by nojs

Haha, Runescape story time. I made a sizeable sum of GP in the early RS2 days by writing a bot that automatically bought items from underpriced general stores. To find the store operator NPC, the script would move the mouse randomly over the game window and detect the yellow text in the top left. I wrote a cool function to count the number of letters in the text, as a kind of rudimentary OCR. This defeated a lot of the randomisation that Jagex applied to stop bots, since the text was always in the same place, a consistent colour, etc whereas everything else was pretty well randomised.

From there, it could "read" enough to find the right places to click to buy things. The bot basically world hopped constantly, 24 hours a day, and bought cheap items until the general store was depleted. I'd then sell them in bulk for several times more. I never got hit with random events (in-game captchas), because I never stayed logged in for more than a minute or so. I was also not hit by any of the big banning waves, since I didn't rely on reflection in Java or use any of the popular "frameworks" for macroing.

Joke's on me though, because that game consumed several years of my life and I spent a lot of money buying several years worth of "members".

Later on there was also a gambling culture of "dicing" where you'd join an IRC channel, type a command to a bot like '/roll', and get paid in-game if the 'dice roll' came out in a certain way. I took an educated guess that the channel operators were running bots with mIRC, and reverse engineered the random number generator in the mIRC client (which was fun, because it was written in C++). Turns out it was a linear congruential generator which was in principle brute forceable given a few consecutive rolls. I wrote some OpenCL code for my GPU in the very early days when "GPGPU" was a new idea, but was never able to get it fully working because mIRC used 64-bit floating point arithmetic and the least significant digits were relevant to the outcome of the RNG, and my GPU was only 32 bit.

Link to my SE question at the time: https://crypto.stackexchange.com/questions/2086/predicting-v...

parent nojs 3 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton