Backend-Server hinter Velocity laufen mit online-mode=false. Wer sie direkt erreicht, kann jeden Namen benutzen, auch deinen.
Schalte Modern Forwarding mit geheimem Schlüssel ein und lass die Backends nur vom Proxy erreichen. Danach testest du, dass der direkte Weg wirklich zu ist.
Inhalt
Das Risiko
In einem Netzwerk prüft Velocity (der Proxy, auf dem deine Spieler landen), wer sich einloggt. Die Server dahinter, die Backends (Lobby, Citybuild, SkyPvP …), laufen deshalb mit online-mode=false: Sie verlassen sich darauf, dass der Proxy schon geprüft hat.
Ist der Port eines Backends aber aus dem Internet erreichbar, kann sich jemand direkt damit verbinden, am Proxy vorbei. Ohne weitere Absicherung kann er dabei jeden Namen angeben, auch deinen. Hat dein Name OP-Rechte, gehört der Server in diesem Moment ihm.
Scanner-Bots durchsuchen das ganze Internet nach Minecraft-Servern, ein offener Port fällt meist innerhalb von Stunden auf. Mehr dazu in Fremde Namen und IPs in den Server-Logs.
Schritt 1: Modern Forwarding einschalten
Modern Forwarding heißt: Velocity schickt die Spielerdaten mit einem geheimen Schlüssel an die Backends, und Paper lässt nur Verbindungen mit diesem Schlüssel rein. Wer den Schlüssel nicht kennt, kommt nicht auf das Backend, auch wenn der Port offen wäre.
In der velocity.toml:
player-info-forwarding-mode = "modern"Den Schlüssel legt Velocity in der Datei forwarding.secret an (im selben Ordner). Behandle ihn wie ein Passwort.
Auf jedem Backend in config/paper-global.yml:
proxies:
velocity:
enabled: true
online-mode: true
secret: "inhalt-deiner-forwarding.secret"online-modemuss genauso stehen wieonline-modein deinervelocity.toml. Bei einem Cracked-Netzwerk also beide auffalse.- In der
server.propertiesjedes Backends bleibtonline-mode=false, und in derspigot.ymlstehtsettings.bungeecord: false. - Auf Paper 1.18.2 und älter heißen die Einstellungen anders:
settings.velocity-supportin derpaper.yml.
Das alte BungeeCord-Forwarding hat keinen Schlüssel und lässt sich fälschen. Installiere dort BungeeGuard auf dem Proxy und auf jedem Backend und trag denselben Token ein, oder steig auf Velocity um.
Schritt 2: Backends nur für den Proxy öffnen
Der Schlüssel schützt, die Firewall ist die zweite Tür. Ein Backend muss aus dem Internet gar nicht erreichbar sein, nur von deinem Velocity aus.
- Alles auf einem Server?
Dann trag in der
server.propertiesjedes Backendsserver-ip=127.0.0.1ein. Das Backend hört dann nur noch auf den eigenen Rechner, und Velocity verbindet sich über127.0.0.1:<Port>. Von außen ist es nicht mehr erreichbar. - Backends auf anderen Servern?
Dann erlaubst du den Backend-Port nur für die IP deines Velocity, zum Beispiel mit
ufw:
sudo ufw allow from <IP-deines-Velocity> to any port 25566 proto tcp
sudo ufw deny 25566/tcpDocker umgeht ufw: Ports, die ein Container freigibt, sind trotz dieser Regeln erreichbar. Nutzt du Docker oder ein Panel wie Pterodactyl, richte die Regel in der Firewall deines Hosters ein, oder frag uns im Discord.
Schritt 3: Vor Velocity nur den Schutz durchlassen
Dasselbe Prinzip gilt eine Stufe weiter vorn: Läuft dein Netzwerk hinter BlackProtect, muss auch Velocity nur von unseren Filter-Servern erreichbar sein. Sonst kann ein Angreifer mit der echten IP am Schutz vorbei angreifen. Die aktuellen Adressen und Befehle, live geladen:
- Frankfurt am Main
194.62.248.59 - Nürnberg
185.217.124.16
# SSH zuerst erlauben, sonst sperrst du dich aus!
# (Läuft SSH bei dir auf einem anderen Port, trag ihn statt 22 ein.)
sudo ufw allow 22/tcp
# Minecraft nur für die Filter-Server von BlackProtect
sudo ufw allow from 194.62.248.59 to any port 25565 proto tcp
sudo ufw allow from 185.217.124.16 to any port 25565 proto tcp
# Eine alte Freigabe für alle entfernen (falls vorhanden)
sudo ufw delete allow 25565/tcp
sudo ufw enable
sudo ufw statusLäuft dein Velocity nicht auf Port 25565, ersetze den Port in den Befehlen. Mehr dazu in Server-IP verstecken.
Schritt 4: Testen, ob der direkte Weg zu ist
- Direkt verbinden versuchen
Trag im Minecraft-Client unter Server hinzufügen die IP und den Port eines Backends ein, also nicht die Adresse deines Netzwerks. Mach das von einem anderen Internet aus, zum Beispiel über das Handy als Hotspot.
- Ergebnis lesen
Richtig ist: Der Server erscheint gar nicht oder die Verbindung wird abgelehnt. Kommst du auf das Backend, ist es noch offen, dann prüf Schritt 1 und 2.
- Über das Netzwerk joinen
Zum Schluss ganz normal über deine Domain joinen. Klappt das, stimmen Schlüssel und Firewall.
Häufige Fragen
Reicht Modern Forwarding, wenn ich keine Firewall einrichten kann?
Es ist der wichtigste Schritt: Ohne Schlüssel kommt niemand mit fremdem Namen auf ein Backend. Die Firewall ist die zweite Absicherung, falls einmal eine Einstellung nicht stimmt. Am besten machst du beides.
Was ist der Unterschied zu PROXY protocol?
PROXY protocol gibt die echte Spieler-IP vom DDoS-Schutz an Velocity weiter. Modern Forwarding gibt Name, UUID und IP von Velocity an die Backends weiter. Bei einem Netzwerk hinter BlackProtect brauchst du beides.
Muss ich nach der Umstellung meine Spieler informieren?
Nein. Für Spieler ändert sich nichts, sie joinen weiter über dieselbe Adresse. Nur wer bisher direkt auf ein Backend gejoint ist, kommt dort nicht mehr rein, und genau das ist gewollt.
