V-Rising Server


Balu0209

Recommended Posts

Hallo zusammen.

Hoffe ich könnt mir nochmal helfen.

Ich habe einen V-Rising Server aufgesetzt.
Kann allerdings nicht extern auf diesen verbinden.
 

Der Server läuft und komme intern, sprich im Lan, problemfrei drauf.
Inklusive altem Savegame und so weiter.

Der Server läuft im Bridge Mode.
UDP Ports sind sowohl in der Fritzbox als auch auf dem VPS freigegeben.
VPS da ich leider nur ne öffentliche IPV6 habe.

Ports vom Server decken sich mit den Ports der Config Datei.

Um ganz sicher zu gehen hab ich im NPM sogar einen Streamhost über die Ports eingerichtet.

 

Woran könnte es noch liegen?

Link to comment

Erreichst du denn NPM über die IPv4 des VPS?

Hast du mal versucht einen einfachen Webserver über NPM erreichbar zu machen? Einfach damit du weiß, dass es grundsätzlich geht?

 

1 hour ago, Balu0209 said:

Um ganz sicher zu gehen hab ich im NPM sogar einen Streamhost über die Ports eingerichtet.

Nur das kann überhaupt gehen, weil NPM, also nginx, primär ein Web-Proxy ist. Nur der Stream Host erlaubt Nicht-HTTP-Traffic weiterzuleiten. Ein Stream-Host versteht übrigens keine Domains, sondern leitet stumpf jeglichen Traffic auf Port X an Port Y weiter. Natürlich muss man dann auch den Port, sofern NPM ebenfalls im Bridge-Modus läuft, ebenfalls beim Docker freigeben, denn sonst erreichst du NPM gar nicht erst.

 

Was du über das Unraid Terminal testen kannst:

 

curl http://ipvomvps

 

Das muss den HTML Quelltext der NPM Statusseite zurückgeben.

 

 

Dann das:

 

 

telnet ipvomvps portvomspiel

 

Das muss ein "connected" zurückgeben. Mit STRG+C kannst du die telnet Verbindung beenden.

 

 

 

 

 

 

Link to comment
1 hour ago, mgutt said:

Erreichst du denn NPM über die IPv4 des VPS?

Jap das geht ohne Probleme.
Da läuft unter anderem auch Nextcloud und Plex drüber.

 

Allerdings war das mit dem NPM auch nur weil, mir sonst nix mehr eingefallen ist.
Wenn ich das richtig verstanden habe, müsste der NPM quasi gar nicht dazwischen funken.
Man verbindet sich ja im Client direkt mit dem V-Rising Server per IP und Port. Quasi an den Ports vom NPM vorbei.
Oder versteh ich das gerade falsch.

 

NPM läuft bei mir im Host-Modus.
Über den Befehl kommt nur:
curl: (6) Could not resolve host: ipvomvps

1 hour ago, ich777 said:

Der kann kein UDP oder?

mhm dann scheint es wohl daran zu liegen oder?
Was kann man da machen?

Mir scheint IPV6 ist mehr Fluch als Segen.

Link to comment
4 minutes ago, Balu0209 said:

mhm dann scheint es wohl daran zu liegen oder?
Was kann man da machen?

Es gibt schon Container die das glaub ich durch routen können aber ich hab mich ehrlich gesagt noch zu wenig mit UDP beschäftigt, hab mir nur selbst damals einen Container für so einen SSH Tunnel geschrieben und benutz den nur als absolutes failover.

 

Ich glaube deine Lösung die du verwendest ist sowas wie ein abgewandelter SSH Tunnel zu der VPS und die VPS exposed dann die Ports.

Link to comment
18 hours ago, mgutt said:

Ähm "IPvomVPS" mussr du natürlich ersetzen 😅

ohhh, das is peinlich. Sehr sogar.

Na mit Ip klappt auf jeden Fall deutlich besser.
Aber die Spiele Ports erzeugen tatsächlich kein "connected".
443 und 80 als Gegenprobe allerdings schon.

Damit wäre dann wohl bewiesen das UPD nicht klappt.

Gibt es da ne alternative zu 6Tunnel?

Link to comment

Klappt leider immer noch nicht.

Ich hab statt 6tunnel nun mal socat auf dem VPS installiert.
Socat unterstützt auch UDP.

Aber leider kein Erfolg.

TCP Tunnel funktionieren wie auch in 6tunnel problemlos.
Auch bei UDP Tunneln wird mir kein Fehler ausgeworfen.

Aber per VPS-ipv4:UDPport dann auf den V-Rising Server zu verbinden funktioniert nicht.

Ich weiß nicht mehr weiter

 

Link to comment

 So, was lange währt wird endlich gut!

Server ist von außer erreichbar😁

Spannender und für mich unerklärlicherweise funktioniert das ganze nicht, wenn ich direkt auf die Spiele Ports verbinde.
Ich hab letztlich einen Tunnel für einen ganz anderen Port per NPM Streamhost auf die richtigen Ports umgeleitet.
Und nu funktioniert es.
Wenn gewünscht kann ich das hier auch gerne detaillierter posten.

Danke an euch zwei für die Hilfe! 
 

Link to comment

Sorry, hat ein wenig gedauert, aber hier nun mal Detaillierter, wie ich den Server ans Laufen gekriegt habe:

 

Auf einen V-Rising Server kann man sich nur mittels IPV4 direkt verbinden.
IPV6 Adressen sind ungültig und können leider nicht eigegeben werden.

 

Hat man nun keine öffentliche IPV4, sondern nur eine IPV6, muss man sich anderweitig helfen.

 

In dem Fall mit einem VPS und entsprechendem Tunnel.

Da man für V-Rising allerdings auch UPD Ports durchreichen muss, kommt "6tunnel" nicht in Frage.
"6tunnel" kann leider nur TCP. 

Abhilfe schafft hier zum Beispiel "socat".
Die Installation von "socat" funktioniert genauso wie bei "6tunnel".
Sollte man schon einen VPS haben auf dem "6tunnel" läuft, ist zu beachten, das man "6tunnel" erst einmal löschen muss und anschließend den Server einmal neu startet, da sonst die Ports ins "socat" nicht durchgereicht werden können.

Mit folgenden Befehlen können die Tunnel nun eingerichtet werden:

 

Für TCP:
echo -n 80 443| xargs -d ' ' -I% bash -c 'socat TCP4-LISTEN:%,fork TCP6:[eureIPV6]:% &'

 

Für UPD:
echo -n 8888 8889| xargs -d ' ' -I% bash -c 'socat UDP4-LISTEN:%,fork UDP6:[eureIPV6]:% &'


Die UPD Ports für den V-Rising Server sind eigentlich 9876 und 9877.
Interessanterweise kann man sich trotz der Portfreigabe, aber nicht direkt auf den V-Rising Server verbinden.
Keine Ahnung warum das so ist. 

Gelöst habe ich das Problem so:
Anstatt der Ports 9876 und 9877, habe ich einfach irgendwelche anderen Ports in "socat" frei gegeben.
In dem Beispiel oben, die Ports 8888 und 8889.

Anschließend habe ich im Nginx-Proxy-Manager einfach zwei StreamHosts eingerichtet, die auf die Ports 8888 und 8889 lauschen, und diese dann an die richtigen Ports 9876 und 9877 durchreichen.

 

Und siehe da, es funktioniert.
Man bzw. jeder kann nun mit der IPV4 des VPS und Port 8888 auf den V-Rising Server verbinden.

Link to comment
On 9/4/2022 at 10:49 AM, Balu0209 said:

Anschließend habe ich im Nginx-Proxy-Manager einfach zwei StreamHosts eingerichtet, die auf die Ports 8888 und 8889 lauschen, und diese dann an die richtigen Ports 9876 und 9877 durchreichen.

Ist das wirklich notwendige bzw. warum? Kannst du nicht einfach native die Ports nach außen mit socat frei geben ohne Nginx-Proxy-Manager? Ich hab das nie verstanden bzw. versteh es noch immer nicht warum man game traffic durch einen reverse proxy routet, das bringt nichts außer im schlimmsten Fall Probleme...

Link to comment
18 hours ago, ich777 said:

Ist das wirklich notwendige bzw. warum? Kannst du nicht einfach native die Ports nach außen mit socat frei geben ohne Nginx-Proxy-Manager? Ich hab das nie verstanden bzw. versteh es noch immer nicht warum man game traffic durch einen reverse proxy routet, das bringt nichts außer im schlimmsten Fall Probleme...

Wie oben schon geschrieben, aus irgendwelchen Gründen klappt das nicht.
Das war ja auch mein erster Ansatz, einfach direkt die Ports frei geben und Verbinden.
Allerdings kommt dann immer ein Timeout.
Daher hatte ich es mit diesem Umweg probiert.

Link to comment
  • 3 weeks later...

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.