Devidian / docker-spaceengineers

A Docker for Space Engineers Dedicated Server
87 stars 21 forks source link

Multi-Core Support #10

Closed Treep3r closed 3 years ago

Treep3r commented 3 years ago

Now I know Space Engineers has never been great with multithreading, but they've improved a little and are able to use up to 4 cores (or more?). Recently I've run into some serious performance issues using this docker file on my server and as it turns out it uses only 2 threads, which sometimes are fully under load and cause game-breaking server lag (the server crashes sometimes too because of this). Is there any way to fix that? It's already a miracle to me that the server runs at all, but it would still be appreciated if it could run with at least less (or no) lag.

Treep3r commented 3 years ago

Alright, after a bit more of trial and error it seems to be wines performance that's killing the server (the same world runs fine on a similarly speced Windows machine). Not sure if much can be done about that... Why can't the devs just make a native linux server...

Devidian commented 3 years ago

That is a really good question. I also would like a native ds, or at least something not needing wine which really kills performance... like mono or so,... im not a wine expert at all so i dont know where it could be tweaked. But if you find any useful tweaks let me know!

Treep3r commented 3 years ago

Well, it seems like my SE instance is completely dead now. I did in fact manage to get the Simulation Speed go back up by deleting a lot of junk from the world, but now I'm facing an even weirder issue.

For whatever reason the server is not able to send data fast enough. image Whenever a player connects, the "network writer" starts filling up and never fully empties. I can only suspect that that's the problem, but it seems consistent and I did get a server crash at some point saying "Network Thread overload" (or something like that). This network lag makes the ping to the server go as high as 1000ms. Our server has 1Gb/s up and down, so I don't see how a couple of megabytes (at most) could be a problem. Other game servers run just fine. Even the ones running using wine too.

Now, I have no exact clue why this is happening, but it really started when we landed on the third planet in-game. There was however a slow build up to this, we noticed it when multiple players would connect. At first it was starting to lag with 3 people, then it already became unplayable with 2, and finally, once I solely set down our ship on the Alien Planet (after starting on Earthlike and landing on the Alien Planet moon), even though the lag didn't hit immediately, the game is now unplayable whenever a player connects to the server.

So far I could not be bothered to test this behavior with a new instance, but some time I might.

There's this wine warning/error on server startup, but I couldn't find any real help regarding this problem, and some people say it's normal for wine. image I tried reinstalling everything and using different versions of wine, but nothing seems to change anything.

At this point I'm just about ready to give up (at least on this instance/world). At least it was stable long enough to get about 50h of game time out of it, so that's nice.

Devidian commented 3 years ago

Did you use any mods? How many player in average played active on your server?

Treep3r commented 3 years ago

No mods, in the beginning we were 4 on average, but with degrading performance less and less until only I was playing.

Devidian commented 3 years ago

Hmm i've played on mine with just one friend but did not notice any slowdowns over time that much. We have plenty of mods installed, EWE, Stargate for example

Treep3r commented 3 years ago

I don't know what changed now, but I decided to just fire up the server today. And strangely enough the world/server ran completely fine. I don't know if any of the updates space engineers got over the past couple months changed anything regarding my issue, but it appears to be fixed.