More Official Updates on the Diablo 3 Duping and AH Issues

Blizzard has added a few more updates to the official thread that holds all of our virtual lives hanging in the balance.

5/8/13 4:15 p.m. PDT: In order to allow auctions posted yesterday to expire naturally, we’ve decided to keep the gold and real-money Auction House in maintenance mode until tomorrow morning. We’re currently targeting 10:00 a.m. PDT, but will provide an update for everyone at 9:00 a.m. PDT. At that point, we’ll be able to give a much more solid ETA as to when the service will be up and running.

Gold trades are still disabled for the time being. Once we have an ETA for those being re-activated, we’ll provide another update in this thread, as well.

5/8/13 11:30 a.m. PDT: We’re still in the process of auditing Auction House and gold trade transactions. We realize this is an inconvenience for many of our players, and we sincerely apologize for the interruption of the service. We hope to have everything back up as soon as possible. We don’t currently have an ETA for when the Auction House will be brought out of maintenance or gold trades will be reactivated, but we’ll continue to provide updates in this thread as they become available.

5/8/13 12:30 a.m. PDT: We’ve confirmed that we’ve fixed the bug which allowed players to duplicate gold; however, we will be keeping the gold and real-money Auction Houses offline in the Americas until further notice (gold trades will also remain suspended). We’ll be using this downtime to perform audits on all transactions conducted through the Auction House as well as trades in which gold was exchanged since 1.0.8 launched. We anticipate this process will take multiple hours to complete and will provide another update by 12:00 p.m. PDT.

Earlier Blue posts in this thread can be seen here.

So they’ve disabled all gold trading and AH transactions until they finish the audit and refresh/reset/rollback/smite as much as possible of the illicit gold. Obviously no one is happy about this whole thing, but it seems to me that they’re handling the aftermath about as well as can be expected. We didn’t get rolled back, we’re able to play while they’re fixing the problem, and they’re going after the individuals who exploited, rather than hurting us all.

The big question, of course, is if they’ll “get” enough of the duped gold to keep the economy from a huge hit of deflation. And it’s going to be hard to tell, since v1.08 also ushered in a (potential) 10x devaluation of gold value, with the RMAH changing from 1 million to 10 million for the base gold transaction. I don’t know if there’s so much surplus gold in circulation that the RMAH gold price will instantly drop from 1m = $.25 to 10m = .25, but if it drops that far, or even just down to say, 5m = $.25, it’s going to instantly cause huge increases in gold prices for all softcore auctions. And I’m sure many people will blame gold duping for that.

Happily, we’ve got other ways to compare/check. There’s no RMAH for hardcore, so we can see how that economy shifts once the GAH is back online, and the v1.08 gold duping bug didn’t exist at all on Europe, so any big shifts in gold value there will be purely due to the 1m to 10m change on RMAH gold sale quantities/prices.

Update: A fan posted a reasonable explanation for how/why the gold duping bug worked. It was only possible when listing gold sales on the RMAH vastly in excess of the amount the game actually processed, due to a bug, and did not exist in the PTR version (no RMAH there), and it was a last minute patch change related to the 1m > 10m gold sale limit. Click through for the quote:

Comment by TyroPro:

The gold “dupe” involved creating a RMAH auction for billions of gold while staying under the $250 limit. The example I saw in a video was 6 billion gold (600 x 10,000,000 at $0.39 per stack, for $234). 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:

    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.

    How could something this basic make it to live? I think it was coded at the last minute and not really tested. The final patch was version, while the last PTR notes were for That last PTR version, from April 23, had no mention of changing the gold stack size on the RMAH from 1mil to 10mil. The final version two weeks later on May 7 had the change.

    Sometime in the last two weeks they made changes to the gold selling code. As far as I can tell the change never made it to the PTR, and selling over 2.1 billion gold was never tested internally (it should have been!), so it shipped with the 1.08 patch. Since the RMAH was originally coded to only sell stacks of 100,000 gold, there was probably some old Int32 code left written when the idea of buying and selling billions of gold in one transaction was unfathomable.

    From such minor errors do empires crumble…

    Related to this article
    You're not logged in. Register or login to post a comment.

    28 thoughts on “More Official Updates on the Diablo 3 Duping and AH Issues

    1. Players should be crafting, imbueing, gambling, re-rolling, socketing and upgrading their way to demon slaying stardom. That’s the true essence of a diablo game, not an auction house simulator.

      Drops and the AH should only be 2 ways to get gear, the game should give players options beyond that like Diablo 2 did.

      No auction house should even be required gold or RMAH, softcore or hardcore.

      The sooner this is fixed the sooner D3 comes back to life.

      • D2 had an RMAH, the same place that was explaining and showing off the current gold dupe. Taking out D3’s AH would just give those scum even MORE power over the in game economy all over again.

        That being said, you’re right that there really needs to be a lot more ways to get gear other than drops and trades. The crafting is abysmal. Really, really bad. Quest rewards should be a lot better, and quests themselves should be a lot better, as well. Also, stop buffing Legendaries, and start making rares better. Give random rares the chance of rolling set bonuses, weird set bonuses that aren’t pure stats. Give rares weirder affixes. If I wanted to look for set-tier-fixed stat stuff, I’d still play WoW.

      • All they had to do was give us the OPTION of joining a hardcore ladder server with no AH and boosted drop rates. Well that and think up more creative items. Nope… they know what fun is and apparently that doesn’t fit into their narrow definition.

          • I wish this were true.

            Sadly the self found drop rates are nerfed due to the presence of the RMAH otherwise I’d agree with the “just don’t use it and you’ll be fine crowd”. You might be able to assemble an average character but never something that would come close to competing with the top tier players who do use it.

            Of course “fun” is all relative as some people would be perfectly content to farm Act III for months and months and months never completing their set much less adding other BiS gear to the mix that the end game content (if you can call it that) was designed for.

            Honestly though… If the end game content and items were actually more fun to do repetitively I might fall into that crowd. You might think they are so to each his own.

    2. No rollback = No fixing this.
      It is nearly impossible, with a highly driven and VAST staff focusing soley on this issue, to even trace all the people using this exploit and the places the gold went. Let’s not forget RMAH was also used in the process of all this so even tracing everything there is a lot that cannot be done legally to remove the gold.

      Let’s not imagine we all live in candyland where blizzard is a capable, quick and effecient company able to take care of this issue without a roll back. They aren’t. There is no way that a dev team, that has been downsized even more mind you, that failed to fix a bug back at release allowing players to skip content in inferno is even capable of taking care of this mess. For how screwed up the d3 economy already is it just got destroyed for the America server.

      So what now? Give us a ladder season already. Also this is a great time to just scrap the whole damage/stat system and give us a real itemization patch. Pretty please blizzard! We hear you talk about being committed to fixing d3. Here ya go.

    3. The data is likely stored as an unsigned int (2^32 maximum) rather than a signed int (2^31 max). After all, there would be no reason to have negative gold.

      • Ahh, young padawan. One reason to store things that may usually only be positive in a signed integer is if you want to compare (subtract) two things.

        Eg: 100 – 50 = 50. Easy peasey. What about 50 – 100 = -50. Good so far.

        If you were using signed integers, 50 – 100 = 4,294,967,245, uh oh!

        • That should say “If you were using unsigned integers”.

          Really need an edit function on these comments.

        • If A<B return false. They didn't set a negative gold,. but eh,. they fucked up big either way.

        • Well costs probably shouldn’t be negative. More importantly, though, an unsigned int sounds like the source of the display bug because when you store 6 billion in an unsigned int, it overflows to the ~1.7 billion in question. That said, if the display bug is related to the dupe, it’s probably only in the superficial ‘terrible handling of big numbers’ way. Like maybe they were improperly handling the overflow (once in chat by not handling it, once in the refund code by left shifting by 1 too much). But it could just as easily be something completely unrelated.

          • Should say ‘once in display by not handling it’… not sure why I wrote ‘chat’ O_O

      • Because Diablo 3 is compiled into a 32-bit executable? Because they thought (2^31) – 1 was enough to store gold?

      • Because 64-bit applications can still use 32-bit integers? Just like 32-bit applications can still use 8-bit and 16-bit integers?

        Of course, 32-bit applications can also use 64-bit integers, they’re just quite a bit slower. And 128-bit. And any number of bits, but generally they won’t be types native to the programming language or the hardware, so will be slower than native types.

    4. I wonder if this whole thing has been fabricated by Blizzard to save face. It would give them an “out” without admitting the AH was a mistake.

    5. Is ETA the new ‘soon’? Blizzard turned the word soon into a joke so they changed to ETA…

    6. I say it doesn’t matter. Say Blizzard somehow manages to remove all the gold, all of it from the game. Including all of it that came from random people listing junk at the AH cap and having some guy buy it for the lulz. They completely fix and reverse 100% of the damage, even if the gold was already spent (AH purchases, crafting, etc).

      Currency value is based on confidence. Guess what people aren’t confident in anymore?

      And then consider gold value was already close to the new floor before said new floor was introduced. And that it will be another few months before they lower it again (at which point it will probably lol stack overflow again). Yeah… Seriously, who coded the damn “secure” AH?

    7. Haha I duped 470 000 000 mil + change. split it between characters and 2 accounts, Got a legit account and moved all of the best gear.

      My wealth is safe.

      Thank you Bliiztard.

    8. From yesterday’s blue post: “Auction House in maintenance mode until tomorrow morning. We’re currently targeting 10:00 a.m. PDT, but will provide an update for everyone at 9:00 a.m. PDT”

      Looks like they missed both of those deadlines, too.

    9. You can see that this game is done for, when something like this happens and nobody really gives a shit.

    10. 5/9/13 12:10 p.m. PDT: Still down, seems as though they need at least another 24 hours

    Comments are closed.