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.
/serverdes 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:
- Geyser lauscht im Container auf TCP und UDP 19132.
- Compose enthält
19132:19132/tcpund19132:19132/udp. - Die Host-Firewall erlaubt TCP und UDP 19132.
- Router oder Cloud-Firewall erlauben TCP und UDP 19132 zum Host.
Die Java-TCP-Regel bleibt zusätzlich bestehen:
| Client | Öffentlicher Endpunkt |
|---|---|
| Java Edition | play.example.com:25565/tcp |
| Bedrock mit NetherNet | play.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
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Java funktioniert, Bedrock meldet „Unable to connect“ | Ein Port des gewählten Transports ist nicht erreichbar | RakNet: UDP und geyser connectiontest prüfen; NetherNet: TCP-Signalisierung, angekündigten UDP-Port und echten Beitritt prüfen |
| Geyser läuft auf jedem Backend | Geyser wurde am falschen Ort installiert | Geyser nur auf Velocity behalten |
| Bedrock erreicht Geyser, aber keinen Server | Velocity-Verbindung oder Version passt nicht | Java-Verbindung und Geyser-Versionen prüfen |
| Floodgate-Login verlangt Java-Authentifizierung | Auth-Type nicht auf Floodgate | Erzeugte Geyser-/Floodgate-Konfiguration angleichen |
AEADBadTagException nach Schlüsselkopie | Schlüssel unterscheiden sich oder wurden falsch übertragen | Exakte Schlüssel gemäß Floodgate-Doku neu verteilen |
| UDP 19132 kollidiert mit einem anderen Plugin | Zwei Dienste verwenden denselben UDP-Port | Jedem Dienst einen eigenen Port geben |
Nächste Schritte
- Bei instabilen Java-Verbindungen hilft die Anleitung zur Backend-Verbindung.
- Erzeuge eine klare Java-Spieleradresse mit dem Minecraft-SRV-Generator; der Bedrock-Port bleibt explizit.
- Prüfe vor Upgrades erneut die von Geyser unterstützten Versionen.