ARK: Survival Ascended

ARK: Survival Ascended

Statistiken ansehen:
Manuel 31. Okt. 2023 um 5:10
2
3
Dedicated Server on Linux via Docker
Hey everyone,

I just built a docker image that allows you to run an ARK: Survival Ascended dedicated server on a Linux VPS in the Cloud.

In case you are a Linux administrator and want to run your own server without going through setting up Wine or Proton, feel free to pull my docker image and have a look at the README of my GitHub repository:

https://github.com/mschnitzer/ark-survival-ascended-linux-container-image

If you need help, feel free to create an issue on GitHub or ask here.
< >
Beiträge 121135 von 209
Ursprünglich geschrieben von Manuel:
I need the output of the `date` command that you run on your host (not inside of the container). I assume your host is having the right timezone set?

Tue Nov 7 05:26:12 PM EST 2023

as requested, results from running 'data' on my host machine
Ursprünglich geschrieben von Manuel:
If you run `docker exec -t asa-server-1 date` how much time difference is there between the container and your local time and what timezone are you living in?

You could potentially run into this issue:
https://github.com/mschnitzer/ark-survival-ascended-linux-container-image#rumor-not-100-confirmed-server-too-far-awayin-a-different-timezone
Btw for my experience with being unable to connect its become very clear to me that the time zone didn't matter, its entirely my ancient router doesn't support NAT hair pinning for UDP.
Ursprünglich geschrieben von Cain532:
I can create the server and then see said server on ASA but I cannot connect (Connection Timed Out)

I have forwarded all required ports, passed them through firewall-cmd and I have even attempted disabling the firewall on both the host (linux) machine and client (windows 10) machine, still no joy.

Like it waits about 30 seconds and then spits out "Connection Timed Out", or does it almost immediately blurt out a long string that starts with "UNETConnection::Tick..."?

a delayed "Connection Timed Out" is genuine lack of being able to speak and for me it was my failing to properly enable port forwarding on my Router for UDP for the 7777 port to the host's internal IP.

That fast fail about UNETConnection is a mix of potential problems, for me its my router's lack of being able to correct redirect UDP traffic back into the network if its fired from within the network at the WAN IP that then tries to direct it back at my host via the port forwarding rules.

You can try running a Tcpdump on your host and then try to connect to the server through the ark client server browser, if you don't see any UDP attempts hitting it then you need to double check your router's port forwarding.

In the end due to my router and how we don't care about non-local people connecting I just opted to use the console 'open IP:Port' to reach the server until I replace my router at some point.
Manuel 7. Nov. 2023 um 16:24 
What you could also do before you do further investigations, try to add -NoBattlEye after -WinLiveMaxPlayers as start parameter and test joining again. IIRC, I read somewhere that this was solving it for another user as well.
Ursprünglich geschrieben von Manuel:
What you could also do before you do further investigations, try to add -NoBattlEye after -WinLiveMaxPlayers as start parameter and test joining again. IIRC, I read somewhere that this was solving it for another user as well.
I tried adding -NoBattlEye to the startup, but I think it was the wrong startup file? I edited docker-compose.yml because I didn't know where else the edit should go. All the same, after editing docker-compose.yml and adding -NoBattlEye, still had the same issue. I can only join via direct IP.

I'm going to try adding -NoBattlEye to the GameUserSettings.ini next
-NoBattlEye has to be added to ASA_START_PARAMS and then the server needs to be restarted using `docker-compose up -d`. Adding -NoBattlEye to GameUserSettings.ini has no effect. Did you try it like I suggested?
Ursprünglich geschrieben von Manuel:
-NoBattlEye has to be added to ASA_START_PARAMS and then the server needs to be restarted using `docker-compose up -d`. Adding -NoBattlEye to GameUserSettings.ini has no effect. Did you try it like I suggested?

I didn't realize I had to re-initialize it with docker-compose up -d, I will try that now.
Manuel 8. Nov. 2023 um 11:22 
Yes, every change to the docker-compose.yml file requires you to run `docker-compose up -d` or a similar command that restarts the server through the docker-compose interface. Regular docker commands won't notice these changes as docker and docker-compose is independent from each other.
Ursprünglich geschrieben von Manuel:
Yes, every change to the docker-compose.yml file requires you to run `docker-compose up -d` or a similar command that restarts the server through the docker-compose interface. Regular docker commands won't notice these changes as docker and docker-compose is independent from each other.

Understood, and thank you. I managed to get it running with the -NoBattlEye enabled and confirmed. I was unable to join the session directly (Connection Timed out) but I was able to join via direct IP.

TLDR, nothing changed.
Manuel 8. Nov. 2023 um 12:00 
When connecting through the console, are you using your remote ip address to connect or the one from your local network? You can check what remote IP you have on this site: https://icanhazip.com/

Just let me know whether this is the IP you are using to connect or whether it's your local one.
Ursprünglich geschrieben von Manuel:
When connecting through the console, are you using your remote ip address to connect or the one from your local network? You can check what remote IP you have on this site: https://icanhazip.com/

Just let me know whether this is the IP you are using to connect or whether it's your local one.
I'm using the local IP address, not my external to connect.
Manuel 8. Nov. 2023 um 12:20 
OK, so I'm pretty sure we are closer to the issue. I assume that when the server announces itself to Wildcards masterservers, it will try to connect to your server through your external IP. It might be that your router is not allowing direct connections from your home network through the external IP. Does it at least work for friends? If not, did you also forward ports?
ok -mods=modid jacks the startup completely. and then crashes. there is no [ServerSettings] in the inifile. and when i remove it. it has [ServerSettings] in the ini file. and getting kinda agitated with docker since if we change the command line it just wipes out the server that was there and does a new one.
Manuel 12. Nov. 2023 um 22:00 
I'm not really sure if I can follow you. Your server is getting wiped? When docker-compose recreates the container due to adjustments in in ASA_START_PARAMS, this does not touch the volumes at all, they remain there even if the container is recreated. This is how docker and docker-compose designed to operate, volumes must stay there, even if containers get deleted.

You can verify that by going to that path where the volumes are stored. It should be: /var/lib/docker/volumes/ark-asa-server-deployment_server-files-1/_data

It sounds more like the server wasn't installed properly for some reason. Did you try to spin it up for the first time in its vanilla state, then shut it down and add the mods back again?

You can do a clean install by removing the volumes (careful, this deletes your server files + saved arks right away):

docker volume rm ark-survival-ascended-container_server-files-1
docker volume rm ark-survival-ascended-container_steamcmd-1
docker volume rm ark-survival-ascended-container_steam-1

And then run `docker-compose up -d` again. You might need to stop and delete the container though: `docker stop asa-server-1` and `docker-compose rm asa-server-1`.
crckdns 13. Nov. 2023 um 15:58 
I like the idea and how far you've brought it!
I have some points/questions:
Why are you using iptables, when iptables is basically dead?
The installed iptables is just a wrapper/redirector for nftables and there shouldn't be even a need for persistency solutions :)

2nd: why are you installing it in /var/lib/docker/? Isn't it possible to define a specific path (for example on a SSD/NVME mount) ..where even root rights aren't needed?

3rd: is the natting really the only solution for multiple physical IPs? Is there no "simple" way, as it was with ASE, just to bind the IP address within the command line?
< >
Beiträge 121135 von 209
Pro Seite: 1530 50