Wir hatten ab zwei Spielern relativ starke Probleme und wissen nicht warum. Sowohl der vServer, als auch der Spieleserver waren mit einer "average load" von ca. 0,7 kaum ausgelastet. Von drei Spielern hatten immer zufällig ein bis zwei massive Probleme und Lags oder waren nicht sichtbar und hatten Nacht, obwohl Tag war. Meine Geduld war damit zu Ende, ich habe alles deaktiviert und wir haben einen Server gemietet.
Ich habe mir die Lösung aus vielen Quellen zusammen gesucht und auch viel auf englischen Seiten recherchiert. Selbst als Laie versteht man nach einiger Zeit Zusammenhänge und passt Lösungen entsprechend an. Und da das Ziel am Ende zwar erreicht wurde aber mit unbefriedigender Performance, werde ich den Weg nur skizzieren:
Ich habe mit Hilfe
Sie müssen registriert sein, um Links zu sehen.
(oder ähnlicher Anleitungen) eine Verbindung zwischen meinem vServer und dem Spieleserver (der bei mir den
Pi in der Anleitung ersetzt) aufgesetzt. Dann habe ich auf dem vServer mit
iptables ein NAT aufgesetzt (
Sie müssen registriert sein, um Links zu sehen.
) und nach meinen Bedürfnissen angepasst.
Hier sind die entsprechenden Scripte, angepasst auf meine Bedürfnisse:
Bash:
#!/bin/bash
#add-nat-routing.sh
iptables-save | uniq | iptables-restore#!/bin/bash
IPT="/sbin/iptables"
#IPT6="/sbin/ip6tables"
IN_FACE="eth0" # NIC connected to the internet
WG_FACE="wg0" # WG NIC
SUB_NET="173.14.100.0/24" # WG IPv4 sub/net aka CIDR
WG_PORT="11111" # WG udp port
#SUB_NET_6="gd11:11:11:11::/112" # WG IPv6 sub/net
## IPv4 ##
# ACHTUNG! Hier ist zu viel offen! Es kann quasi jeder rein.
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -I INPUT 1 -i $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
#Umleitung zum Spieleserver
$IPT -t nat -A PREROUTING -p udp --dport 2456 -j DNAT --to-destination 172.16.100.10:2456
$IPT -t nat -A PREROUTING -p udp --dport 2457 -j DNAT --to-destination 172.16.100.10:2457
$IPT -t nat -A PREROUTING -p udp --dport 2458 -j DNAT --to-destination 172.16.100.10:2458
Bash:
#!/bin/bash
#remove-nat-routing.sh
IPT="/sbin/iptables"
#IPT6="/sbin/ip6tables"
IN_FACE="eth0" # NIC connected to the internet
WG_FACE="wg0" # WG NIC
SUB_NET="173.14.100.0/24" # WG IPv4 sub/net aka CIDR
WG_PORT="11111" # WG udp port
#SUB_NET_6="gd11:11:11:11::/112" # WG IPv6 sub/net
# IPv4 rules #
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -D INPUT -i $WG_FACE -j ACCEPT
$IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
$IPT -t nat -D PREROUTING -p udp --dport 2456 -j DNAT --to-destination 172.16.100.10:2456
$IPT -t nat -D PREROUTING -p udp --dport 2457 -j DNAT --to-destination 172.16.100.10:2457
$IPT -t nat -D PREROUTING -p udp --dport 2458 -j DNAT --to-destination 172.16.100.10:2458
Erklärungen zur Portweiterleitung etc. finden sich in den Anleitungen.
Vielleicht Hilft es jemandem weiter.
LG
xfeldt