arkmanager / ark-server-tools

Set of server tools used to manage ARK: Survival Evolved servers on Linux
MIT License
684 stars 144 forks source link

Server online: No #1113

Closed Adurno closed 4 years ago

Adurno commented 4 years ago

Hi,

Since 311.74, arkmanager status return:

Server running:   Yes
 Server listening:   Yes
 Server online:   No

Do you know if the server need to open more ports or something else for communicate with Steam and Epic ?

I use docker, habitually turzam/ark (arkmanager 1.5) with ports 7778 and 27015.

I tried a fork with arkmanager 1.6, and got the same issue.

I also tried to install arkmanager with cm2network/steamcmd but after arkmanager install, arkmanager start return:

Running command 'start' for instance 'main'
[  WARN  ]      Your ARK server exec could not be found.

I changed 0 config after install.

And arkmanager run return:

Running command 'run' for instance 'main'
[  WARN  ]      Your ARK server exec could not be found.
/usr/local/bin/arkmanager: line 1029: cd: /home/steam/ARK/ShooterGame/Binaries/Linux: No such file or directory
2020-06-16 14:52:16: start
2020-06-16 14:52:16: Running /home/steam/ARK/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?RCONEnabled=True\?RCONPort=32330\?SessionName=ARK\ Server\ Tools\?Port=7778\?QueryPort=27015\?ServerPassword\?ServerAdminPassword=keyboardcat\?MaxPlayers=70\?ServerPassword\?listen
/usr/local/bin/arkmanager: line 1208: /home/steam/ARK/ShooterGame/Binaries/Linux/ShooterGameServer: No such file or directory
2020-06-16 14:52:16: Server PID: 1135
2020-06-16 14:52:21: Bad PID ''; expected '1135'
2020-06-16 14:52:21: exited with status 0
klightspeed commented 4 years ago

Since 311.74, arkmanager status return:

Server running:   Yes
Server listening:   Yes
Server online:   No

Do you know if the server need to open more ports or something else for communicate with Steam and Epic ?

Server online: No usually means that the server isn't able to communicate with the Steam master server. This is probably expected if you have -epiconly.

I also tried to install arkmanager with cm2network/steamcmd but after arkmanager install, arkmanager start return:

Running command 'start' for instance 'main'
[  WARN  ]      Your ARK server exec could not be found.

I changed 0 config after install.

And arkmanager run return:

Running command 'run' for instance 'main'
[  WARN  ]      Your ARK server exec could not be found.
/usr/local/bin/arkmanager: line 1029: cd: /home/steam/ARK/ShooterGame/Binaries/Linux: No such file or directory
2020-06-16 14:52:16: start
2020-06-16 14:52:16: Running /home/steam/ARK/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?RCONEnabled=True\?RCONPort=32330\?SessionName=ARK\ Server\ Tools\?Port=7778\?QueryPort=27015\?ServerPassword\?ServerAdminPassword=keyboardcat\?MaxPlayers=70\?ServerPassword\?listen
/usr/local/bin/arkmanager: line 1208: /home/steam/ARK/ShooterGame/Binaries/Linux/ShooterGameServer: No such file or directory
2020-06-16 14:52:16: Server PID: 1135
2020-06-16 14:52:21: Bad PID ''; expected '1135'
2020-06-16 14:52:21: exited with status 0

This looks like the default config. Please check your configs in both /etc/arkmanager and ~/.config/arkmanager

Adurno commented 4 years ago

After run arkmanager install, the directory /home/steam/ARK is created, but i didn't have /home/steam/ARK/ShooterGame/Binaries. Only dir /home/steam/ARK/ShooterGame/Saved exist.

Nothing change in default config file /etc/arkmanager/arkmanager.cfg and /etc/arkmanager/instances/main.cfg

arkserverroot="/home/steam/ARK"
arkserverexec="ShooterGame/Binaries/Linux/ShooterGameServer"

How can i install the ShooterGameServer package with arkmanager ? Should i run steamcmd command instead ? steamcmd +login anonymous +force_install_dir <install_dir> +app_update 376030 +quit

Adurno commented 4 years ago

Error! App '376030' state is 0x202 after update job.

OK not enought storage for dl full ARK server.

I'll working on and come back !

Nereg commented 4 years ago

Same problem. docker exec ark arkmanager status returns

Running command 'status' for instance 'main'
 Server running:   Yes
 Server listening:   Yes
Server Name: myserver - (v311.99)
Players: 0 / 70
 Server online:   No
 Server version:   5169549

I already reinstalled ark server and open all port on my VM so it is not a problem P.S I confirmed that I can connect to ports that ark uses with nc -v -u -z -w 3 <ip> <port>

klightspeed commented 4 years ago

@Nereg are you using -epiconly?

Nereg commented 4 years ago

No but I still can't connect to my server.

klightspeed commented 4 years ago

I'm wondering if with the introduction of crossplay the ARK servers are no longer registering with the Steam master server.

Nereg commented 4 years ago

Yeah that would be very bad.

klightspeed commented 4 years ago

I checked here and with both no crossplay option and with -crossplay, the server does register with the Steam master server, while with -epiconly it neither registers with the Steam master server nor opens the normal Steam ports.

Server online: No suggests that it isn't able to connect to the Steam master server, and as it isn't listed on the Steam master server it won't show up in the server list.

Nereg commented 4 years ago

But I can't connect directly with ip.

Nereg commented 4 years ago

I am using default server and arkmanager config

Nereg commented 4 years ago

Also server is listed in Steam. I verifyed it with http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=**.**.**.** But I still can`t connect to my server

Adurno commented 4 years ago

I try with arkmanager 1.6.53 and.. it works !

Steps : Start with steamcmd container with root tag for install lib. I begin with this first script :

docker run -it \
-v /host/path/to/ark:/home/steam/ARK
cm2network/steamcmd:root

You need the volume for install ARK, otherwise it's fail with state 0x202 (not enougth storage)

Then install libs :

 apt-get update && apt-get install -y \
    sudo \
    nano \
    perl-modules \
    curl \
    lsof \
    libc6-i386 \
    lib32gcc1 \
    bzip2

Add bash for steam: usermod --shell /bin/bash steam

Install arkmanager for steam: curl -sL http://git.io/vtf5N | sudo bash -s steam

Give ARK dir to steam: chown -R steam:steam /home/steam/ARK

Log with steam su steam

Install ARK with manager arkmanager install

Create ini file (generator here) create config dir: mkdir -p /home/steam/ARK/ShooterGame/Saved/Config/LinuxServer/

and paste content here: nano /home/steam/ARK/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

Now, you can run the server ! arkmanager start

And after few minutes...

Server running:   Yes
Server listening:   Yes
Server online:   Yes

But the container can't exit without stop the server.

Adurno commented 4 years ago

For launch detached container:

I create new Dockerfile

FROM cm2network/steamcmd:root

RUN apt-get update && apt-get install -y \
    sudo \
    nano \
    perl-modules \
    curl \
    lsof \
    libc6-i386 \
    lib32gcc1 \
    bzip2

RUN usermod --shell /bin/bash steam

RUN curl -sL http://git.io/vtf5N | sudo bash -s steam

RUN mkdir -p /home/steam/ARK; \
    chown -R steam:steam /home/steam/ARK

USER steam

Then build in Dockerfile dir docker build -t arkmanager .

Create ARK dir and set owner to UID 1000 (steam in container arkmanager): mkdir -p /host/path/to/ark && chown 1000:1000 /host/path/to/ark

Install ARK with this first script (ad -it if you want saw %):

docker run --rm \
-v /host/path/to/ark:/home/steam/ARK \
arkmanager \
arkmanager install

After few minutes we got many dots. If not, it probably fail.

Check your ark folder: ls -l /host/path/to/ark

You should have ShooterGame folder now.

And you can launch ark with the script:

docker run -d \
-v /host/path/to/ark:/home/steam/ARK \
-p 7778:7778/udp \
-p 27015:27015/udp \
--name ark \
arkmanager \
bash -c "arkmanager start && sleep infinity"
klightspeed commented 4 years ago

You can use arkmanager run instead of arkmanager start && sleep infinity

arkmanager run will run the server without going into the background, while arkmanager start calls arkmanager run and then puts that into the background.

Adurno commented 4 years ago

Good idea ! In this case i can add auto restart with docker !

Adurno commented 4 years ago

And for change ARK config, enter in the container: docker exec -it ark bash

Copy main.cfg in user dir: cp /etc/arkmanager/instances/main.cfg /home/steam/.config/arkmanager/instances/main.cfg

Edit config (Map, Sevrer name, adminpass, crossplay) nano ~/.config/arkmanager/instances/main.cfg

And restart ! arkmanager restart

klightspeed commented 4 years ago

arkmanager run traps SIGINT (Ctrl+C) and SIGTERM, so as long as docker uses one of those signals to terminate the guest process it should shut down the server using SIGINT (Ctrl+C).