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@poptalk.scrubbles.tech
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    1 month 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

    • Donut
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 month 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