setupmc.com

Velocity Modern Forwarding mit Paper konfigurieren

Gleiche die Forwarding-Einstellungen ab, schütze das gemeinsame Secret und sperre direkte Backend-Zugriffe.

Sicherheit
setupmc.com Team

Spielerweiterleitung und Netzwerkschutz gehören zusammen

Velocity authentifiziert die öffentliche Verbindung. Paper läuft mit online-mode=false, damit es die vom Proxy übermittelte Identität akzeptiert. Allein wäre diese Einstellung gefährlich: Bei direktem Zugriff könnte sich ein Spieler möglicherweise als fremdes Konto ausgeben.

Modern Forwarding schützt die Identitätsdaten durch ein gemeinsames Secret. PaperMC empfiehlt trotzdem eine Firewall oder gleichwertige Isolation. Das Secret ergänzt die Netzwerkgrenze, ersetzt sie aber nicht.

Falls Proxy und Paper-Server noch nicht gemeinsam laufen, beginne mit der Velocity-Einrichtung mit Docker Compose.

Einstellungen am Proxy

Stoppe beide Container vor der Änderung:

docker compose down

Setze in proxy/velocity.toml:

online-mode = true
player-info-forwarding-mode = "modern"
forwarding-secret-file = "forwarding.secret"

Velocity übernimmt mit online-mode=true die Mojang-/Microsoft-Authentifizierung. Der moderne Forwarding-Modus ist für Minecraft 1.13 und neuer vorgesehen und wird von aktuellen Paper-Versionen direkt unterstützt.

Lies den Wert aus proxy/forwarding.secret, ohne ihn in Befehlszeilen, Git, Screenshots oder Supportnachrichten zu übernehmen. Fehlt die Datei, starte Velocity einmal zur Generierung und stoppe es danach wieder.

Einstellungen am Paper-Backend

Paper muss bereits einmal gestartet worden sein, damit lobby/config/paper-global.yml existiert.

Setze in lobby/server.properties:

online-mode=false

Öffne danach lobby/config/paper-global.yml:

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "hier-das-exakte-forwarding-secret-eintragen"

Der Wert proxies.velocity.online-mode muss zu online-mode im Proxy passen. Er ersetzt nicht den Eintrag in server.properties; beide beschreiben unterschiedliche Seiten der Authentifizierung.

Falls vorher BungeeCord-Legacy-Forwarding aktiv war, schalte es in spigot.yml aus:

settings:
  bungeecord: false

Mische moderne und alte Weiterleitung nicht. Für einen Verbindungspfad wird genau ein Verfahren verwendet.

Backend-Port privat halten

Innerhalb desselben Compose-Projekts braucht Paper keine Portweiterleitung zum Host:

services:
  proxy:
    ports:
      - "25565:25577"
    networks: [minecraft]

  lobby:
    networks: [minecraft]

networks:
  minecraft: {}

Velocity nutzt intern lobby:25565. Kontrolliere die tatsächliche Compose-Ausgabe:

docker compose config
docker compose port proxy 25577
docker compose port lobby 25565

Nur der Proxy darf eine öffentliche Portweiterleitung anzeigen.

Laufen Proxy und Backend auf verschiedenen Hosts, reicht ein Compose-Netzwerk nicht aus. Begrenze Paper in der Host- und Provider-Firewall auf die Proxy-Adresse oder transportiere den Datenverkehr durch ein privates, verschlüsseltes Netzwerk. Ein Backend mit deaktivierter Online-Authentifizierung darf nie offen im Internet stehen.

Neustart und Identitätstest

Starte beide Seiten und beobachte ihre Logs:

docker compose up -d
docker compose logs -f proxy lobby

Ein vollständiger Test erfüllt alle Bedingungen:

  • Velocity authentifiziert das Java-Konto.
  • Paper akzeptiert den Login ohne Forwarding-Fehler.
  • UUID, Skin und Adressdaten kommen korrekt über Velocity an.
  • Eine direkte Verbindung zum Backend ist nicht möglich.
  • Ein Container-Neustart verändert Secret und Modus nicht.

Teste zusätzlich mit einem Konto ohne Operatorrechte. Ein OP-Konto kann Berechtigungs- und Routingfehler verdecken.

Offengelegtes Secret rotieren

Sobald der Wert in Git, Logs, Chat oder Screenshot sichtbar war, gilt er als kompromittiert:

  1. Proxy und alle Backends stoppen.
  2. proxy/forwarding.secret durch einen neuen langen Zufallswert ersetzen.
  3. Den identischen Wert in jedem Paper-Backend eintragen.
  4. Erneut prüfen, dass kein Backend-Port öffentlich ist.
  5. Das gesamte Netzwerk starten und einen echten Login testen.

Nur eine Seite zu ändern führt absichtlich zu fehlgeschlagenen Logins.

Fehlerbehebung

Meldung oder SymptomUrsacheLösung
This server requires you to connect with VelocityPaper erwartet Modern Forwarding, Velocity sendet es nichtProxy auf modern stellen und beide Seiten neu starten
Login scheitert nach Secret-WechselWerte stimmen nicht übereinExakten neuen Wert auf alle Backends übernehmen
UUIDs oder Skins sind falschLegacy-/kein Forwarding aktivBungee-Forwarding deaktivieren und Modern-Konfiguration prüfen
Direkter Backend-Login gelingtHost-Port oder Firewall machen Paper öffentlich erreichbarPortweiterleitung entfernen und Zugriff sofort schließen
Proxy erreicht Paper gar nichtDocker-Netzwerk, Service oder Port falschBackend-Verbindung prüfen

Nächste Schritte

Passendes Tool nutzen

Minecraft-Proxy-Konfigurator

Erstelle ein Docker-Compose-Setup für Velocity, BungeeCord oder einen eigenen Proxy.

Minecraft-Proxy-Konfigurator öffnen

Häufige Fragen