Projekt Julians Ark Server
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
Und noch ein paar Einstellungen in Game.ini
[/script/shootergame.shootergamemode] MatingIntervalMultiplier=1.0 EggHatchSpeedMultiplier=20.0 BabyMatureSpeedMultiplier=20.0
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
The server was "exposed host" during that time and no firewall was active on the server
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