News

How A Loophole And Giant Numbers Broke Diablo III's Economy

We told you yesterday of an exploit users had found in Diablo III that let them “dupe” gold, a serious flaw in the game’s economy which forced Blizzard to shut down the game’s auction houses.

But just how did this exploit work? Redditor TyroPyro has a good explanation:

The gold “dupe” involved creating a RMAH auction for billions of gold while staying under the $US250 limit. The example I saw in a video was 6 billion gold (600 x 10,000,000 at $US0.39 per stack, for $US234). When they posted this auction only ~1.7 billion appeared to be for sale, with the rest “missing” until they sent it to their stash and ended up with more than they started with. The exact numbers from a duping video:

Create RMAH auction for: 6,000,000,000 gold

Auction shows up as: 1,705,032,704 gold

This much is missing! 4,294,967,296 gold

The missing amount, divided by 2: 2,147,483,648 gold

2,147,483,648 (or 231) is the maximum value you can store in an int32 in programming. I’m no programmer, but I took one class in high school and was taught about the limits of different variable types. See:http://stackoverflow.com/questions/9459…

Simply put, their RMAH gold selling code wasn’t written to handle numbers over 2,147,483,648 properly, and the result was duplicate gold being added to people’s stashes.

Slightly complicated, maybe, but there you go.

Some speculation on how the gold bug made it to live [Reddit, via Gamasutra]