• raptir@lemdro.id
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    1
    ·
    8 months ago

    Diablo 1 had a duplication bug through its final release and no one was ever “actioned” for exploiting it. Let people have fun with the game FFS.

    • Atomic@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      13
      ·
      8 months ago

      Their entire business model here is to maintain the whales who play at the top 1% level of Great Rifts that spend the most time in the game.

      When that’s your business model, you can’t let players get too strong without having to spend a lot of time in the game. Because getting strong is the goal, so the more time you spend, the more invested you get, the more likely you are buying these extra things.

      They need to feel stronger than others. So they can justify the time spent. But when everyone can be superman. Well, then no one is superman.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      edit-2
      8 months ago

      I’m kind of surprised that, given the history of the series, they didn’t make it a point to have atomic transactions.

      I mean, it’s not as if it’s an unsolved problem.

      EDIT: Not to mention that I’d have kind of thought that games like this would have a UUID attached to each generated item, to help deal with scammers and the like.

      • PenguinTD@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        8 months ago

        I think they have but the exploit probably also generated a new uuid. (I have no idea how they implemented but I believe they can track down all the items. )

        • tal@lemmy.today
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          edit-2
          8 months ago

          I mean, it sounds like this involved trading.

          There should be two types of interactions involving an item.

          First, when the item is initially-created, like at drop time, maybe loot boxes, that sort of thing. That should create a UUID, if the game uses them.

          Second, when an existing item is transferred. But the transfer code shouldn’t involve creating new UUIDs. And the trading code should only be doing item transfers.

          And any code transferring an item should be happening only on the server side, and should be atomic.

          I could maybe understand someone figuring out some way to get an item to be generated twice, like at drop time.

          But duping items when trading means that either probably code authoritative as to world state that shouldn’t be on the client is running on the client, or code that should be atomic isn’t. And for the latter case, I wouldn’t expect the item transfer code to be able to generate new item UUIDs, because it should be running transfer code, not item generation code.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      7
      ·
      edit-2
      8 months ago

      Let people have fun with the game FFS.

      Mmmm. It’s fine for single-player games to provide absolute freedom, but can really ruin multiplayer games, particularly competitive multiplayer games.

      I only played Diablo briefly. Way back when it was released, late 1990s, they put out a demo. I tried it. Played a bit single-player. Felt kind of grindy and repetitive, lot of clicking on things to kill them. But some party-based games require people working in coordination to be interesting. Figured “well, maybe I can go play with some people”, see if it’s more fun with a team working together.

      Logged into a demo server, and as I recall, one couldn’t use single-player characters on servers (which makes sense, if the multiplayer characters need to run in a secure environment). I was not really enthusiastic about the idea of having to grind up a new character to where my other one had been. I doubted it’d work, but decided I’d try memory-editing my gold. Unexpectedly, it did – the server just trusted the client as to quantity of items when they were moved around in the inventory. Huh.

      So I filled up every possible slot in my character with the maximum amount of gold possible and went off hunting for a shopkeeper. Some other player on the demo server kept calling for other players to come meet him at some location for various reasons. That sounded sketchy, so I avoided that. It turns out that there were some clever hacks out that would apparently let characters both be invisible to other characters and do enormous damage. Eventually, that character managed to find me, gave me a whack that killed me in one hit, and the screen exploded into an essentially entirely gold-floored mass. That player, probably a little incredulous, walked around a little, then started trying to pick up gold.

      It wasn’t as if I’d lost anything that couldn’t be promptly remade, but I decided that given the state of the game, given the frequency with which the game’s rules were being broken – both by me and others – this probably wasn’t the game for me. Last time I’ve played the series.

      I agree with not limiting a single-player environment, but you can’t let one character do whatever they want in a multiplayer environment without affecting the experience of other players in the game.

    • Moneo@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      4
      ·
      8 months ago

      Fuck Blizzard but do they not have an in game economy to maintain? You wouldn’t tell Valve not to patch CS dupe exploits.

      • probablyaCat@kbin.social
        link
        fedilink
        arrow-up
        4
        ·
        8 months ago

        Does this game have pvp? I haven’t played any diablo. But if this is just PvE and people can easily remove someone from a group, then I fail to see this as anything other than them milking IAPs. If it has PvP or something then i can understand.

  • 1984@lemmy.today
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    8 months ago

    PC Gamer is like “we will let you know when this is fixed”… Since when are they the middle man? Blizzard will tell players when this is fixed. PC Gamer is not even needed in the conversation. :)

  • bastion@feddit.nl
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    17
    ·
    8 months ago

    Game tradeables are a great case for block chain, even of it’s just some in-house one. No creating of new tradable items except by some offline key. Otherwise, the store only deals in pre-printed items. Plus, there’s a history for everything.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      12
      ·
      edit-2
      8 months ago

      Unless you specifically don’t trust Blizzard not to intentionally create items on their servers, that shouldn’t be be necessary. Blockchain is just a costly way to be able to do transactions in a distributed environment. But you don’t need distributed operation. You just need correct transaction code.

      I mean, if Blizzard has broken code for transactions in a centralized environment, it’s not as if they’re more-likely to have correct code in a distributed environment. If anything, the other way around, as distributed systems are harder to make correct.

      • bastion@feddit.nl
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        3
        ·
        edit-2
        8 months ago

        Blockchain is a means of tracking information, typically virtual balances, usually with full history - but it varies in its level of decentralization.

        While one of the big uses of blockchain is distributed trustless consensus, that is by far not the only use. It’s also great for inventory tracking - virtual or otherwise. Decentralization is just a kind-of bonus for redundancy, in such a case.

        Systems already exist for blockchains - fast ones, too. They can use existing open-source code.

        What benefit it provides is that only official Blizzard tokens are on the chain - each one signed (in batches, of course) offline by Blizzard in an official ‘printing’.

        Someone discovers an exploit that gives them more tokens? The answer is ‘from where, and who signed them?’

        Now, this doesn’t prevent someone who has a hacked system from getting screwed and losing all their items. But it does prevent magic item gain just because you fiddled with the interface in a certain way, and a counter went up.

        It also means that, if you did somehow find a way to steal, the history of that is there, and the transactioms can be reversed.