Valheim Dedicated Server auf Linux mit SteamCMD

Der Daniel zockt

Mich hat ja aktuell auch das Valheim Fieber gepackt. Und weil ich solche Spiele lieber "zusammen" als alleine Spiele, hab ich gleich einen Dedicated Server aufgesetzt, um mit Freunden zusammen Vikinger spielen zu können.

Mein Setup:

Wie fangen wir an? Mit der SteamCMD. Dafür legen wir einen User an

useradd -m steam

Gehen in sein Homverzeichnis

cd /home/steam

Und installieren SteamCMD vom Repo

sudo apt install steamcmd

Dann noch die steamcmd verlinken

ln -s /usr/games/steamcmd steamcmd

Jetzt legen wir ein Verzeichnis für Valheim an:

cd /home/steam
mkdir Valheim

Und installieren den Dedicated Server:

/home/steam/.steam/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/steam/Valheim +app_update 896660 validate +exit

Sobald das abgeschlossen ist gehen wir in das Valheim Verzeichnis

cd Valheim

Und machen eine Kopie von der Startdatei. Dies wird Explizit empfohlen, damit bei Updates die eigenen Einstellungen nicht überbügelt werden.

cp start_server.sh start_valheimserver.sh

Die genannten Einstellungen passen wir jetzt auch an:

nano start_valheimserver.sh

Und finden dort die Konfig vor, die wir sogleich anpassen:

#!/bin/bash

export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970

# Tip: Make a local copy of this script to avoid it being overwritten by steam.
# NOTE: Minimum password length is 5 characters & Password cant be in the server name.
# NOTE: You need to make sure the ports 2456-2458 is being forwarded to your server through your local router & firewall.
/home/steam/.steam/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/daniel/.steam/steamapps/common/'Valheim dedicated server' +app_update 896660 +quit

./valheim_server.x86_64 -name "DEIN SERVERNAME" -port 2456 -world "Dedicated" -password "DEIN PASSWORT" -public 1 > /dev/null &

export LD_LIBRARY_PATH=$templdpath

echo "Server started"
echo ""
#read -p "Press RETURN to stop server"
#echo 1 > server_exit.drp

#echo "Server exit signal set"
#echo "You can now close this terminal"

while :
do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "valheim.service: timestamp ${TIMESTAMP}"
sleep 60
done

Logischerweise "DEIN SERVERNAME" und "DEIN PASSWORT" selber ausdenken.
Falls du einen Publicserver erstellen willst, lass das Passwort weg. Falls du nicht willst, dass dein Server in der Serverübersicht gefunden werden kann, ändere -public auf 0.

Jetzt wollen wir noch, dass der Valheim Server als Service startet. Wenn zB mal rebootet wird.

nano valheim.service

Dort fügen wir ein:


[Unit]
Description=Valheim service
Wants=network.target
After=syslog.target network-online.target

[Service]
Type=simple
Restart=on-failure
RestartSec=10
User=username
WorkingDirectory=/home/steam/Valheim
ExecStart=/home/steam/Valheim/start_valheimserver.sh

[Install]
WantedBy=multi-user.target

Und speichern das Ganze. Im näcshten Schritt registrieren wir den Service:

sudo cp valheim.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl start valheim

Dann können wir als nächstes den Status überprüfen:

sudo systemctl status valheim

Wenn das geklappt hat, richten wir noch den Autostart ein:

sudo systemctl enable valheim.service

Und Bäm fertig.

Ab und an kommt es vor, das ich mich nicht mehr connecten kann. Ist ja auch early access. Dann stoppe ich den Valheim service mit

sudo systemctl stop valheim

Warte kurz und starte dann wieder.

sudo systemctl start valheim

 

Als nächstes, wollen wir selbst ja Admin sein, also im Spiel. Dazu brauchen wir unsere SteamID.

Steam: Account Details -> Unter dem Steam Account Namen

Und wandeln die in eine steamID64 Dec um, mit: https://steamidfinder.com/

Jetzt fügen wir diese ID in folgende die adminlist ein:

nano /.config/unity3d/IronGate/Valheim/adminlist.txt

Jetzt können wir im Spiel selbst folgende Kommandos ausführen:

Befehl Beschreibung
help Auflistung alles Commands
kick [name/ip/userID] Kickt den Spieler
ban [name/ip/userID] Bant den Spieler
unban [ip/userID] Unbant den Spieler
banned Zeigt die Liste aller gebannten Spieler
ping Pingt den Server
lodbias [number] Setzt den "lod bias", die Entfernung ab welcher hoch aufgelöst gerendert wird. Der default ist "1.5"
(wir haben da aber keine riesen Utnerschiede bemerkt)
info Zeigt die system info
save Macht ein world save

 

Apropos Save: Das Savegame befindet sich unter:

/home/steam/.config/unity3d/IronGate/Valheim/worlds/

Falls du Sicherheitskopien erzeugen willst, oder gegen deinen Lokalen Spielstand tauschen willst.

Also legt los und viel Spaß!

Falls dir diese Anleitung etwas gebracht hat und du danke sagen willst, kannst du gern für meinen Valheim Server spenden:
https://bero-host.de/spenden/qstleikmalhp

 

Vielen Dank!


Seite 1 von 1, insgesamt 1 Einträge