Hi there,

I’m hosting a dedicated server for satisfactory on my homeserver. It has 16 GB of ram which are 30% used WITH the game running and 4 cores which are barely touching 15% usage, also with the game running.

I checked my connection and it is fairly stable, both on lan and wifi otherwise. I switched to lan so I could debug the connection but it seems like a different problem then wifi.

The server is running in a container from this repo: https://github.com/wolveix/satisfactory-server.

My guess would be that I maybe have accidentally limited the server in terms of ram or cpu usage. Will check.

Let me know if anyone else has this issue. Have a good one. :)

  • Scrubbles
    link
    fedilink
    English
    11
    edit-2
    2 months ago

    Okay so, first you should post on [email protected].

    That being said, congrats your factory has officially grown to a large state. 4 cores will NOT be enough to run this game. If you look at htop or something you can see full cpu usage, I’m guessing you’ll see one core pinned at 100%

    To understand how the server works, it chunks the entire game map and then shards that across available cores. So your 4 core server each core is handling a quarter of the map. That’s a lot of factory on one core kemosabe. My server is a 24 core beast with still very high single core rates. You can feel when you’re working on another core that has less load when you walk into a new area and your frame rate jumps.

    My group has had several iterations of our server, from being on shared resources, to a 48 core thread ripper (plenty of cores but single clock speed wasn’t enough), to finally we bought a 5950x for our Update 8 factory - and even then you’re still going to notice some rubber banding when you get to late game/factory spans across the entire map big.

    Now, thinking about it too, is this happening at intervals? If so, that’s your saves happening. As your saves get larger the auto save will take longer, and that means longer time the client doesn’t talk to the server, so it rubber bands your last known server positions. If it takes too long the client will disconnect. To fix this just update how long it is allowed before timing out, that’s on the dedicated server wiki. We usually call out when a save is about to happen and take it as a break to stand up, stretch, and get more coffee.

    Beyond getting more cores and a higher single core clock speed, the other massive thing that will help is spreading your factory out. Allowing your factory to take advantage of multiple chunks and multiple cores will have a noticeable impact. Make very liberal use of trains, my last factory had over 60 rail lines and 100 trains running around. It’s a lot easier to manage a train car with 10,000 items stored as an integer than hundreds of miles of interconnected belts that it constantly has to shift around on.

    I’ll have more info later, should probably write a wiki, but those few changes will have a noticeable impact.

    Source, I’ve ran a dedicated satisfactory server for about 4 years now, on bare iron, docker, and in kubernetes. Helped many others set up their servers too

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

      Now this is the niche content that makes Lemmy great. I’ve never really dabbled in multiplayer a lot as even though I have hundreds of hours, I never actually finished the whole thing, opting to start over every time I picked it back up.

      Just wanted to thank you for your post, it was fun to read

    • LiveLM
      link
      fedilink
      English
      2
      edit-2
      2 months ago

      Damn, you’re doing that profile picture justice!

    • hauiOP
      link
      fedilink
      English
      22 months ago

      What happens is that I get rubberbanding (I go somewhere, build something, get set back like 30 seconds and my stuff is not built), loosing my connection like once every two hours or something. My wife plays with me and has similar issues.

      The logs sometimes show „tick took longer than anticipated“ or something, which would indicate a performance issue but since the cpu and the ram arent even used properly, I assume it might be limited somehow.

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

        Sounds like your connection to the server is dropping. I’d investigate it from a network perspective.

        • hauiOP
          link
          fedilink
          English
          22 months ago

          Hmmm… that makes sense. I‘ll check. Thank you for the suggestion.

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

        Generally tick length messages are purely due to CPU limitations.

        What hardware is this running on?

        • hauiOP
          link
          fedilink
          English
          12 months ago

          Xeon 4 core, 4 threads, 16 G DDR4 ram, onboard graphics.

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

            Do you know what CPU model it is? Xeon with 4 threads can range from something so old it can barely run most modern software, to a fairly recent CPU that’s much faster.

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

                That’s on the slower end, but I’ve run a satisfactory server on similar hardware before without too many issues.

                Is the storage SSD based?

                Do you have all 4 cores/threads allocated to the server?

                What about all 16GB of RAM? Satisfactory needs a good amount.

                • hauiOP
                  link
                  fedilink
                  English
                  12 months ago

                  I’m monitoring the cpu and ram and so far the server isnt utilizing it except short bursts which dont max out anything. i’ll try and optimize the network first and then go for performance. i suppose its a multi stage issue by now. will update on the matter.