SteamCMD Teil 2 (Konfiguration)

Mehr
3 Jahre 10 Monate her - 3 Jahre 10 Monate her #259 von Mansaylon
Alle nachfolgenden Arbeiten, werden als 'steam' Benutzer ausgeführt (nicht als 'root').
Da ich nun 2 Welten habe, muss jeweils das start_server.sh Script in 2 verschiedenen Verzeichnissen angepasst werden.

SteamCMD vorgegebene Installation:
Code:
cd /home/steam/Steam/steamapps/common/Valheim\ dedicated\ server/

...und das von 'NeueWelt':
Code:
cd /home/steam/NeueWelt/

Mit dem bevorzugten Editor folgende Datei bearbeiten:
Code:
joe start_server.sh

1. Anpassung
Code:
/home/steam/Steam/steamapps/common/Valheim\ dedicated\ server/valheim_server.x86_64 -name "Clan-SEZ" -port 2456 -world "Valhalla" -password "secret"

2. Anpassung
Code:
/home/steam/NeueWelt/valheim_server.x86_64 -name "Mansodin" -port 2459 -world "ClanSEZ" -password "secret"

Kurze Erläuterung:
  • den Pfad vor dem Programm setze ich nur, damit ich das Start-Script von überall her ausführen kann.
  • -name ist der Name, der beim 'Spiel beitreten' bei den Community Server dargestellt wird (und man kann auch danach suchen).
  • - port wird der 1. von 3 benötigten Ports angegeben (jede Welt natürlich auf einem eigenen Port)
  • -world ist der Name von der Datei Welt.db

Pfad zu Welt.db (wird später auch für das Backup benötigt):
Code:
cd /home/steam/.config/unity3d/IronGate/Valheim/worlds/

Damit von extern der Server auch erreichbar ist, muss an der Firewall/Router eine TCP/UDP Portweiterleitung eingerichtet werden.
In meinem Fall sind dies die Ports: 2456 -2461. Wozu pro Welt 3 Ports benötigt werden, ist mir nicht bekannt.

Wird nun im entsprechenden Welt-Verzeichnis ./start_script.sh ausgeführt, startet der Server und man kann ihn über den Client beitreten.

Anmerkung: Steht der Server im selben LAN in dem man auch spielt, wird der Community Server nicht gefunden. Alle anderen Spieler aus einer anderen Lokalität, sehen den Server.


Hat man dies nun alles in einer Putty Session ausgeführt, beendet sich der Server, sobald man das Sessionsfenster schliesst. Das ist natürlich nicht der Sinn eines Servers B)

Zuerst richte ich Aliase ein, um nicht immer erst in das entsprechende Verzeichnis wechseln zu müssen.
Code:
cd /home/steam joe .bashrc

Darin folgendes ganz unten zufügen (an eigene Bedürfnisse angepasst natürlich)
Code:
# User specific aliases and functions alias steamcmd='/home/steam/steamcmd.sh' alias serverid="ps -fC valheim_server.' alias neuewelt='/home/steam/NeueWelt/start_server.sh >/var/log/neuewelt.log 2>&1 &' alias clan-sez='/home/steam/Steam/steamapps/common/Valheim\ dedicated\ server/start_server.sh >/var/log/clan-sez.log 2>&1 &'

Noch neu einlesen:
Code:
source .bashrc

Der 1. alias wird verwendet, damit ich SteamCMD updates machen kann.
Der 2. alias listet alle valheim_server Dienste auf (braucht man für 'kill' Kommando)
Der 3. alias startet mir den NeueWelt Server im Hintergrund und schreibt alle Ausgaben in /home/steam/neuewelt.log
Der 4. alias startet die Standardwelt clan-sez (in meinem Fall) ebenfalls im Hintergrund und schreibt alle Ausgaben in /home/steam/clan-sez.log

Will man nun eine einzelne Welt beenden, muss erst herausgefunden werden, welche Dienst-ID die entsprechende Welt hat.
In der Log Datei findet man oben in etwa folgende Einträge:
Code:
.. .. CAppInfoCacheReadFromDiskThread took 1 milliseconds to initialize RecordSteamInterfaceCreation (PID 3278): SteamGameServer012 / GameServer RecordSteamInterfaceCreation (PID 3278): SteamUtils009 / Utils Setting breakpad minidump AppID = 892970 CApplicationManagerPopulateThread took 15 milliseconds to initialize (will have waited on CAppInfoCacheReadFromDiskThread) RecordSteamInterfaceCreation (PID 3278): SteamGameServer012 / GameServer RecordSteamInterfaceCreation (PID 3278): SteamUtils009 / Utils RecordSteamInterfaceCreation (PID 3278): SteamNetworking005 / Networking .. :.
Die PID ist dann die Dienst-ID, mit der man die gewünschte Welt wie folgt beendet.
Code:
kill 3278

Will man prüfen, wie viele Valheim Dienste laufen, folgenden Befehl eingeben (sofern man den Alias wie oben beschrieben, gesetzt hat)
Code:
serverid

In etwa folgende Ausgabe:
Code:
[steam@steam ~]$ serverid UID PID PPID C STIME TTY TIME CMD steam 3278 3277 14 09:25 pts/2 00:03:29 /home/steam/..... steam 3376 3375 15 09:29 pts/2 00:02:58 /home/steam/......

Bye Mansaylon
Wer nichts zu verbergen hat, der hat schon alles verloren!
Letzte Änderung: 3 Jahre 10 Monate her von Mansaylon.
Folgende Benutzer bedankten sich: HungryHawk

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.360 Sekunden
Powered by Kunena Forum