Jump to content
LAST CALL on the Unraid Summer Sale! 😎 ⌛ ×

2 gamedocker server vom selben spiel eröffnen valheim


dickamix

Recommended Posts

hallo

 

ich bin neu hier und in sachen unraid.

 

meine frage ist ich möchte gerne 2 server erstellen von valheim die man von auserhalb des netzwerkes auch betreten und finden kann.

 

ich habe 1 server der auch von auserhalb gefunden und betreten werden kann und einen 2ten den ich nur betreten und finden kann wenn ich im netzwerk bin.

 

wenn das möglich ist und jemand weiß wie würde ich mich über eine antword freun

 

MFG

Christian Pfeiffer

Link to comment

...kenne das Game nicht, aber Dein "Problem", warum nur 1 Instanz von ausserhalb gefunden werden kann liegt wahrscheinloch an der Portweiterleitung.

 

Deine Internet/WAN-IP gibt es nur einmal.

Die 1. Instanz hat eine Portweiterleitung von aussen (Deine WAN-IP, port xxxx) auf Docker-1-IP, port abcd

Die 2te Instanz bräuchte entweder einen 2te WAN-IP oder einen anderen Port, zB (WAN-IP, port yyyy) auf Docker-2-IP, port abcd

Clients von ausserhalb müssen dann aber auch den port yyyy statt xxxx nutzen.

  • Like 1
Link to comment

Ein 2ter Port wäre eigentlich das Mittel der Wahl, wenn die Client-Seite den anderen, nicht-standard-port akzeptiert.

Was also heisst "...brachte auch nix" genau?

Wie weit hast Du getestet?

 

Die blödeste Idee, als erstes: Hast Du mal Docker-1 und Docker-2 von den externen Porteinstellungen und Weiterleitungen mal vertauscht?

Wenn es mit Docker-1 funktioniert und Du die Portweiterleitung-1 nun auf Docker-2 machst....funktioniert es noch?

 

Ansonsten, von Hop-zu-hop "hangeln".

Funktionieren beide Namensauflösungen von aussen?

Was siehst Du in den Logs, wenn Du auf Docker-1 oder Docker-2 zugreifen willst, von aussen...gibt es Logs im Clioent, im Router, im Nginx, im Docker-x?

Wo bleibt der Traffic hängen entlang des Pfades?

  • Like 1
Link to comment

wie gesagt das sind so meine ersten schritte in unraid.

 

bei dem spiel valheim wem man nach servern sucht und ich im netzt zuhause drin bin finde er beide server und ich kann auf biden spielen.

mache ich es von ausen findet er in der liste keinen server aber ich kan mit der ip von duckdns auf server 1 mich einloggen geht bei server 2 nicht.

 

im CMD test mit nslookup und den domain namen wird beides erkannt.

 

ich komme nur mit einem port raus bei dem spiel.

 

 

 

wo kann ich die log sehen

 

Edited by dickamix
Link to comment

OK, die Infos sind nur die internen Weiterleitungen auf unraid.

Die IPs aus 172.17.0.0/16 ist das Docker "bridge" Netzwerk.

Die 192.168.2.113 ist Dein unRaid Server...

Docker-1 ist im LAN also unter 192.168.2.113:2456 und Docker-2 unter 192.168.2.113:2460 zu erreichen.

 

Ich nehme an, die 192.168.2.1 ist Dein Router?

Welche Portweiterleitiungen hast Du dort konfiguriert?

 

Zumindest mal eine von 192.168.2.1:2456 auf 192.168.2.113:2456, oder irre ich mich?

Dann bräuchstest Du einen zweite, analog für Docker-2: 192.168.2.1:2460 auf 192.168.2.113:2460

  • Like 1
Link to comment

welche IPs sind als Ziel genau eingetragen im Router?

 

1) :2457 auf 192.168.2.113:2456  (also auf server1, was ja funktioniert) 

...und

2) :2461 auf 192.168.2.113:2460 (also auf server2, was nicht funktioniert)

 

Stimmt das so?

Auch wenn es blöd klingt, aber schau wirklich mal nach ob da keine Zahlendreher/typos drin sind.

Und dann probiere, wie schon gesagt server1 und server2 zu vertauschen, also :2457 auf 192.168.2.113:2460 ...funktioniert das?

  • Like 1
Link to comment

...das Bild war mir soweit klar...ausser vielleicht, dass jeder valheim Docker doch 2 ports nutzt...aber Du sagst ja, es geht mit einem.

 

Also, wenn Du sagst, dass Du

 

1) von aussen - mit dem Pfad "duckdns-IP/WAN - Router-IP/.2.1:2456 - unraid/.2.113:2457" erfolgreich auf den valheim/Docker1 kommst

2) von aussen - mit dem Pfad "duckdns-IP/WAN - Router-IP/.2.1:2461 - unraid/.2.113:2460" nicht erfolgreich auf den valheim/Docker2 kommst 

(P.S.: Warum hast Du immer die Port Nummern getauscht und nicht 1:1 benutzt, zB 2457 - 2557, statt 2456 - 2457 ??)

 

...und wenn Du die Port-Numemrn von Docker1 gegen Docker2 tauscht, es dann auf dem Pfad (1) immer noch funktioniert (dann mit Docker 2 als Endpunkt)

 

...dann kann es nur zwei Gründe dafür geben:

 

A) Dein Client, von aussen, benutzt nicht den Port-Pfad, der für Docker-2 vorgesehen ist, sieh oben (2) - Port 2461

oder...

B) Da ist noch was dazwischen...zwischen Router und Docker/unRaid-Ports.....ist der Nginx-Proxy beteiligt und und wenn ja, wie ist da die Konfig für die beiden Docker?

 

Edit: übrigens ist deine öffentliche IP da am Docker-Namen zu sehen?...die solltest Du mal schnell wechseln ;-?

Edited by Ford Prefect
  • Like 1
Link to comment

@dickamix First things first.

Ich sehe du hast für deine Docker einen Pfad '/mnt/tim/cache/appdata/valheim', bitte sei dir bewusst das es "tim" nicht gibt und ein verzeichnis normalerweise im RAM angelegt wird und das alles von dem spiel nach einem Reboot von Unraid weg ist.

Probier mal das du einen 2. Pfad einfach mit den Standardeinstellungen lässt und hinten einfach einen 2 anhängst oder was auch immer zB: '/mnt/cache/appdata/valheim2'.

 

Das nächste was mir gleich auffällt ist der Pfad zu SteamCMD, du kannst den jeweils für Docker 1 und 2 gleich lassen, das ist mehr oder weniger ein feature von meinen Gameservern das du nur einen Ordner am Server brauchst der SteamCMD beinhaltet.

 

 

...und jetzt zu deinem eigentlichen Problem, nur kurz als "Intro" viele Spieleserver mögen es nicht wenn du eine Portweiterleitung machst (speziell die Steam eigenen 27015-27030) intern von Docker 2456 zu, wie in deinem Beispiel 2460 deswegen hab ich auch in der Beschreibung von den Ports diesen Satz bei jedem Gameserver dabei:

Quote

UDP Game Ports (If you need another port delete this Entry and create a new UDP port mapping with the corresponding port range | GAME_PORT +2 | also don't forget to click on show more and change the GAME_PORT)

 

Das heißt was du tuhen musst um deinen 2. Server zu erreichen ist:

 

Lösch den alten Eintrag der Ports im Template und erstell einen neuen:

grafik.thumb.png.2da5f9aece775ee9d9f75339163d2853.png

 

 

Danach klickst du noch auf 'Show more settings ...' im Template und änderst die Variable 'GAME_PORT' auf '2460':

grafik.thumb.png.77c68ac1d9290ecc19a0106c559dae54.png

 

 

 

Dein Docker Template sollte dann ca. so aussehen:

grafik.thumb.png.0493cce4e865ed21367779b77216aa5d.png

grafik.thumb.png.a46e2f61441aa9ab0a7169a755f37faf.png

grafik.thumb.png.2c0e628f6262a66a979248bb72c40208.png

 

 

Danach klickst du auf 'Apply' und dein Server startet mit den Ports 2460-2463 UDP.

  • Like 1
Link to comment

guten morgen erst mal und vielen lieben dank für die super nette und schnelle hilfe ich werde es später sofort ausprobieren und berichten.

 

das mit dem pfad bei 2 war nur zum testen aber gut zu wiessen das so die spieldaten gelöscht werden nach einem reboot.

 

 

 

 

Edited by dickamix
Link to comment
28 minutes ago, dickamix said:

das mit dem pfad bei 2 war nur zum testen aber gut zu wiessen das so die spieldaten gelöscht werden nach einem reboot.

Aber nur weil du unter '/mnt' einen Ordner, in deinem Fall 'tim' anlegst und so ein Ordner im RAM erstellt wird da Unraid aus dem RAM läuft, du musst immer einen Ordner auswählen der in '/mnt' existiert, für meine Container bitte '/mnt/cache/...' oder wenn man keinen Cache hat '/mnt/diskX/' wobei das X für die Platte steht auf dem die Dateien gespeichert sind.

 

In deinem Fall würd ich den ersten Ordnernamen bei '/mnt/cache/appdata/valheim' lassen und für den 2. zB '/mnt/cache/appdata/valheim-tim' wählen (ich weiß leider nicht wie bei dir der 1 bzw. 2 wirklich heißen soll da du ja 'tim' und 'jannik' hast, aber ich glaub du verstehst was ich meine).

 

Wie gesagt den SteamCMD ordner kannst bei beiden gleich lassen.

  • Like 1
Link to comment
1 hour ago, dickamix said:

aber gut zu wiessen das so die spieldaten gelöscht werden nach einem reboot.

 

Vielleicht auch damit du das besser verstehst. Stell dir grundsätzlich vor, dass alle Pfade im RAM liegen, weil Unraid ja in den RAM installiert wird. Zusätzlich werden dann Ausnahmen hinzugefügt, so dass zB:

  • /mnt/disk1/... auf die erste Disk in deinem Array verweist 
  • /mnt/cache/... auf die SSD im Cache verweist 
  • /mnt/user/... in der Regel die Summe aus /mnt/disk1/... + /mnt/cache/... darstellt und
  • /boot/... auf den USB-Stick verweist 

Und wenn man einen Pfad benutzt, der nicht zu diesen Ausnahmen gehört, dann landen die Dateien im RAM (und sind logischerweise beim Reboot weg).

  • Like 1
Link to comment

aktueller stand sind die pfade jetzt so 

 

/serverdata/steamcmd         /mnt/user/tim/appdata/steamcmd                              SERVER 2 
/serverdata/serverfiles        /mnt/cache/tim/appdata/valheim

 

/serverdata/steamcmd         /mnt/user/serverjannik/valheimderlord/steamcmd/        SERVER 1   da wollte ich nix mehr am verzeichnis, ändern da schon
/serverdata/serverfiles        /mnt/cache/serverjannik//valheimderlord/valheim/                                   spielzeit drauf ist. nicht das alles gelöscht ist.

 

server werden beide gefunden. denke auch von auserhalb, das kann ich aktuell nur mit einem handy hotspot testen. aber jetzt findet er sie was er vorher nicht gemacht hat.

später versucht es ein kollege mal und da hoffe ich das er auch beide findet.

 

hier nochmal ein fettes dankeschön für die netten und schnellen hilfen und das problem so mega schnell gelöst wurde vielen lieben dank

  

Edited by dickamix
Link to comment
11 minutes ago, dickamix said:

/serverdata/steamcmd         /mnt/user/serverjannik/valheimderlord/steamcmd/        SERVER 1   da wollte ich nix mehr am verzeichnis, ändern da schon

Das kannst du ruhig auf '/mnt/user/tim/appdata/steamcmd' ändern da passiert nix und dann löscht du einfach das Verzeichnis '/mnt/user/serverjannik/valheimderlord/steamcmd' am Server ;)

 

 

12 minutes ago, dickamix said:

später versucht es ein kollege mal und da hoffe ich das er auch beide findet.

Wenn du ihn in Game nicht findest bitte über den Steam Server Browser versuchen, Anleitung findest in meinem Game Server Thread bei den Docker Containern.

 

Vergiss bitte nicht das Spiel ist noch early alpha und es gibt noch viele Probleme...

 

Sollte deine Welt mal gelöscht werden oder der Server nicht mehr richtig starten mein Container macht Backups die du jederzeit wiederherstellen kannst nur ist wichtig das du vorher den Container stoppst und dann wieder neu startest, wie oben schon geschrieben, schau im Game Server Thread vorbei ein user hat dort einen super Guide geschrieben was zu tuhen ist (2. Recommended Post ganz oben im Game Server Thread).

  • Like 1
Link to comment
4 hours ago, ich777 said:

...und jetzt zu deinem eigentlichen Problem, nur kurz als "Intro" viele Spieleserver mögen es nicht wenn du eine Portweiterleitung machst (speziell die Steam eigenen 27015-27030) intern von Docker 2456 zu, wie in deinem Beispiel 2460 deswegen hab ich auch in der Beschreibung von den Ports diesen Satz bei jedem Gameserver dabei:

[...]

Danach klickst du auf 'Apply' und dein Server startet mit den Ports 2460-2463 UDP.

...nur damit ich es nochmal richtig verstehe...

Das Problem lag also darin, dass die Ports nicht 1:1 mit gleichen "Nummern" innen, wie aussen belegt wurden? Denn ein Portkonflikt war da so nicht zu erkennen. 🤣

  • Like 1
Link to comment
57 minutes ago, Ford Prefect said:

Das Problem lag also darin, dass die Ports nicht 1:1 mit gleichen "Nummern" innen, wie aussen belegt wurden?

Genau.

 

Das Problem ist eben das wenn du in der config den Port auf 2456 lässt so wie @dickamix und dann aber die Ports von 2456->2460 (GamePort), 2457->2461 (QueryPort) & 2458->2462 (hab noch nicht herausgefunden für was der gehört aber der wird gebraucht) durch das Docker Netzwerk Routest du ihn durch das geroutete Query Port 2461 zwar im Steam Server Browser sehen kannst aber sobald du einsteigen willst geht das nicht weil das Query Port dem Spiel sagt, hey der Gameport für das Spiel mit dem Identifier ist auf Port 2456 und das Spiel versuchst sich dann auf Port 2456 zu verbinden anstatt auf 2460 also laufen die Anfragen ins leere bzw. wenn du einen Server auf dem anderem Gameport hast wird das geblockt weil der Identifier den das Query port für das Spiel mitschickt nicht stimmt und laufen mehr oder weniger auch ins Leere oder manche Gameserver zeigen dir dann das Spiel an das am Standard Port läuft und verbinden dich dort hin (das ist eine mehr als vereinfachte Erklärung aber ich hoffe das ist soweit verständlich).

 

Das gleiche gilt übrigens auch wenn du den standard Serverport 2456 im Docker Template belässt und dann ein NAT von intern auf extern machst mit den Ports 2456->2460, 2457->2461 & 2458->2462 funktioniert auch nicht...

 

Das ist übrigens bei den meisten Spieleservern so deswegen hab ich extra den Hinweis reingeschrieben das der/die Ports in der Config bzw. so wie im Fall von Valheim im Template die Variable 'GAME_PORT' geändert gehöret und die alten Ports im Template gelöscht und neue dementsprechende Ports angelegt gehören.

 

Hoffe ich hab das halbwegs verständlich erklären können... :D

 

EDIT: Probier mal das du zB den Server im Steam Server Browser suchst mit dem Query Port, sprich DEINEIP:2457 oder DEINEIP:2461 dann wirst du sehen das der Query port dich zurück auf den Gameport schickt wenn du auf die Serverdetails klickst weil eben der Query Port den Gameport mitschickt.

  • Thanks 1
Link to comment
36 minutes ago, dickamix said:

welchen port sollte ich dan am besten im modem/router freigeben?

Du MUSST alle Ports die auch der Gameserver hat freigeben also einmal 2456-2458 UDP und 2460-2462 UDP und beide zu deiner Internen IP von deinem Unraid Server (soweit ich sehe ist das 192.168.2.113).

 

28 minutes ago, dickamix said:

wiso habe ich einmal meine ip und einmal die von duckdns?

Weil du es wahrscheinlich so eingegeben hast.

Wenn du einmal DEINEDOMAIN:2461 eingegeben hast dann löst er automatisch den hostnamen auf und schreibt dir die externe IP hin.

Beim 2. sieht es so aus wie wenn du DEINIP:2457 eingegeben hast.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...