setupmc.com

Geyser und Floodgate auf Velocity mit Docker einrichten

Installiere Geyser am Proxy, konfiguriere NetherNet und prüfe die Anmeldung der Bedrock-Spieler.

Netzwerk
setupmc.com Team

NetherNet ist jetzt erforderlich: Bedrock 26.60 erschien am 27. Oktober 2026. Laut Geyser verbinden sich Clients ab 26.60 nicht mehr über RakNet. Aktualisiere Geyser und verwende transport: nethernet; ein Rückwechsel zu RakNet repariert aktuelle Clients nicht.

Für iPhone-/iPad-Probleme und Zertifikate: HTTPS-Guide für iOS und iPadOS.

Geyser zentral auf dem Proxy installieren

Der vorhandene direkte Geyser-/Floodgate-Guide installiert beide Plugins auf einem einzelnen Paper-Server. Hier ist Velocity bereits der öffentliche Einstieg für mehrere Backends. Deshalb läuft Geyser zentral auf dem Proxy.

Die aktuelle Geyser-Anleitung für Proxy-Netzwerke verlangt:

  • Geyser ausschließlich auf dem Proxy installieren
  • Floodgate für Bedrock-Authentifizierung auf dem Proxy installieren
  • Floodgate nur bei benötigter API oder zusätzlichen Daten auf Backends ergänzen
  • alle Backends mit der Java-Protokollversion kompatibel halten, die Geyser aktuell emuliert

Prüfe vor Updates die von Geyser unterstützten Versionen.

Schritt 1: Velocity-Netzwerk prüfen

Bevor du Crossplay hinzufügst, müssen diese Punkte stimmen:

  • Java-Spieler erreichen über Velocity ein Paper-Backend.
  • Velocity Modern Forwarding funktioniert.
  • Backend-Ports sind nicht öffentlich.
  • /server des Proxys ist dauerhaft eingebunden.

Nutze bei Bedarf zuerst die Velocity-Einrichtung mit Docker Compose und die Anleitung zur sicheren Spielerweiterleitung.

Schritt 2: Plugins und NetherNet-Ports ergänzen

itzg/mc-proxy kann Plugins aus URLs laden. Ergänze die offiziellen Velocity-Downloads von Geyser und Floodgate sowie TCP-Signaling und UDP-Spielport:

services:
  proxy:
    image: itzg/mc-proxy:latest
    ports:
      - "25565:25577/tcp"
      - "19132:19132/tcp"
      - "19132:19132/udp"
    environment:
      TYPE: VELOCITY
      MEMORY: 1G
      PLUGINS: "https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/velocity,https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/velocity"
    volumes:
      - ./proxy:/server

Die latest-Links sind für den ersten Aufbau praktisch, können später aber eine neue Version liefern. Für planbare Updates solltest du geprüfte Versionen fest eintragen oder bekannte JAR-Dateien aufbewahren und gemeinsam testen.

Prüfe und starte:

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

Beide Plugins müssen ohne Fehler zu fehlenden Abhängigkeiten oder zur Java-Version geladen werden.

Schritt 3: Bedrock-Port konfigurieren

Du hostest auf deinem PC oder NAS? Die Anleitung Öffentliche IP ohne gemieteten Server finden erklärt die Abfrage im Heimnetz und den Vergleich mit der Router-WAN-Adresse. Nutze keine lokale PC-IP als öffentliche Ankündigung.

Öffne nach dem ersten Start die erzeugte Geyser-Konfiguration im Plugin-Verzeichnis und kontrolliere:

bedrock:
  address: 0.0.0.0
  port: 19132
  clone-remote-port: false
  transport: nethernet
  webrtc-port: 0
  signaling:
    mode: builtin
    advertise-addresses:
      - "DEINE_OEFFENTLICHE_IP:19132"

transport: nethernet aktiviert den Transport für aktuelle Clients. 0.0.0.0 bindet an die Container-Schnittstellen. Veröffentliche TCP und UDP 19132 und ersetze die angekündigte IP durch deine erreichbare öffentliche IP.

Suche in derselben erzeugten Geyser-Konfiguration nach auth-type und setze den Wert auf floodgate. Der umgebende Abschnitt kann sich zwischen Konfigurationsversionen ändern. Bearbeite deshalb die tatsächlich erzeugte Datei, statt sie komplett durch ein altes Beispiel zu ersetzen.

docker compose restart proxy
docker compose logs --tail=150 proxy

Schritt 4: Die gewählten Bedrock-Ports durchgängig öffnen

Für NetherNet müssen alle vier Ebenen TCP-Signaling und UDP-Spielverkehr erlauben:

  1. Geyser lauscht im Container auf TCP und UDP 19132.
  2. Compose enthält 19132:19132/tcp und 19132:19132/udp.
  3. Die Host-Firewall erlaubt TCP und UDP 19132.
  4. Router oder Cloud-Firewall erlauben TCP und UDP 19132 zum Host.

Die Java-TCP-Regel bleibt zusätzlich bestehen:

ClientÖffentlicher Endpunkt
Java Editionplay.example.com:25565/tcp
Bedrock mit NetherNetplay.example.com:19132 (TCP + UDP)

Ein Java-SRV-Record entfernt den Bedrock-Port in diesem Aufbau nicht. Gib Bedrock-Spielern den Port ausdrücklich an.

Bestehende RakNet-Installation migrieren

Sichere die erzeugte Geyser-Konfiguration, übernimm die NetherNet-Einstellungen oben und ergänze die TCP-Freigabe neben der UDP-Freigabe. Behalte Floodgate- und Backend-Einstellungen. Nach geänderten Docker-Freigaben verwendest du docker compose up -d, danach einen vollständigen Server-/Proxy-Neustart. Der NetherNet-Guide erklärt abweichende Portzuordnungen, externes Signaling und aktuelle Fehlerberichte.

Schritt 5: Intern und extern prüfen

Kontrolliere zunächst die Portweiterleitung:

docker compose port --protocol udp proxy 19132
docker compose logs --tail=150 proxy

Für NetherNet prüfst du die TCP-Signalisierung mit curl --fail --max-time 10 http://DEINE_OEFFENTLICHE_IP:19132/v1/join. Ersetze den Platzhalter durch deine öffentliche IP. Wenn du Server-JSON erhältst, teste einen vollständigen Bedrock-Beitritt von außerhalb deines Netzwerks. Nutze bei Fehlern die NetherNet-Verbindungstests.

Der erste Login muss über Velocity dasselbe Backend wie Java-Spieler erreichen. Vergleiche Proxy- und Backend-Log und kontrolliere Namen sowie UUID-Verhalten gemäß deiner Floodgate-Konfiguration.

Wann Floodgate auch auf Backends gehört

Normales Crossplay benötigt Floodgate nicht auf jedem Paper-Server. Ergänze es nur für Backend-Plugins, die Floodgate-API, Skin-Daten oder andere Floodgate-Informationen brauchen.

Das offizielle erweiterte Verfahren verlangt send-floodgate-data: true am Proxy und dieselbe key.pem auf den vertrauenswürdigen Backends. Dieser Schlüssel ermöglicht Bedrock-Authentifizierung. Veröffentliche oder versende ihn niemals an nicht vertrauenswürdige Personen. Übertrage ihn binär und beschränke die Dateirechte.

Fehlerbehebung

SymptomWahrscheinliche UrsacheLösung
Java funktioniert, Bedrock meldet „Unable to connect“Ein Port des gewählten Transports ist nicht erreichbarRakNet: UDP und geyser connectiontest prüfen; NetherNet: TCP-Signalisierung, angekündigten UDP-Port und echten Beitritt prüfen
Geyser läuft auf jedem BackendGeyser wurde am falschen Ort installiertGeyser nur auf Velocity behalten
Bedrock erreicht Geyser, aber keinen ServerVelocity-Verbindung oder Version passt nichtJava-Verbindung und Geyser-Versionen prüfen
Floodgate-Login verlangt Java-AuthentifizierungAuth-Type nicht auf FloodgateErzeugte Geyser-/Floodgate-Konfiguration angleichen
AEADBadTagException nach SchlüsselkopieSchlüssel unterscheiden sich oder wurden falsch übertragenExakte Schlüssel gemäß Floodgate-Doku neu verteilen
UDP 19132 kollidiert mit einem anderen PluginZwei Dienste verwenden denselben UDP-PortJedem Dienst einen eigenen Port geben

Nächste Schritte

Quellen

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