Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Server Request]: Ark: Survival Ascended #4350

Closed
2 tasks done
naoestu opened this issue Oct 23, 2023 · 48 comments
Closed
2 tasks done

[Server Request]: Ark: Survival Ascended #4350

naoestu opened this issue Oct 23, 2023 · 48 comments

Comments

@naoestu
Copy link

naoestu commented Oct 23, 2023

Game server

Ark: Survival Ascended

Linux support

  • Yes

Steam

Yes

Steam appid

Client: 2399830
Server: 2157740 or 2430930

Guides

Ark Survival Ascended is coming this week.
It will be perfect if you can add it to the list.

Code of Conduct

  • I agree to follow this project's Code of Conduct
@dgibbs64
Copy link
Member

Cant see an issue as long as the appid is provided. I cant see how to even buy the game currently

@naoestu
Copy link
Author

naoestu commented Oct 24, 2023

yeah, i already prepared it on my side, i'm just waiting for the release so i can add the appid,
test if it is ok and create a pull request (if needed).

@naoestu
Copy link
Author

naoestu commented Oct 25, 2023

Steam Store: https://store.steampowered.com/app/2399830/ARK_Survival_Ascended/
Client appid: 2399830
Dedicated server appid will be 2157740 or 2430930

@Claiyc
Copy link
Member

Claiyc commented Oct 26, 2023

yeah, i already prepared it on my side, i'm just waiting for the release so i can add the appid, test if it is ok and create a pull request (if needed).

2430930

@BrandtNick
Copy link

BrandtNick commented Oct 26, 2023

yeah, i already prepared it on my side, i'm just waiting for the release so i can add the appid, test if it is ok and create a pull request (if needed).

2430930

That appId is Windows only according to https://steamdb.info/app/2430930/info/

Edit: I installed it with steamcmd and it only seems to support Windows for now.

@dgibbs64
Copy link
Member

Also I want to confirm do we need a copy of the game client to run get the dedi server via steamcmd?

@Claiyc
Copy link
Member

Claiyc commented Oct 27, 2023

Also I want to confirm do we need a copy of the game client to run get the dedi server via steamcmd?

Yes, definitely. And that will also not change in the near future.

@dgibbs64
Copy link
Member

I am going to need to get a license sorted. I have 2 steam accounts, my personal one and the other for use with steamcmd. So I might need to buy the game twice 😢

@valentin-gosselin
Copy link

Oh really? Do we need to have two game licenses for this? Can't our first license work simultaneously for the server and for us playing?

@dgibbs64
Copy link
Member

You can use your personal steam account on your server. But I tend to recommend having a separate account just for your server. I have had my personal account for over 10 years probably with £1000's worth of games that I dont want to risk putting on my server

@Claiyc
Copy link
Member

Claiyc commented Oct 27, 2023

I am going to need to get a license sorted. I have 2 steam accounts, my personal one and the other for use with steamcmd. So I might need to buy the game twice 😢

Nitrado says, people with large communities can apply for a special license (I think you posted a screenshot of that yourself on dc). Don’t know if linuxgsm may be eligible for that…

@dgibbs64
Copy link
Member

dgibbs64 commented Oct 27, 2023

It talks about a community of 10,000 active members or a content creator with 10,000 followers. I don't think linuxgsm meets that requirement. The bar seems to be very high
image

@naoestu
Copy link
Author

naoestu commented Oct 28, 2023

Update: Now we can host how many servers as we want (not for commercial use) ;)
(no steam account needed)

@dgibbs64
Copy link
Member

Thats great news. I now need to start parameters to get going

@naoestu
Copy link
Author

naoestu commented Oct 28, 2023

Thats great news. I now need to start parameters to get going

Basically everything is like ASE, you only need to change the map name to "TheIsland_WP" and the server binary name ;)

@dgibbs64
Copy link
Member

Using binned.
4.5.1-0+UE4 7038 3077 404 10
LowLevelFatalError [File:F:\build\LostIsland\Engine\Source\Runtime\PakFile\Private\IPlatformFilePak.cpp] [Line: 330] 
Corrupted index in pak file (CRC mismatch).
Signal 11 caught.
EngineCrashHandler: Signal=11
/home/dgibbs/linuxgsm/arkserver/lgsm/modules/command_debug.sh: line 121: 786888 Aborted                 (core dumped) ./ShooterGameServer TheIsland_WP?AltSaveDirectoryName=TheIsland_WP?listen?MultiHome=0.0.0.0?MaxPlayers=70?QueryPort=27015?RCONPort=27020?Port=7777 -automanagedmods -crossplay -PublicIPForEpic=178.79.159.112

This is what I am getting from using the ase parameters

@naoestu
Copy link
Author

naoestu commented Oct 28, 2023

ASA is UE5, not UE4 :)

@naoestu
Copy link
Author

naoestu commented Oct 28, 2023

Also "ShooterGameServer" is now "ArkAscendedServer".

@Toaaa
Copy link

Toaaa commented Oct 28, 2023

So can you run an ARK: Survival Ascended dedicated server or not? Because according to SteamDB it is only available for Windows 🤔

@dgibbs64
Copy link
Member

Testing is still ongoing

@dgibbs64
Copy link
Member

dgibbs64 commented Oct 28, 2023

Sadly I have checked the server files and there are no Linux binarys yet. For now ASA is Windows only. I am assuming that this will change but for now we are waiting on the ARK developers to release them.

@dgibbs64
Copy link
Member

It's worth looking at WindowsGSM project

@cdp1337
Copy link

cdp1337 commented Oct 29, 2023

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)

ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh

My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

@Gragster
Copy link

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)

ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh

My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

I got it working on debian bookworm, you are the MAN! also love to LinuxGSM <3

@hydrixion
Copy link

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)

ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh

My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

Could you tell me how to find the port this in running on? it start as it should on my server but it seems that it doesnt use the standart ports

@cdp1337
Copy link

cdp1337 commented Oct 29, 2023

Could you tell me how to find the port this in running on? it start as it should on my server but it seems that it doesnt use the standart ports

The game server runs on UDP/7777 and RCON by default runs on TCP/27015. In my testing I've had difficulty getting the game port to actually change, don't know if it's hard coded or I just haven't found the right ini option...

If you've done sudo apt install net-tools, you should have netstat available to check ports.

sudo netstat -natvp -- show TCP ports and the processes listening.

sudo netstat -nauvp -- show UDP ports and the processes listening.

@hydrixion
Copy link

Could you tell me how to find the port this in running on? it start as it should on my server but it seems that it doesnt use the standart ports

The game server runs on UDP/7777 and RCON by default runs on TCP/27015. In my testing I've had difficulty getting the game port to actually change, don't know if it's hard coded or I just haven't found the right ini option...

If you've done sudo apt install net-tools, you should have netstat available to check ports.

sudo netstat -natvp -- show TCP ports and the processes listening.

sudo netstat -nauvp -- show UDP ports and the processes listening.

thx for the answer right after asking i found the ports and opened them funny enough that i cant find the server in steam favorites but in unofficial server section in ASA my server works now thx for your work man :)

@NickUfer
Copy link

NickUfer commented Oct 30, 2023

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)

ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh

My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

I set up a competely fresh VM with debian 12 and it just crashes:

Fatal error!

CL: 449579
0x000000007b00cdb7 kernelbase.dll!UnknownFunction []
0x0000000143c712ea ArkAscendedServer.exe!UnknownFunction []
0x00000002c74d5ef7 ucrtbase.dll!UnknownFunction []
0x00000002c74b030b ucrtbase.dll!UnknownFunction []
0x00000001400243c2 ArkAscendedServer.exe!UnknownFunction []
0x0000000144317687 ArkAscendedServer.exe!UnknownFunction []
0x0000000141fa93ed ArkAscendedServer.exe!UnknownFunction []
0x000000014447a1a8 ArkAscendedServer.exe!UnknownFunction []
0x0000000145d2a0bd ArkAscendedServer.exe!UnknownFunction []
0x0000000145d29ac1 ArkAscendedServer.exe!UnknownFunction []
0x0000000145d2c1a2 ArkAscendedServer.exe!UnknownFunction []
0x0000000145d0ee95 ArkAscendedServer.exe!UnknownFunction []
0x0000000145d00098 ArkAscendedServer.exe!UnknownFunction []

Update: Make sure your VM CPU type does support everything the ark server requires. I got no idea what features exactly but when I set the CPU type to "host" in proxmox everything works

@sdinitto
Copy link

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)

ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh

My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

I can also confirm using your method it works. I didn't run your script but dissected it to customize my own runtime on another distro and it launched without any problems.

@hydrixion
Copy link

hydrixion commented Oct 31, 2023

Btw got that running on debian 11 so its not only for debian 12 ^^

@mrk3767
Copy link

mrk3767 commented Oct 31, 2023

I'm taking that script and attempting to dockerize it in Alpine linux... Fun times over here. I know this isn't really relevant to the purpose of this thread, but wanted to drop some info from my journey.

Everything seems to go well until I actually execute proton. I'm doing everything as root (rather than creating a steam user). I'm getting this lovely file not found error:

cca4535bc140:~/Steam/steamapps/common/ARK Survival Ascended Dedicated Server/ShooterGame/Binaries/Win64# /bin/bash -E -c "$STEAMDIR/compatibilitytools.d/$PROTON_NAME/proton run ArkAscendedServer.exe TheIsland_WP?listen"
Traceback (most recent call last):
  File "/root/Steam/compatibilitytools.d/GE-Proton8-22/proton", line 1913, in <module>
    rc = g_session.run()
         ^^^^^^^^^^^^^^^
  File "/root/Steam/compatibilitytools.d/GE-Proton8-22/proton", line 1871, in run
    rc = self.run_proc(adverb + argv + sys.argv[2:] + self.cmdlineappend)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/Steam/compatibilitytools.d/GE-Proton8-22/proton", line 1842, in run_proc
    return subprocess.call(args, env=local_env, stderr=self.log_file, stdout=self.log_file)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 389, in call
    with Popen(*popenargs, **kwargs) as p:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.11/subprocess.py", line 1950, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/root/Steam/compatibilitytools.d/GE-Proton8-22/files/bin/wine64'

I can confirm that this file does exist and has contents:

cca4535bc140:~/Steam/steamapps/common/ARK Survival Ascended Dedicated Server/ShooterGame/Binaries/Win64# ls -l /root/Steam/compatibilitytools.d/GE-Proton8-22/files/bin
total 796
-rwxr-xr-x    1 root     root         35864 Oct 30 19:27 cabextract
-rwxr-xr-x    1 root     root          2133 Oct 30 19:26 msidb
-rwxr-xr-x    1 root     root         15560 Oct 30 19:26 wine
-rwxr-xr-x    1 root     root         17664 Oct 30 19:26 wine-preloader
-rwxr-xr-x    1 root     root         16712 Oct 30 19:27 wine64
-rwxr-xr-x    1 root     root         18488 Oct 30 19:27 wine64-preloader
-rwxr-xr-x    1 root     root        695208 Oct 30 19:27 wineserver

I can also verify that python3 can actually see this file at that path as well:

cca4535bc140:~/Steam/steamapps/common/ARK Survival Ascended Dedicated Server/ShooterGame/Binaries/Win64# python3
Python 3.11.6 (main, Oct  4 2023, 06:22:18) [GCC 12.2.1 20220924] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.listdir("/root/Steam/compatibilitytools.d/GE-Proton8-22/files/bin")
['wineserver', 'wine-preloader', 'cabextract', 'wine64-preloader', 'msidb', 'wine64', 'wine']

This is leading me to believe that the virtual environment proton executes in doesn't have the path I've got it installed to mounted. I found a few references stating you could use env vars to specify extra directories to be mounted, but that didn't pan out either.

If everyone is getting it working on Debian, I guess I can try it again going down that path haha

@poley5
Copy link

poley5 commented Oct 31, 2023

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)

ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh

My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

I got it to launch the server but when I try to join the server it says "Joining failed Connection timeout" There were a couple errors when launching it but if there was a problem the server shouldnt have started up right?

@Lanwoah
Copy link

Lanwoah commented Oct 31, 2023

I can't get it to showup in steam servers, do you guys set ports or only use default ones?

@azixus
Copy link

azixus commented Oct 31, 2023

I can't get it to showup in steam servers, do you guys set ports or only use default ones?
You only need a single port for the server to show up. It's port 7777/udp by default.

@mrk3767 I have a working container if you want to reuse some parts (see https://github.com/azixus/ARK_Ascended_Docker)

@Lanwoah
Copy link

Lanwoah commented Oct 31, 2023

Thats very nice of you and i'll keep it in consideration but i'd like to keep using what i use now for now, but it seems like my server is not running properly, its not updating the world file

@mrk3767
Copy link

mrk3767 commented Nov 1, 2023

I can't get it to showup in steam servers, do you guys set ports or only use default ones?
You only need a single port for the server to show up. It's port 7777/udp by default.

@mrk3767 I have a working container if you want to reuse some parts (see https://github.com/azixus/ARK_Ascended_Docker)

😍 This is exactly what I was going for! I was trying with Alpine and running down a rabbit hole. Thank you!

@hydrixion
Copy link

I can't get it to showup in steam servers, do you guys set ports or only use default ones?

I cant see my server in steam servers too your server will use default ports 7777 but u cant find in in steam
Just name your server in the GuS.ini and then search the name in unofficial server thats what me helped atleast getting in running and steam still doesnt show me my server

@hydrixion
Copy link

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)
ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh
My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

I got it to launch the server but when I try to join the server it says "Joining failed Connection timeout" There were a couple errors when launching it but if there was a problem the server shouldnt have started up right?

how many times u tried joining your server? when i download mods from my server or have a bit to much and it takes him a bit time to load them i get this error sometimes too sometimes even 2-3 times in a row but then it works i hope that will help you

@Lanwoah
Copy link

Lanwoah commented Nov 1, 2023

Yeah my server was working apparently i just had to go ingame with unofficial, i could join so it works

@poley5
Copy link

poley5 commented Nov 3, 2023

I can confirm that despite being a Windows-only server, it DOES work with proton! (At least on Debian 12 and GE's Proton...)
ie: https://github.com/cdp1337/ARKSurvivalAscended-Linux/blob/main/server-install-debian12.sh
My install doesn't include any of the nicities of LGSM, but should serve as a basis for building an installer for your project.

I got it to launch the server but when I try to join the server it says "Joining failed Connection timeout" There were a couple errors when launching it but if there was a problem the server shouldnt have started up right?

how many times u tried joining your server? when i download mods from my server or have a bit to much and it takes him a bit time to load them i get this error sometimes too sometimes even 2-3 times in a row but then it works i hope that will help you

Probably tried about 10-20 times over the last few days

@askrabal
Copy link

I've been using this script to run a server for the past few weeks and it's been working pretty well. I used LGSM for ARK SE and modeled some of the layout after that implementation. I figured it might be helpful getting LGSM support for ASA.

#!/bin/bash

mkdir -p ~/.steam/steam
export STEAM_LIBRARY="$(realpath ~/.steam/steam/)"

app_id=2430930
proton_id=2348590
server_files="$(realpath ./serverfiles)"
proton_dir="$(realpath ./serverfiles/Proton/)"

# must login with account for proton
if [[ "$1" == "u" ]];then
steamcmd \
  +force_install_dir ${proton_dir} \
  +login ${STEAM_USER} \
  +app_update ${proton_id} \
  validate \
  +quit
fi

# this works
if [[ "$1" == "u" ]];then
steamcmd \
  +@sSteamCmdForcePlatformType windows \
  +force_install_dir ${server_files} \
  +login anonymous \
  +app_update ${app_id} \
  validate \
  +quit
fi

export STEAM_COMPAT_DATA_PATH="${server_files}/compatdata/${app_id}"
export STEAM_COMPAT_CLIENT_INSTALL_PATH="${STEAM_COMPAT_DATA_PATH}"
mkdir -p "${STEAM_COMPAT_DATA_PATH}"
echo "Installed and validated"
echo "Config files at: ${server_files}/ShootGame/Saved/Config/WindowsServer/"

stop_server ()
{
  pgrep -f ^Z.*ArkAscendedServer.exe | xargs kill -SIGINT
}

trap "stop_server" SIGTERM SIGINT

# proton verbs waitforexitandrun, runinprefix
"${proton_dir}"/proton runinprefix ${server_files}/ShooterGame/Binaries/Win64/ArkAscendedServer.exe TheIsland_WP?listen?RCONPort=27020?RCONEnabled=True?MaxPlayers=10?SessionName="${SESSION_NAME}" -WinLiveMaxPlayers=10 -nosteamclient -NoBattlEye 2> /dev/null &
wait $!
echo -e "\nServer shutdown"

@askrabal
Copy link

@dgibbs64 Sorry for the bad pull request, I meant to make it in my own mirror.

I understand the desire for linux binaries, but I was wondering if launching it with wine/proton would work within the LGSM framework? I've had great success running the windows binary with proton, but it would be great to have all the niceties of LGSM.

@russh3l
Copy link

russh3l commented Nov 28, 2023

@askrabal

Im getting "Proton: No compat data path?" However, there are folders and files called compatdata in the ark server files

@mrk3767
Copy link

mrk3767 commented Nov 28, 2023 via email

@russh3l
Copy link

russh3l commented Nov 28, 2023

@mrk3767 yes but I want to do it without using docker. is not it possible?

@askrabal
Copy link

@askrabal

Im getting "Proton: No compat data path?" However, there are folders and files called compatdata in the ark server files
@russh3l I put my script in a gist if you wanna discuss it there

@lucassr-dev
Copy link

Could anyone do this for ARK SE? for him to install the ark server windows and run it on proton?

@dgibbs64
Copy link
Member

No native Linux support still. I am going to close this. Please open a new issue when linux is supported

@github-project-automation github-project-automation bot moved this from 🆕 New Issues to ✅ Done in LinuxGSM Server Requests Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests