mschnitzer / ark-survival-ascended-linux-container-image

A docker/podman container that is able to run an ARK: Survival Ascended on a Linux host.
85 stars 17 forks source link

Auto-Start after crash? #14

Closed Fatalityh closed 10 months ago

Fatalityh commented 11 months ago

Hi!

I was wondering if there is a config in the Docker to make it auto-start/restart after crashing? I have had to manually restart almost daily when I wake up cous it crashes in middle of the night. I'd love to automate that...

mschnitzer commented 11 months ago

Hi,

just put restart: always below image in docker-compose.yml. I actually wanted to include that in the compose file, but ended up forgetting it.

You need to run docker-compose up -d which restarts the container right away, so be careful if you are playing at the moment.

DarkVentHead commented 11 months ago

What OS are you running? How much RAM does the server have? Let's figure out why it's crashing.

Fatalityh commented 11 months ago

Hi,

just put restart: always below image in docker-compose.yml. I actually wanted to include that in the compose file, but ended up forgetting it.

You need to run docker-compose up -d which restarts the container right away, so be careful if you are playing at the moment.

Like this?

image

mschnitzer commented 11 months ago

Yes, that's correct.

Once nobody is playing on your server, run docker-compose up -d to get these changes applied to the container.

Fatalityh commented 11 months ago

why not without the "-d" ? When I just write without "-d" I get the server console up instead of it running in the background. 🤔

mschnitzer commented 11 months ago

btw. the ? after -WinLiveMaxPlayers=100 is not needed and could lead to potential errors.

why not without the "-d" ? When I just write without "-d" I get the server console up instead of it running in the background. 🤔

Usually you want to run your server daemonized (24/7). Omitting -d would require you to leave the window where the server is started open, otherwise it closes with your SSH connection. If you are not having an SSH connection and use VNC (or some other way to access your servers desktop), then you can omit the -d.

And you can bring the console/logs back anytime by using docker logs -f asa-server-1 anways.

Fatalityh commented 11 months ago

What OS are you running? How much RAM does the server have? Let's figure out why it's crashing.

Forgot to reply to his, I have a good VPS that is running the second server completely fine. But the main server when it crashes it says this in console: "CONEnabled=True: ../src-wine/dlls/ntdll/unix/virtual.c:1571: create_view: Assertion `!((UINT_PTR)base & page_mask)' failed."

VPS: i7 8700 128 gb ram 2x 1tb nvme ssd

mschnitzer commented 11 months ago

Hm, never seen that error before. What is CONEnabled=True ? Do you mean RCONEnabled=True ?

Fatalityh commented 11 months ago

Hm, never seen that error before. What is CONEnabled=True ? Do you mean RCONEnabled=True ?

Must have been. It's working fine now tho for the past 8-10+ hours.

DarkVentHead commented 11 months ago

What OS are you running?

DarkVentHead commented 11 months ago

Seems this is an issue between proton and wine on certain linux flavors.

Please put this in your docker-compose.yml:

environment:
  - PROTON_NO_FSYNC=1

I suspect fsync is not playing well with whatever flavor of linux you're operating on but it launching by default rather than esync. This will force esync to take over which doesn't have as much performance. But MUCH better stability!

Let us know if this gets you more overnight stability!

Fatalityh commented 11 months ago

I just got another crash:

esync: up and running. Failed to read /etc/machine-id, error Invalid argument. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely

What OS are you running?

Ubuntu 22 04

Fatalityh commented 11 months ago

Seems this is an issue between proton and wine on certain linux flavors.

Please put this in your docker-compose.yml:

environment:
  PROTON_NO_FSYNC=1

I suspect fsync is not playing well with whatever flavor of linux you're operating on but it launching by default rather than esync. This will force esync to take over which doesn't have as much performance. But MUCH better stability!

Let us know if this gets you more overnight stability!

Should I try this now?

Fatalityh commented 11 months ago

It crashed yet again 10 mins ago...

image

DarkVentHead commented 11 months ago

Hate to take a cop out here but have you checked stability WITHOUT all of the mods?

Fatalityh commented 11 months ago

Hate to take a cop out here but have you checked stability WITHOUT all of the mods?

So I removed A LOT of mods and it seemed stable... Until it crashed yet again around the same time like the other times it was stable. Good thing that the auto restart after crash works.

I don't know what is causing the random crash around 5 am my time... Player caused or server caused 🤔

Console log:

CONEnabled=True: ../src-wine/dlls/ntdll/unix/virtual.c:1571: create_view: Assertion `!((UINT_PTR)base & page_mask)' failed. root@Ubuntu-2204-jammy-amd64-base ~/Desktop/mschnitzer/asa-server #

image

Fatalityh commented 11 months ago

Basically my docker-compose.yml file:

image

Now it has like 1-2 more mods than my other server which as of yet has not crashed once since I started it (like 5 days ago). This is weird... 🤔 They are on the same VPS and the VPS has so much ram it can accomodate 2 more servers...

mschnitzer commented 11 months ago

If one server runs fine, but the other isn't then I'd assume it is caused by mods. On the server that is crashing, are there any additional mods the stable server doesn't have?

mschnitzer commented 10 months ago

@Fatalityh does it work now?

Fatalityh commented 10 months ago

@Fatalityh does it work now?

It still crashes, sometimes twice in a day. Even with reduced mods, changing mods etc... My other servers on same VPS still to this day have not crashed even once. Very weird...

Server stats right now:

image

mschnitzer commented 10 months ago

Yea I mean as I said, mods are out since ~2.5 weeks now, so I expect some bugs to be present in those. This is also the reason why I decided not to put mods on my server yet, as I fear they are too unstable, as everybody tries to be the first one on the market to share their mods, which I do understand, but server admins need to be careful though.

You have the direct comparison to your other server, which seem to run stable up until now. I have the same experience with my server, no crash since day one, but it also does not use any mods yet.

I do not want to move the issue from the table, but in this case, there's no indication that the issue is caused by the container image, especially because you run another server on the same hardware just fine and your hardware does not seem to be incapable of running multiple servers in parallel.

Is your second server using any mods?

So as I suggested, I would try going vanilla completely with your current save game, but I doubt this is even possible at this stage if you and your players have some decent progress already. Removing these mods could potentially cause the added dinos and/or added items/resources to be wiped once the mods have been removed.

I hope you understand where I'm coming from.

Fatalityh commented 10 months ago

I have 3 other servers running perfectly fine with mods. The first one just doesn't seem to handle it well. Maybe because of too many bases in the game or something else. No clue why, but oh well. Was there a fix with the thing regarding PROTON_NO_FSYNC thing? or does that not make any difference?

mschnitzer commented 10 months ago

I cannot tell you whether PROTON_NO_FSYNC=1 would solve the problem. You can try it out as DarkVentHead suggested. However, there's a - missing in his example, which needs to be placed in front of PROTON_NO_FSYNC.

DarkVentHead commented 10 months ago

there's a - missing in his example, which needs to be placed in front of PROTON_NO_FSYNC.

Good catch @mschnitzer. Apologies!

mschnitzer commented 10 months ago

@Fatalityh any update on this?

Fatalityh commented 10 months ago

@Fatalityh any update on this?

For now it hasn't crashed. I don't know if it's because WildCard has stabilized their server files through updates or because I am not getting as much players as I used to during early days of ARK: SA launch. For now it has not crashed in awhile. I do have daily restarts setup in crontab too for all my servers which makes my life easy :) Love automating stuff 👍 Good stuff and thanks for your help as well as this awesome Docker Container for ARK: SA Servers 👍

mschnitzer commented 10 months ago

Alright, I assume we can close this issue then?

As for the daily restart: This is what I'd also suggest, I'm doing this in addition with a daily wild dino wild for my server as well. I explained how this can be achieved in this section of the README.