• @ImplyingImplications
    link
    English
    93 months ago

    It really sucks that Helldivers 2 is having an issue over too many connections. I know the devs are saying this is complicated, and it is, but they’re not the only company that is serving a huge amount of users. This game has several questionable design decisions and this is just one of them. I hope it can be fixed because I was really looking forward to playing

    • @[email protected]
      link
      fedilink
      English
      153 months ago

      Designing for a huge amount of users costs money and expertise, so more money, and not even their most optimistic predictions included this many players. If they hadn’t made it big, that money would’ve been wasted. Which games are going to go viral is just insanely hard to predict.

      • @[email protected]
        link
        fedilink
        English
        2
        edit-2
        3 months ago

        I wonder what’s the scalability issue. I’ve never seen a system that can’t be fixed by throwing more horizontally scalable resources at it.

        • @[email protected]
          link
          fedilink
          English
          12
          edit-2
          3 months ago

          Given that when the servers are overloaded you don’t get rewards: They probably have a centralized database or some other centralization issue.

          You can add to a cluster all you want but if you’re using a SQL monolith you’ll get locks.

          If you only have 100k concurrent users you can probably get away with it.

          At 450k they’re running into gridlock

          • @[email protected]
            link
            fedilink
            English
            33 months ago

            Yeha, that’s what I can’t imagine. What part of their data architecture can’t be sharded?

            user accounts? sessions? cache keys? profiles? graphical assets?

            This isn’t a highly transactional bank with strong transactional guarantes.

            Would be pretty cool if they explained the issue after fixing it.

            • @[email protected]
              link
              fedilink
              English
              23 months ago

              I mean it’s not a bank in that it doesn’t have all the audit requirements etc but it’s sorta a bank in that it’s keeping track of transactions and state for every player every time a mission completes, which is a transaction that they really don’t want to go wrong.

              And at a guess that code is held together with spit and baling wire.

              Napkin math: That centralized transactional account updates every time there’s an end mission payout and with 400k concurrent players at 4 players per mission, say average 20 minute length (some missions 2 min some 40) that’s thousands of transactions per minute.

              Totally doable load for even a modest central server I’d think… Unless you’ve got optimization issues. Which I’d argue a central db that doesn’t shard out at scale is an optimization issue.

          • @[email protected]
            link
            fedilink
            English
            23 months ago

            Rare’s Sea of Thieves has/had similar issues. They run all their game instance servers on Azure (from some deep divers looking at IPs the game communicates with) and can spin up/down as many as needed to handle as many players as needed (from some change logs a year or two ago).

            That said, during times of especially high player counts like right after an update drops, there’s often issues when you initially launch the game and it tries to log you in. Gold payouts can also be delayed by a number of hours, but they’ve got some sort of queuing system in place so you don’t need to stay signed in until they show up. You can sign out and they can somehow apply while you aren’t playing.

      • Domi
        cake
        link
        fedilink
        English
        23 months ago

        I mean letting people play their coop game if their servers are having issues is free. The game itself is P2P anyway.