Projekt Julians Ark Server

From JoBaPedia
Jump to navigation Jump to search

Starten

su - steam
./start-ark4walze1.sh

oder auf das Icon auf dem job4 Desktop klicken...

mittlerweile gibt es zu start-ark4walze1.sh (The Island) auch noch start-ark4walze2.sh (The Center) und start-ark4walze3.sh (Ragnarok).

Stoppen

Backup gibt es automatisch nur alle 5 min also besser mit SaveWorld:

EnableCheats <Password>
AdminCheat SaveWorld
AdminCheat DoExit

Weitere Kommandos

http://ark.gamepedia.com/Console_Commands

Lokale Welt auf Server kopieren

lokale SavedLocalArcs nach SavedArks auf dem Server kopieren und lokales Profil einer Steam ID geben

cp -av ~/Backup/Saved.windows/SavedArksLocal ShooterGame/Saved/SavedArks
cp ShooterGame/Saved/SavedArks/LocalPlayer.arkprofile ShooterGame/Saved/SavedArks/76561198229816152.arkprofile

Server im Router freigeben

folgende UDP Ports weiterleiten

4242
7777-7778
26900-26905
27015-27020
27215

Updaten

su - steam
./update-ark4walze1.sh

...oder das Icon auf dem Desktop verwenden

wenn diese Fehlermeldung kommt:

Error! App '376030' state is 0x206 after update job. :: ARK: Survival...

dann ist wahrscheinlich der Platz in /home/steam ausgegangen.

Konfiguration

im Verzeichnis, das man beim Installieren/Updaten angegeben hat (z.B. ~/servers/ark4walze1) in das Unterverzeichnis ShooterGame/Saved/Config/LinuxServer wechseln. Dort gibt es die Datei GameUserSettings.ini. Diese enthält unter anderem diese wichtigen Einstellungen. Vor allem die letzten beiden muss man bei der Installation anpassen!


ShowMapPlayerLocation=True
proximityChat=True
MaxStructuresInRange=1000
MaxPlayers=10
DifficultyOffset=0.2
SessionName=some-descriptive-name
ServerPassword=some-passsword
ServerAdminPassword=some-other-password

ein paar Einstellungen noch, die das Spiel leichter oder schwerer machen. Bei manchen haben schon winzige Änderungen einen großen Effekt:

NightTimeSpeedScale=3.0
TamingSpeedMultiplier=3.5
HarvestAmountMultiplier=1.5
DifficultyOffset=0.2
XPMultiplier=2

Neue Map

wenn es eine neue Map gibt, kann man sie als user steam so installieren (statt X eine Nummer):

cp -a ~/servers/ark4walze1 ~/servers/ark4walzeX
cp ~/start-ark4walze1.sh ~/start-ark4walzeX.sh
cp ~/update-ark4walze1.sh ~/update-ark4walzeX.sh

Dann in den Skripten noch das servers Verzeichnis anpassen (1 -> X) und im start-ark4walzeX.sh den Map-Namen (TheIsland?listen -> Ragnarok?listen) oder die Map ID ersetzen

Backup wiederherstellen

wenn's mal nicht so gut läuft, und man deshalb einen älteren Stand wieder herstellen will:

su - steam
killall ShooterGameServer
cd ~/servers/ark4walze3/ShooterGame/Saved/SavedArks
cp -av Ragnarok.ark Ragnarok_bad_luck.ark
cp -av Ragnarok_22.06.2017_18.28.22.ark Ragnarok.ark
~/start-ark4walze3.sh

die Backup Zeiten sind UTC nicht MEZ (also im Sommer um zwei Stunden verschoben, im Winter um eine)

Troubleshooting

The server did work. Then, after some time (and app/os updates) whithout playing, it no longer works. The server shows up on client list, but on connect attempt it always fails.

Traffic from/to ARK server and Steam client

log all TCP and UDP activities (listening or connected ports) of the server process user 10008

while sleep 1; do 
  out=`(cat /dev/shm/ss; ss -tupaen | grep 'uid:10008') | sort -u`; 
  echo "$out" | cat >/dev/shm/ss; 
done
tcp    LISTEN     16        *:27015                 *:*                   users:(("ShooterGameServ",pid=3674,fd=16)) uid:10008 ino:40596325 sk:5d35 <->
tcp    LISTEN     5      192.168.1.4:40470                 *:*                   users:(("ShooterGameServ",pid=3674,fd=22)) uid:10008 ino:40620317 sk:5eae <->
udp    UNCONN     0         *:27015                 *:*                   users:(("ShooterGameServ",pid=3674,fd=11)) uid:10008 ino:40597086 sk:5ce9 <->
udp    UNCONN     0         *:7778                  *:*                   users:(("ShooterGameServ",pid=3674,fd=18)) uid:10008 ino:40603817 sk:5d76 <->
udp    UNCONN     0      192.168.1.4:40884                 *:*                   users:(("ShooterGameServ",pid=3674,fd=23)) uid:10008 ino:40620881 sk:5eec <->
udp    UNCONN     0      192.168.1.4:43704                 *:*                   users:(("ShooterGameServ",pid=3674,fd=19)) uid:10008 ino:40620278 sk:5ea6 <->
udp    UNCONN     0      192.168.1.4:44104                 *:*                   users:(("ShooterGameServ",pid=3674,fd=20)) uid:10008 ino:40620279 sk:5ea7 <->
udp    UNCONN     0      192.168.1.4:47841                 *:*                   users:(("ShooterGameServ",pid=3674,fd=24)) uid:10008 ino:40620882 sk:5eed <->
udp    UNCONN     0      192.168.1.4:48225                 *:*                   users:(("ShooterGameServ",pid=3674,fd=21)) uid:10008 ino:40621075 sk:5eab <->
udp    UNCONN     0      192.168.1.4:48227                 *:*                   users:(("ShooterGameServ",pid=3674,fd=25)) uid:10008 ino:40620918 sk:5eef <->

Dump all traffic to and from server during a "server start, client connect attempt" event

Server (192.168.1.4), client (192.168.1.8) and router (192.168.1.222)

S='( ( src host 192.168.1.4 or src host 192.168.1.8 or src host 192.168.1.222 ) and ( dst host 192.168.1.222 or dst host 192.168.1.4 or dst host 192.168.1.8 or ! dst net 192.168.1.0/24 ) )'
D='( ( dst host 192.168.1.4 or dst host 192.168.1.8 or dst host 192.168.1.222 ) and ( src host 192.168.1.4 or src host 192.168.1.8 or src host 192.168.1.222 or ! src net 192.168.1.0/24 ) )'
tcpdump -qnti br0 "$S or $D" >/dev/shm/td

Dump all traffic during the same event on fritz box

http://fritz.box/html/capture.html

Generate capture file for lan in wireshark format: iad-if-eth0_11.03.18_1351.bin

Analyze

All files on server in /root/ark-trace