wolveix / satisfactory-server

A Dockerized version of the Satisfactory dedicated server
https://hub.docker.com/r/wolveix/satisfactory-server
MIT License
1.41k stars 155 forks source link

Server RAM Usage and Client Connection Timeout #143

Closed IMarkoMC closed 1 year ago

IMarkoMC commented 2 years ago

Describe the Bug When i try joining the game, the server ram jumps from ~2GB to ~7GB (It used less than 5gb earlier) The server gives a lot of errors like

[2022.09.20-23.25.55:491][784]LogNavigationDirtyArea: Warning: Skipping dirty area creation because of empty bounds (object: FoliageInstancedStaticMeshComponent /Game/FactoryGame/Map/GameLevel01/Tile_X5_Y1.Tile_X5_Y1:PersistentLevel.InstancedFoliageActor_0.FoliageInstancedStaticMeshComponent_283)

The client gives a timeout error while those errors are happening. image

Your Runtime Command or Docker Compose File Started it with the command provided in this repo to rule out some things

docker run -d --name=satisfactory-server -h satisfactory-server -e MAXPLAYERS=4 -e PGID=1000 -e PUID=1000 -e STEAMBETA=false -v /path/to/config:/config -p 7777:7777/udp -p 15000:15000/udp -p 15777:15777/udp wolveix/satisfactory-server:latest

System Specs (please complete the following information):

===== START ISSUE REPORT =====
OS:  Linux ubuntu 5.4.0-125-generic #141-Ubuntu SMP Wed Aug 10 13:42:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
CPU: Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
RAM: 10GB/11GB
HDD: 33GB/109GB (32% used)
===== END ISSUE REPORT =====

Additional Context Entire server log

Kadigan commented 2 years ago

@MattsBos that's interesting, I wonder when/why they changed that? The game server (update 4 & 5) needed half of that.

Not so. Update 5 required 6.5-7.6 GiB of RAM, so not quite half. This change happened with Update 6.

Also, EA Update 6 seems to require 8 GiB now (it required 10.5 when in EX).

Kadigan commented 2 years ago

It's doing the same with 32GB of ram (World not loading until you join, a lot of errors and the client ends up timeouting). You need to rejoin after that to play

I've tested some things, and I've been able to replicate your server's behaviour: the server will delay loading the save if the option "Pause the game when no players are connected" is enabled. With that option enabled, it will delay loading the world until it actually needs to (i.e. a player connects).

IMarkoMC commented 2 years ago

@wolveix feel free to lock this issue as it's not something that someone can fix. I'll wait and see what the game devs do, Sorry for wasting your time.

Thanks for the info @MattsBos

wolveix commented 2 years ago

I'm going to re-open this because people keep opening new issues. For anyone new that ends up here, this is a known bug with the game server. Please read through this issue, as well as #144. You can see the bug report here:

https://questions.satisfactorygame.com/post/632d2441ca608e080351fb69

Thanks :)

kAuFish commented 2 years ago

What should be at the end of my server log if it has loaded "correctly" and no player has joined yet. Getting a similar timeout issue but my logs never update.

IMarkoMC commented 2 years ago

What should be at the end of my server log if it has loaded "correctly" and no player has joined yet. Getting a similar timeout issue but my logs never update.

@kAuFish You can disable "Pause the game when no players are connected" and just let the game run 24/7 and it should work, or you can join once, wait until the console stops showing new lines and then join again, looking at the memory usage can also tell you when to join

kAuFish commented 2 years ago

@IMarkoMC Sorry for the late reply, but while that did initially help, after awhile trying to use the save my friends I had created eventually caused the same issue on starting the container. My guess is that the world we had eventually went over all 12GB of ram dedicated to it as the loading console messages just never seemed to end. I've given up on playing the game since.

silentnyte commented 2 years ago

So after a few weeks of playing and constantly fighting to get connected (sometimes it would take me over 30 mins) I decided to try running the dedicated server on another machine. Here is the crazy part the second machine a 10 year old Mac Mini with a slower mobile CPU and less RAM runs the server great. If I wait 1 minute to join the game, I connect every time. No fight. In both cases I am only running satisfactory on the machine, nothing else.

First server: Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz w/ 24Gb of RAM running TrueNAS Scale

Second server: Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz w/ 16Gb RAM running TrueNAS Scale