Skip to content

Wiki bar

pjscruggs edited this page Nov 11, 2026 · 2 revisions

Raknetify2 · Boarisch (Bayern)

Sprooch

Meahspiela

Netzwerkverbindungen üba RakNet fia Minecraft-Clients und -Serva.

Untaladn · GitHub

Minecraft Raknetify2 Client / Serva
Fabric mods/raknetify2-fabric-*.jar Client / Serva
Forge mods/raknetify2-forge-*.jar Client / Serva
NeoForge mods/raknetify2-neoforge-*.jar Client / Serva
Spigot / Paper plugins/raknetify2-spigot-*.jar Serva
Velocity plugins/raknetify2-velocity-*.jar Velocity
BungeeCord plugins/raknetify2-bungee-*.jar BungeeCord

Serva hinzufiagn

  1. Meahspiela

  2. Serva hinzufiagn

  3. Servaadresse

    Servaadresse
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Ois fertig

  5. Serva beitretn

F3 · Raknetify2

F3
RakNet · UDP Aktiv · MTU 1400
TCP Ned aktiv

Velocity / BungeeCord

  1. Client · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. Velocity / BungeeCord → TCP → Serva
Portnumma · UDP Java
Fabric / Forge / NeoForge 1–65534 -Draknetify.fabric.portOverride=25570
Spigot / Paper ≥ 0.1.0-beta.1.431 1–65535 -Draknetify.spigot.portOverride=25570
Velocity 1–65534 -Draknetify.velocity.portOverride=25570
BungeeCord 1–65534 -Draknetify.bungee.portOverride=25570

Zeidübaschreitung

Servaadresse UDP
raknet;play.example.com:25580 play.example.com:25580 → NAT → 192.0.2.10:25570
Serva · 192.0.2.10 25570/udp

config/raknetify2-compatibility.json

Serva / Velocity / BungeeCord

JSON
① ② ③ {"mode":"ordered"}
① ∥ ② ∥ ③ {"mode":"multichannel"}

Simple Voice Chat

Serva Raknetify2 · UDP 25565 Simple Voice Chat
Fabric / Forge / NeoForge config/raknetify2-voicechat.json · {"enabled":true} config/voicechat/voicechat-server.properties · port=-1
Spigot / Paper config/raknetify2-voicechat.json · {"enabled":true} plugins/voicechat/voicechat-server.properties · port=-1

Simple Voice Chat · Velocity / BungeeCord

PROXY protocol v2 · UDP

Servaadresse trustedProxies RakNet
192.0.2.10 · PROXY v2 / UDP ["192.0.2.10"] ✓
192.0.2.11 · PROXY v2 / UDP ["192.0.2.10"] ✗
Client → RakNet / UDP ["192.0.2.10"] ✗

config/raknetify2-proxy-protocol.json

{"trustedProxies":["192.0.2.10"]}

Minecraft ≥ 1.20.5 · /transfer

  1. Serva A · Fabric / Forge / NeoForge · config/raknetify2-transfers.json

    {"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]}
  2. Serva B · play.example.com · server.properties → accepts-transfers=true

  3. Serva A · /transfer play.example.com 25565 Alex → Client (Alex) → RakNet · play.example.com:25570

PacketOrdering

Minecraft
ui Optiona
entity Skelett
world_interaction Imventar
effects Partikl
chunk Blöcke

PacketOrdering.java

Inkompatible Version!

Fehla meldn

Startseitn

Raknetify2

Raknetify2 nimmt RakNet üba UDP fürn Meahspielamodus vo Minecraft. De Datn laffa auf verschiedene Kanäl. Geht auf oam Kanal a Paket verlorn, kenna de andern unabhängig davon weidaschicka. So ko des Spui a dann auf Eingabn reagiern, wenn grod fahlende Datn no amoi gschickt oder Chunks übatragn wern.

Raknetify2 is a eigenständig betreuta Fork vo Raknetify. S’Original hod da ishland entwickelt. Da Fork unterstützt neiere Minecraft-Versionen und kümmert si a um de Netzwerkübatragung, d’Obindung an de Plattformen und de Kompatibilitätstests.

De erschtn Schritt

  1. Schaug, weiche Minecraft-Versionen und Mods zampassn.
  2. Lad de richtige Datei owa und installier s’.
  3. Verbind di mit ana Adress wia raknet;play.example.com.

Anleitunga fia Servabetreiba

Wer Mods entwickelt, ko üba de Schnittstell fia de Paketreihnfolg angebn, weiche Minecraft-Pakete vor oda nach de eigenen Nutzdatn verarbat wern miassn.

Links zum Projekt

Raknetify2 steht unta da MIT-Lizenz. De ursprünglichen Urheberrechtshinweis bleibn erhoitn. De Netzwerkimplementierung baut auf Raknetify und netty-raknet auf.

Installation

Lad a veröffentlichte Version vo GitHub Releases owa. Schaug vor da Installation, weiche Minecraft-Version und weichn Modloader de Datei braucht.

Wo du installierst Datei Ordner
Fabric-Client oda -Serva raknetify2-fabric-*.jar mods
Forge-Client oda -Serva raknetify2-forge-*.jar mods
NeoForge-Client oda -Serva raknetify2-neoforge-*.jar mods
Spigot- oda Paper-Serva raknetify2-spigot-*.jar plugins
Velocity-Proxy raknetify2-velocity-*.jar plugins
BungeeCord-Proxy raknetify2-bungee-*.jar plugins

Mach den Client zua oda hoit den Serva an, bevorst de JAR austauscht. Nimm de ursprüngliche Raknetify-JAR und olle älteren Raknetify2-JARs aus dera Installation raus, bevorst de neie Datei neilegst.

Beim Client g'hörn de Ordner zu da Minecraft-Instanz oda zum Modpack, des du startest. Bei Serva und Proxy liegn s’ im jeweiligen Installationsverzeichnis. Hod da Loader den Ordner no ned auglegt, leg erm seiba an.

Direkt mit an Serva verbindn

  1. Installier de Client-Mod fia dein Loader.
  2. Installier de passende Serva-Mod oda auf an kompatiblen Serva s’Plugin fia Spigot/Paper.
  3. Gib UDP-Verbindungen zum Serva frei, wia unta Firewall und Router eirichtn beschriebn.
  4. Start Client und Serva nei.
  5. Füag a Servaadress wia raknet;play.example.com oda raknet;play.example.com:25565 hinzu.

Adressn ohne s’Präfix raknet; nutzn TCP.

De Client-Mod alloa reicht ned, damit a fremder Serva RakNet ko. Da Betreiba muass an RakNet-Endpunkt bereitstelln. Wannst bloß auf an fremden Serva mitspüst, brauchst am eigenen Router normalerweis koa Portweiterleitung.

Velocity und BungeeCord

Installier s’passende Proxy-Plugin und de Client-Mod. Unta Velocity und BungeeCord findst de Einstellungen fia de Listener, de Weiterleitung zu de Backend-Serva, de Zugriffsbeschränkungen und de Adress, mit dera si de Spiela verbindn.

An eigenen UDP-Port nutzn

Bei an direkt erreichbaren Minecraft-Serva nimmst s’passende Java-Argument aus da Tabell unt. Fia Proxys götn de Listener-Einstellungen fia Velocity und BungeeCord.

Plattform Java-Argument Erlaubte Ports
Fabric-, Forge- oda NeoForge-Serva -Draknetify.fabric.portOverride=25570 1 bis 65534
Spigot- oda Paper-Serva -Draknetify.spigot.portOverride=25570 1 bis 65535

Forge und NeoForge nutzn denseibn Listener-Code wia Fabric. Drum steht a dort fabric im Namen vo da Einstellung. Ersetz 25570 durch den gewünschten UDP-Port.

Spigot / Paper ≥ 0.1.0-beta.1.431

Trag s’Argument im Java-Startbefehl vor -jar ei oda beim Hoster im Feld fia JVM-Argumente. Start den Serva nei und gib UDP auf dem Port frei. Is da öffentliche Port a 25570, verbind di mit raknet;play.example.com:25570. Setzt da Router de Portnummer um, trag im Client den öffentlichen Port ei. Da bisherige TCP-Port bleibt gleich.

Bei Spigot/Paper horcht da UDP-Listener auf derselbn lokalen Adress wia da TCP-Listener vo Minecraft. Bei an ungültigen Wert oda an belegten UDP-Port ko RakNet ned startn. Im Startprotokoll siechst, auf weicha Adress und auf weichm Port da Listener horcht. Nimm s’Argument raus und start den Serva nei, damit er wieda de Portnummer vom TCP-Listener nimmt.

Du kannst a am Router oda UDP-Proxy an andern öffentlichen UDP-Port freigebn und zum vorhandenen Listener weiterleitn. De Java-Argumente vom Serva brauchst dafia ned ändern.

Entwicklungsversionen

Moch unta GitHub Actions an erfolgreichen Lauf fia main auf und lad des Archiv unta Artifacts owa. Dafia brauchst a GitHub-Konto. Weiche JAR du ausm Archiv brauchst, steht obn in da Installationstabell.

Velocity und BungeeCord

Velocity und BungeeCord vermittln zwischn de Spiela und de eigentlichen Minecraft-Serva. Installier Raknetify2 am Proxy und auf jedn Client, der si üba RakNet verbindn soll.

Raknetify2-Client --UDP--> Velocity oda BungeeCord --TCP--> Backend-Serva

Fia den Verbindungsweg brauchan de Backend-Serva koa Raknetify2. De Mods, Plugins und Weiterleitungseinstellungen, de dei Netzwerk braucht, miassn trotzdem do sei. Raknetify2 übersetzt koane Minecraft-Versionen und ändert nix an da Kontoprüfung vom Proxy.

S’Proxy-Plugin installiern

  1. Schaug z'erst, ob normale TCP-Verbindungen üba dein Proxy funktioniern, a beim Omeidn und beim Wechsel zwischn Backend-Servan.
  2. Hoit den Proxy an und lad s’passende Plugin vo GitHub Releases owa.
  3. Leg raknetify2-velocity-*-all.jar oda raknetify2-bungee-*-all.jar in den Ordner plugins vom Proxy. Nimm ältere Raknetify- oda Raknetify2-Plugins aus dem Ordner raus.
  4. Installier de passende Raknetify2-Client-Mod nach da Installationsanleitung.
  5. Schaug da de folgenden Listener-Einstellungen an, start den Proxy nei und suach im Protokoll nach Fehla vom RakNet-Listener.
  6. Loss öffentlichen UDP-Verkehr zum Proxy zua. Beschränk den Zugriff auf de Spuiports vo de Backends wia unta Firewall und Router eirichtn beschriebn.

Nimm fia Client und Proxy Raknetify2-Versionen, de zampassn. Lies unta Kompatibilität nach, bevorst verschiedene Versionen mischst.

Velocity

In da velocity.toml legt bind fest, auf weicha Minecraft-Adress und weichm TCP-Port Velocity horcht. Raknetify2 nutzt fia UDP normalerweis diseibe Portnummer. De Einträge unta [servers] miassn weiter auf de TCP-Adressn vo de Backends zoagn. Mehr dazua steht in da Konfigurationsreferenz vo Velocity.

Fia an eigenen UDP-Port gib des JVM-Argument im Startbefehl vo Velocity vor -jar dazua:

-Draknetify.velocity.portOverride=25570

Ersetz 25570 durch dein Port. Damit änderst den RakNet-UDP-Port, da TCP-Port vo Velocity und de Backend-Adressn bleibn gleich. Start Velocity nach da Änderung nei.

Richt de Weiterleitung vo de Spieladatn auf Velocity und de Backends ei. Unterstützt dei Backend de moderne Weiterleitung, nimm de und hoit den gmeinsamen Schlüssel geheim. Folg da Anleitung fia dei Backend in Velocitys Dokumentation zur Weiterleitung vo Spieladatn. Loss de Firewall-Beschränkungen fias Backend aktiv.

BungeeCord

In da config.yml vo BungeeCord legt host bei jedem Eitrog unta listeners de Minecraft-Adress und den TCP-Port fest. Raknetify2 nimmt fia UDP normalerweis diseibe Portnummer. Unta servers stehn de TCP-Adressn vo de Backends. Näheres steht in da Anleitung vo BungeeCord.

Fia an eigenen UDP-Port gib des JVM-Argument im Startbefehl vo BungeeCord vor -jar dazua:

-Draknetify.bungee.portOverride=25570

De Einstellung gilt fürn gonzn Proxy-Prozess. Host mehrere Minecraft-Listener, Schaug im Startprotokoll nach de tatsächlichen RakNet-Endpunkte, bevorst Firewall-Regeln anlegst. Start BungeeCord nach da Änderung nei.

Loss de Kontoprüfung am Proxy eigschaltn. Fia Spigot-Backends beschreibt de Anleitung zur IP-Weiterleitung vo BungeeCord, wia ip_forward: true am Proxy mit settings.bungeecord: true am Backend zamgheart. De Weiterleitung alloa verhindert koane direkten Verbindungen zum Backend. Beschränk den Zugriff wia in da Firewall-Anleitung beschriebn.

D’Adress fia de Spiela aussuachn

Bei beiden Proxys kannst Ports vo 1 bis 65534 einstelln. Ungültige Werte wern ignoriert. Schaug drum im Startprotokoll, weicha UDP-Port wirklich gebundn is. Nimm s’Argument raus und start den Proxy nei, zum wieda de Portnummer vom Minecraft-Listener z’nutzn.

De Spiela verbindn si mitm öffentlichen Hostnamen und UDP-Port vom Proxy, etwa üba raknet;play.example.com:25570. Wann a Router de Ports umsetzt, g'hört da öffentliche UDP-Port in de Client-Adress. Ohne raknet; lafft de Verbindung weiter üba den TCP-Listener vom Proxy.

Gib Query, Geyser und andern UDP-Diensten je an eigenen UDP-Port. A anderer TCP-Port löst koan Konflikt um an UDP-Socket.

Sprachchat und weitere UDP-Weiterleitung

Auf Velocity und BungeeCord braucht Simple Voice Chat a eigenes Proxy-Plugin und an eigenen UDP-Port. Folg da Anleitung fia Sprachchat-Proxys.

Steht vor deim Minecraft-Proxy a eigenes UDP-Relay, des Header vom PROXY-Protokoll v2 schickt, richt Raknetify2 wia unta UDP-Weiterleitung und PROXY-Protokoll beschriebn ei. Velocity oda BungeeCord alloa brauchan de Einstellung ned.

D’Verbindung priafa

Probier’s vo außahoib vo deim lokalen Netz mit am Raknetify2-Client. Geh übern Proxy eine, wechsl zwischn deine Backend-Serva und schaug, ob d’Spielaidentität und d’Rechte no stimman.

  • Geht TCP üban Proxy, kimmt bei RakNet oba a Zeidübaschreitung, priaf den UDP-Listener vom Proxy, den öffentlichen Port, de IPv4- und IPv6-Routen und de Firewall-Regeln.
  • Scheitern beide Verbindungsartn, sobald da Proxy zum Backend verbindt, priaf dessen TCP-Adress, Zugriffsregeln und de Weiterleitung vo de Spieladatn.
  • Meldt da Proxy an belegten UDP-Port, Schaug, ob Query, Geyser, a Sprachchat-Proxy oda a anderer Prozess den Port nutzt.

Gib bei ana Fehlermöldung de Protokolle vom Proxy und vom Backend vom seibn Verbindungsversuach mit. Unta Fehla findn steht, weiche Versionsangabn dazua g'hörn.

Firewall und Router eirichtn

De Anleitung is fia Servabetreiba. Raknetify2 braucht an funktionierenden UDP-Weg zum Serva oda Proxy, der de RakNet-Verbindungen annimmt. Normalerweis nutzt da Listener de seibe Portnummer wia da TCP-Listener vo Minecraft.

Im seibn lokalen Netz nimmst de lokale Servaadress und gibst UDP in dera Maschin ihrer Firewall frei. A Portweiterleitung am Router brauchst, wann Verbindungen ausm Internet durch sei IPv4-NAT miassn.

Zui und Port aussuachn

Direkter Serva

Leit den öffentlichen UDP-Verkehr zu dem Rechner, auf dem da Minecraft-Serva mit Raknetify2 lafft. Zui is da UDP-Port vom RakNet-Listener. Gib den Port in da Firewall vom Servarechna frei. Loss den vorhandenen TCP-Zuagang fia normale Minecraft-Verbindungen bestehn.

Horcht Raknetify2 etwa auf UDP-Port 25570, leit den öffentlichen UDP-Port zur lokalen Servaadress auf Port 25570 weiter. Da TCP-Port ko bei 25565 bleibn. An andern UDP-Port stellst in de Listener-Einstellungen fia direkte Servaverbindungen ei.

Velocity oda BungeeCord

Leit den öffentlichen UDP-Verkehr zum Rechner mit Velocity oda BungeeCord undm Raknetify2-Plugin. Zui is da RakNet-UDP-Listener vom Proxy. Loss den öffentlichen TCP-Zuagang zum Proxy fia normale Minecraft-Verbindungen bestehn.

Vom Proxy zu de Minecraft-Backends lafft de Verbindung üba TCP. Wega Raknetify2 am Proxy brauchst de UDP-Spuiports vo de Backends ned fia de Spiela aufmochn.

Verbindung Nötiger Zugriff
Spiela zum Proxy Öffentlicher UDP-Zugriff auf den RakNet-Listener und da vorhandene öffentliche TCP-Listener
Proxy zu de Backend-Serva Minecraft-TCP-Ports vo de Backends, nur vo de vorgesehenen Proxy-Rechner aus erreichbar
Spiela direkt zu de Spuiports vo de Backends Gesperrt lassn, a üba IPv6

Laufn Proxy und Backends direkt auf an eigenen dedizierten Rechner, kenna de Backend-Listener Loopback-Adressn nutzn. Trag de im Proxy ei. Bei getrennten Rechnern beschränkst den TCP-Zugriff auf de Backends per Firewall oda mit an abgetrennten privaten Netz auf de Proxy-Rechner. Bei Containern und verwalteten Hosts brauchst entsprechende Beschränkungen fia deren Netzaubau. Schaug in de Anleitung fia sichere Velocity-Backends und de Firewall-Anleitung vo BungeeCord.

De Weiterleitung vo de Spieladatn und de Firewall-Regeln ergänzn si. Direkter Zugriff aufs Backend ko de Omeldeprüfung vom Proxy umgehn. De Plugin-Installation, Weiterleitung und obweichende UDP-Ports beschreibt Velocity und BungeeCord.

Öffentliche und lokale Portnummern

Wann a Router de Portnummer umsetzt, kenna da öffentliche Port und da Port vom Listener vaschieden sei:

Einstellung Weicha Port g'hört do eini?
Servaadress im Client Öffentlicher UDP-Port
Äußerer Port vo da Weiterleitungsregel im Router Öffentlicher UDP-Port
Innerer Port vo da Weiterleitungsregel im Router UDP-Port vom RakNet-Listener
Lokaler Port in da Firewall vom Rechner UDP-Port vom RakNet-Listener

IPv4-Portweiterleitung

Wann dei Serva hinter an IPv4-Router steht:

  1. Suach de lokale IPv4-Adress vom Rechner, der de RakNet-Verbindungen annimmt. Mach a DHCP-Reservierung oda nimm a passende feste Adress, damit de Weiterleitung a später auf den Rechner zoagt.
  2. Leg a UDP-Weiterleitung fia den öffentlichen Port an, den de Spiela nutzn wern.
  3. Trag als Zui de lokale Adress vom Rechner und den UDP-Port vom RakNet-Listener ei.
  4. Erlaub in da Firewall vom Rechner eingehenden UDP-Verkehr zum Listener-Port.

Horcht da Serva auf UDP-Port 25565, ko de Regel zum Beispui den öffentlichen Port 25565, de Zuiadress 192.168.1.100 und den Zuiport 25565 hobn. Ersetz de Beispuiadress durch de wirkliche lokale Adress vo deim Serva.

Loss de bestehende TCP-Regel fia normale Minecraft-Verbindungen drin. De leitet koan UDP-Verkehr weiter.

Wann de Weiterleitung trotzdem ned geht

Schaug, ob vor deim Router no a anderer Router oda dei Internetanbieta NAT nutzt. Bei zwoa eigenen Routern muasst auf beide weiterleitn. Nutzt da Anbieta Carrier-Grade NAT, frog nach ana öffentlichen IPv4-Adress oda nimm an Hoster oda Tunnel, der eingehends UDP unterstützt. Dei Router sei Weiterleitungsregel ändert nix am NAT vom Anbieta. TP-Link erklärt de Voraussetzungen fia de öffentliche WAN-Adress.

Firewall-Regeln fia IPv6

Gib den gwählten UDP-Port in da IPv6-Firewall vom Router und in da Firewall vom Rechner frei. Zui is de IPv6-Adress vom Rechner, der RakNet-Verbindungen annimmt.

Schaug, ob de IPv6-Adress vom Hostnamen auf den Rechner zoagt. Ändert si sei IPv6-Adress, aktualisier den DNS-Eitrog und olle Firewall-Regeln, de de konkrete Adress verwendn.

Gibt a Hostname IPv4- und IPv6-Adressn an, muass jede angegebene Adress erreichbar sei. Priaf beide Regelsätze, wann a Spiela einekummt und a anderer ned.

Ändert de IPv4-Weiterleitung de Portnummer, muass da Port, den de Spiela eingebn, a den IPv6-Listener erreichn. A Portumsetzung fia IPv4 richtet koan IPv6-Weg ei.

Hoster und Tunnel

Da Anbieta oda Tunnel muass am öffentlichen Endpunkt, denst de Spiela gibst, UDP unterstützn. Priaf de zuagwiesenen Ports und de Netz-Firewall vom Anbieta genauso wia de Firewall vom Serva.

Leitet a zusätzlicher UDP-Proxy de Client-Adressn mitm PROXY-Protokoll v2 weiter, folg UDP-Weiterleitung und PROXY-Protokoll. Loss am empfangenden UDP-Listener nur den vertrauenswürdigen Proxy zua.

D’Verbindung priafa

Verbind di vo außerhalb vom lokalen Servanetz mit an aktuellen Raknetify2-Client, etwa üba raknet;play.example.com:25565. Nimm in dera Adress den öffentlichen UDP-Port.

Priaf den Weg mit ana echten RakNet-Verbindung. A UDP-Scan ohne Antwort is ned eindeutig: A funktionierender Dienst ko unbekannte Testpakete verwerfn. De Dokumentation zu UDP-Scans mit Nmap erklärt des Verholtn.

A erfolgreiche TCP-Verbindung bestätigt nur den TCP-Weg. Kimmt bei RakNet a Zeidübaschreitung, priaf Listener, Weiterleitungszü, UDP-Port und Firewall-Regeln mit da Anleitung zur Fehlasuach.

Kompatibilität

Priaf de Kompatibilität fia genau de Version, dest obaladst. Im Entwicklungszweig ko scho wos unterstützt sei, wos in kana veröffentlichten Version drin is.

Minecraft- und Java-Versionen

Minecraft- und Java-Versionen · English

De Java-Version, de Raknetify2 angibt, is des Minimum. Minecraft oda da Loader kenna a neuere Laufzeitumgebung brauchan. Nimm a Java-Version, de olle drei Anforderungen erfüllt.

Versionen auf Client und Serva

Nimm möglichst diseibe Raknetify2-Version am Client und am Serva oda Proxy, der sei Verbindung annimmt. Lies de Versionshinweise, bevorst Versionen mischst. Fia verschlüsselte RakNet-Verbindungen miassn beide Seiten des Protokoll fia authentifizierte Verschlüsselung unterstützn. Des ursprüngliche Raknetify und ältere Raknetify2-Versionen vor dem Protokoll kenna so koa verschlüsselte Verbindung zu aktualisierten Gegenstellen herstelln.

Raknetify2 übatragt s’ bestehende Spuiprotokoll vo Minecraft. Fia verschiedene Minecraft-Versionen brauchst zusätzlich a passende Protokollübersetzung.

Andere Mods

Andere Mods · English

Bei an Fehla in an größeren Modpack folg da Anleitung zur Fehlasuach. Gib in da Meldung de genauen Versionen vo olle Mods an.

Modus mit fester Paketreihnfolg

Modus mit fester Paketreihnfolg

Normalerweis kenna d’Kanäl vo Raknetify2 unabhängig weidamocha, wenn oana auf fahlende Datn wart. Bei fester Reihnfolg gehn olle Minecraft-Pakete pro Richtung üba an oanzign Kanal. Fehlt a Paket, wartn olle spätern in dera Richtung, bis des nachgliefert worn is. Des erhoit de Reihnfolg, de manche Anti-Cheat-Programm erwartn. Währenddessen muaß a da übrige Spuiverkehr in der Richtung wartn.

Feste Paketreihnfolg eischoitn

  1. Installier a Raknetify2-Version mit dem Modus am Serva oda Proxy, der RakNet-Verbindungen annimmt, und auf olle RakNet-Clients.

  2. Leg im Arbatsverzeichnis vo dem Serva oda Proxy de Datei config/raknetify2-compatibility.json an. Fehlt da Ordner config, leg erm z'erst an.

  3. Trag des ei:

    {"mode": "ordered"}
  4. Start den Serva oda Proxy nei.

De Clients übanemman de Einstellung vom Serva automatisch. De Spiela brauchan weder a eigene Konfigurationsdatei no a andere RakNet-Servaadress.

Olle Minecraft-Pakete gehn pro Richtung üba an zuverlässigen Kanal mit fester Reihnfolg. Des gilt a fia de Begrenzungen vo Paketbündln und fia Weydwechsel.

Betrieb mit Proxy

Verbindn si de Spiela üba Velocity oda BungeeCord, richt de feste Reihnfolg auf dem Proxy ei, a wann s’Anti-Cheat-Programm auf an Backend-Serva lafft.

De Einstellung bleibt beim Backend-Wechsel gültig. Bei fester Reihnfolg leitet da Proxy Keepalive-Anfragen vom Backend zum tatsächlichen Client weiter, statt seiba zum Antworten.

D'Einstellung prüafa

Bei da erschtn RakNet-Verbindung meldt de Konsole:

Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)

Nach erfolgreicher Aushandlung steht a ordered compatibility negotiated im Protokoll, gfolgt vo da Adress vo da Gegenstell.

Loss de Anti-Cheat-Prüfungen eigschaltn und test dei eigene Konfiguration.

Ältere Clients

RakNet-Clients ohne Unterstützung fia de feste Reihnfolg kenna koan Serva beitretn, der de voraussetzt. Aktualisier Raknetify2 auf de Clients oda nimm de normale TCP-Adress und den Port vom Serva oda Proxy. Loss dabei raknet; weg.

Zruck zum Mehrkanalbetrieb

Änder den Dateiinhalt so:

{"mode": "multichannel"}

Start dann den Serva oda Proxy nei. Du kannst de Datei a löschn. Nach an Neistart is da Mehrkanalbetrieb dann a wieda aktiv.

Probleme mit da Konfiguration

De Datei muass genau oa Einstellung namens mode entholtn, mitm Wert "ordered" oda "multichannel". Pass auf Groß- und Kleinschreibung auf.

Is de Konfiguration ungültig oda ned lesbar, wern RakNet-Verbindungen abgwiesn. Besser de Datei aus und start den Prozess nei.

Meldt de Konsole no immer multichannel, Schaug, ob de Datei im Arbatsverzeichnis vo genau dem Serva oda Proxy liegt, der de RakNet-Verbindung annimmt. Start den Prozess nei.

Automatisch den Serva wechsln

Fabric-, Forge- und NeoForge-Serva kenna beim Wechsel zu an eitragn Zui RakNet aussuachn, wann da Client des unterstützt. Sie nutzn dofia den Servatransfer vo Minecraft, den’s seit Java Edition 1.20.5 gibt. Priaf fia beide Seiten, ob dei Raknetify2-Version de jeweilige Minecraft-Version und den Loader unterstützt.

Installier Raknetify2 am sendenden Serva und am Client. S’Zui muass an kompatiblen RakNet-Listener onbietn und eingehende Minecraft-Transfers annehma.

De Konfiguration gilt fia Transfers vo Servan mit de drei Modloader obn. De Plugins fia Spigot/Paper, Velocity und BungeeCord lesn de Transferdatei ned.

Den sendenden Serva eirichtn

Leg im Verzeichnis vom sendenden Serva de Datei config/raknetify2-transfers.json an:

{
  "destinations": [
    {
      "host": "play.example.com",
      "tcpPort": 25565,
      "udpPort": 25570
    }
  ]
}

Ersetz Hostnamen und Ports im Beispui durch de Werte vo deim Zui. Start dann den sendenden Serva nei. Weitere Zui tragst ins seibe Array ei.

Feld Bedeutung
host Hostname oda IP-Adress vom Zui, ohne Transportpräfix und ohne Port
tcpPort Zuiport in da ursprünglichen Transferanfrage
udpPort Öffentlicher RakNet-Port, zu dem si da weitergleitete Client verbindn soll

TCP und UDP derfa de seibe Portnummer nutzn. Wann a Router den UDP-Port umsetzt, trag do den öffentlichen Port ei. Schreib Portnummern als JSON-Zahlen.

Schick Transfers zum gwöhnlichen Hostnamen und TCP-Port vom Zui. Raknetify2 schaut, ob da Client Unterstützung fia automatische Transfers meldt. Kann er des und passt des Zui zu an Eitrog, wird da eingestellte UDP-Port gnumma. Bei andern Clients und ned eitragn Zuin bleibt de ursprüngliche Transferadress erhoitn.

Verglichn wern da Hostname und da TCP-Port aus da Transferanfrage. Groß- und Kleinschreibung, a DNS-Punkt am End und gleichwertige IPv6-Schreibweisn wern vereinheitlicht. Es gibt koa DNS-Abfrog. Zwoa verschiedene Hostnamen brauchan also eigene Einträge, a wann s’auf de seibe Adress zoagn. Platzholter san ned unterstützt.

S’Zui eirichtn

Nutzt s’Zui de Minecraft-Datei server.properties, setz dort accepts-transfers=true und start den Serva nei. A Zui-Proxy ko a eigene Transfer-Einstellung hobn. Minecraft weist eingehende Transfers standardmäßig ob, a wann a direkter Beitritt geht.

Da RakNet-Listener vom Zui, de öffentliche UDP-Weiterleitung und de Firewall vom Rechner miassn scho eigricht sei. De Transferdatei am sendenden Serva bestimmt, weiche Adress da Client kriagt.

Priaf bei an Hostnamen mit IPv4- und IPv6-Adress beide Weg zum Zui. Test z'erst a direkte RakNet-Verbindung, bevorst automatische Transfers untersuachst.

Loss de Anmelde- und Zuagangsprüfungen am Zui eigschaltn. De Konfiguration gewährt koane Spiela Zuagang und ersetzt de Authentifizierung vom Serva ned.

Konfigurationsfehla und Ausschoitn

Fehlende oda unbekannte Felder, ungültige Ports und doppelte Zui führn beim Start zu an Konfigurationsfehla. Suach den Fehla im Servaprotokoll, besser de JSON-Datei aus und start den Serva nei.

Zum Ausschoitn vo da automatischen Auswahl nimm de Konfigurationsdatei raus oda trag {"destinations": []} ei. Start dann den sendenden Serva nei. Seine Transferanfragen behoitn de ursprünglichen Adressn.

UDP-Weiterleitung und PROXY-Protokoll

A UDP-Proxy ko RakNet-Verkehr weiterleitn und de ursprüngliche Client-Adress mitm PROXY-Protokoll v2 mitgebn. Schalt des ei, wann a vorgschoiteter UDP-Proxy solche Header zu deim Listener schickt. Fia a gwöhnliche Portweiterleitung am Router brauchst des ned.

Leg auf dem Serva oda Minecraft-Proxy, der den weitergleiteten UDP-Verkehr empfängt, de Datei config/raknetify2-proxy-protocol.json an:

{
  "trustedProxies": ["192.0.2.10"]
}

Ersetz s’Beispui durch de tatsächliche Quell-IP vom UDP-Proxy oda an CIDR-Bereich, denst kontrollierst. Zähln tuat de Adress, de da empfangende Listener nach an allfälligen NAT siecht. IPv4- und IPv6-Adressn in Zahlenschreibweis san erlaubt, DNS-Namen ned. Start den empfangenden Serva oda Proxy nei.

Richt den weiterleitenden Proxy so ei, dass er fia UDP Header vom PROXY-Protokoll v2 schickt. Raknetify2 nimmt weitergleitete Client-Adressn nur aus de eitragn Quelln an. Solang des eingstellt is, wern direkte RakNet-Verbindungen ohne solche Header abgwiesn. Da TCP-Listener beholt seine Einstellungen.

Vertraun und Zugriff

Jeder eingtragene Proxy derf Client-Adressn angebn. Beschränk drum in da Firewall vom Backend den Zugriff auf sein UDP-Port auf de vorgesehenen Proxys. Hoit de freigegebenen Adressbereiche so eng, wia dei Netzwerk zulost.

De Datei derf nur trustedProxies entholtn und braucht mindestens an Eitrog. A leers Array is a Fehla. Bei ana ungültigen Datei startet da RakNet-Listener ned.

Nimm de Datei raus und start den Listener nei, damit direkte UDP-Verbindungen wieda gehn. Pass gleichzeitig de Weiterleitung am vorgschoitna Proxy und de Firewall-Regeln an den neia Weg an.

Geht nachm Eischoitn koa Verbindung mehr, priaf de tatsächliche Quelladress vom Proxy am Backend, den freigegebenen Adressbereich und ob da Proxy fia UDP Header vom PROXY-Protokoll v2 schickt.

Wia ma an Minecraft-Proxy installiert und de Backends eiricht, steht unta Velocity und BungeeCord.

Simple Voice Chat

Auf Fabric, Forge, NeoForge, Spigot und Paper ko Raknetify2 den UDP-Listener vom Serva mit Simple Voice Chat teiln.

Installier Simple Voice Chat am Serva und auf olle Clients, de Sprachchat nutzn wolln. Fia de übrigen Einstellungen folg da Servaanleitung vo Simple Voice Chat.

De Konfigurationsdatei vo Raknetify2 g'hört a bei Spigot/Paper in den obersten config-Ordner vom Serva. De Datei vo Simple Voice Chat seiba bleibt im plattformspezifischen Ordner, der unt steht.

Den Spuiport gmeinsam nutzn

  1. Leg im Servaverzeichnis de Datei config/raknetify2-voicechat.json mit dem Inhalt an:

    {"enabled": true}
  2. Setz in da Servakonfiguration vo Simple Voice Chat port=-1. Auf an Serva mit Modloader is des config/voicechat/voicechat-server.properties, auf Spigot/Paper plugins/voicechat/voicechat-server.properties.

  3. Loss bind_address leer, wann’s genau an passenden RakNet-Listener gibt. Horchn mehrere auf dem UDP-Port, gib de lokale Adress vo dem Listener an, denst fia beides nutzn mogst.

  4. Start den Serva nei und füahr fia an verbundenen Spiela /voicechat test <PLAYERNAME> aus.

Nutzt da RakNet-Listener an andern Port wia Minecraft, setz port fürn Sprachchat ausdrücklich auf den lokalen UDP-Port statt auf -1. Horcht RakNet aufm lokalen UDP-Port 25570, trag also port=25570 ei.

Setz voice_host, wann de Clients a andere öffentliche Adress oda Portnummer brauchan. Leitet a Router den öffentlichen UDP-Port 25580 zum lokalen UDP-Port 25570 weiter, nimm port=25570 und voice_host=play.example.com:25580. De öffentliche Adress g'hört in voice_host. Mit bind_address suachst an lokalen Listener aus.

Raknetify2 stellt den gmeinsamen UDP-Socket üba de API vo Simple Voice Chat bereit. Simple Voice Chat übanimmt Authentifizierung und Verschlüsselung fürn Sprachchat. De Spiela kenna erm nutzn, egal ob s’Spui üba TCP oda RakNet lafft.

Andere UDP-Dienste und Proxys

Gib Query und Geyser je an eigenen UDP-Port. Des mitm gmeinsamen Socket geht nur fia Simple Voice Chat.

Auf Velocity oda BungeeCord teilt de Integration koan Socket mitm Sprachchat-Proxy. Folg da Proxy-Anleitung fia Simple Voice Chat und gib dem Sprachchat-Proxy an eigenen UDP-Port. Beim offiziellen Proxy-Plugin g'hört a obweichende öffentliche Adress fia voice_host in de Sprachchat-Konfiguration vom Proxy. Des Plugin ignoriert de voice_host-Einstellungen vo de Backends.

Bei an gewöhnlichen UDP-Tunnel setz voice_host auf den öffentlichen Hostnamen und den UDP-Port, der zu dem Serva weiterleitet.

Gmeinsame Nutzung ausschoitn oda an Socket-Konflikt lösn

Steht im Protokoll No RakNet listener matches the voice bind address and port, Schaug, ob RakNet erfolgreich gstartet is. Da Sprachchat-Port und de lokale Bindeadress miassn zum Listener passn.

Bei da Meldung Multiple RakNet listeners match the voice bind address gib unta bind_address a bestimmte passende lokale Adress an und start den Serva nei.

Nur a Plugin ko Simple Voice Chat sein UDP-Socket liefan. Meldt da Serva beim Start, dass des scho a anders Plugin mocht, entscheid di fia ane vo de Integrationen.

Zum Ausschoitn vo da Raknetify2-Integration setz in ihrer Sprachchat-Konfiguration {"enabled": false} oda nimm de Datei raus. Gib Simple Voice Chat an eigenen UDP-Port, pass de Firewall- oda Weiterleitungsregeln an und start den Serva nei.

Fehla suacha

TCP geht, oba bei RakNet kimmt a Zeidübaschreitung

Geh de Punkte da Reih nach durch:

  1. Am Client is de zu seim Loader und seiner Minecraft-Version passende Raknetify2-Mod installiert.
  2. Am Serva oda Proxy, der de Verbindung annimmt, is Raknetify2 installiert. Da Listener is ohne Fehla gstartet.
  3. De Adress fangt mit raknet; an und nutzt den öffentlichen UDP-Port.
  4. Da Hoster, da Router und de Firewall vom Rechner lassn UDP auf dem Port zua.
  5. De IPv4- und IPv6-Adressn vom Hostnamen zoagn auf den richtigen Rechner. De Firewall-Regeln lassn beide Weg zua.

A erfolgreiche TCP-Verbindung bestätigt nur den TCP-Weg. Priaf de UDP-Weiterleitung und den IPv6-Zuagang wia unta Firewall und Router eirichtn beschriebn. Is s’PROXY-Protokoll eigschaltn, miassn de Clients üba an eitragn vertrauenswürdigen Proxy zum Listener kemma.

Adress scho belegt

Schaug, ob a anderer Prozess den UDP-Port nutzt. Query, Geyser und andere UDP-Dienste brauchan eigene Ports. Mit Simple Voice Chat kannst den Port gmeinsam nutzn.

An andern lokalen UDP-Port kannst in de Listener-Einstellungen fia direkte Servaverbindungen oda de Einstellungen fia Velocity und BungeeCord setzn. Pass auf de benötigte Spigot/Paper-Version auf. Nur den öffentlichen Port am Router ändern löst den lokalen Socket-Konflikt ned.

Direkt beitretn geht, Servawechsel scheitern

Verbind di direkt mit da raknet;-Adress vom Zui. Scheitert des scho, bring z'erst den Zui-Listener oda den Netzwerkweg in Ordnung.

Geht de direkte Verbindung, Schaug, ob s’Zui eingehende Transfers annimmt. A Minecraft-Serva mit server.properties braucht accepts-transfers=true. Beim direkten Beitritt wird de Einstellung ned priaft.

Vergleich dann Hostnamen und TCP-Port aus da Transferanfrag mit config/raknetify2-transfers.json am sendenden Serva. Schaug, ob de Datei nach an Neistart glodn worn is und ob da Client automatische RakNet-Transfers unterstützt. Siehe Automatisch den Serva wechsln.

Verschlüsselungs- oda Protokollföhler

Priaf de Raknetify2-Versionen auf beide Seiten. Ändert a Version des verschlüsselte Protokoll, aktualisier Client und Serva oda Proxy miteinander. Loss bei da Fehlasuach de Authentifizierungseinstellungen vom Serva so, wia s’san.

Fehla mit bestimmten Mods

Schreib auf, wos den Fehla auslöst, etwa a Inventar aufmochn, a Ressourcenpaket empfanga, de Weyd wechsln oda a Objekt erzeugn. Vergleich denseibn Vorgang üba TCP und RakNet, wann möglich in ana eigenen Testinstallation.

Bei manchen eigenen Nutzdatn kimmt’s drauf an, in weicha Reihnfolg sie relativ zu de Vanilla-Pakete eitreffa. Mod-Entwickler kenna des üba de Schnittstell fia de Paketreihnfolg angebn.

An Fehla meldn

Mach im Issue-Tracker vo Raknetify2 a Meldung auf und gib des an:

  • Minecraft-, Java-, Loader- und Raknetify2-Versionen auf beide Seiten.
  • Versionen vo da Serva- und Proxy-Software, a vo vorgschoitna UDP-Proxys.
  • Olle andern installierten Mods mit ihren Versionen.
  • Schritt, mit dena si da Fehla nachstön losst, und wos du erwartet host.
  • Ob de seibn Schritt üba TCP funktioniern.
  • Passende Ausschnitte aus de Protokolle vom Client, Serva und Proxy vom seibn Verbindungsversuach.

Nimm Zugriffstoken, Passwörter und andere private Angabn raus, bevorst Protokolle aufelodst. Loss de nötigen Fehlameldunga und Stacktraces fia de Diagnose drin.

Eigene Mods anbinden

Mit Raknetify2 kenna Mods angebn, bei weichn Minecraft-Paketen de Reihnfolg gegenüber ihre eigenen Nutzdatn erhoitn bleibn muass. Des braucht ma, wann de Verarbeitung zum Beispui a Objekt, an Chunk, a Inventar oda an andern Zustond voraussetzt, den erscht a früheres Paket erzeugt.

Gruppn fia de Paketreihnfolg

Gruppn Zuag'höriga Datnverkehr
ui Weydunabhängige Menüs und Interaktionen
entity Erzeugn, Entfernen und Bewegn vo Objekten
world_interaction Inventare und andere weydabhängige Interaktionen
effects Geräusche und Partikel
chunk Änderungen bei Gelände, Blöcken und Beleuchtung

Innerholb vo jedem Kanal kemma de Pakete zuverlässig in da richtigen Reihnfolg an. Pakete aus verschiedene Gruppn kenna in ana andern Reihnfolg zueinander eitreffa. Nimm de Gruppn, de zur Abhängigkeit vo deine Nutzdatn passt.

Optionale Obindung fia Fabric

Trag in da fabric.mod.json vo deiner Mod an Provider fürn Einstiegspunkt raknetify:packet_channels ei. Da Provider implementiert Consumer<BiConsumer<String, String>> mit Typen ausm JDK. Er kriagt a Registrierfunktion, de a Kennung fia eigene Nutzdatn und de dazuaghearige Gruppn annimmt.

Ergänz deine vorhandenen Metadatn um den Eitrog. Ersetz den Klassennamen durch den vollständig qualifizierten Namen vo deim Provider:

{
  "entrypoints": {
    "raknetify:packet_channels": [
      "com.example.mod.OrderingProvider"
    ]
  }
}

Des Beispui zoagt nur an Ausschnitt. Beholt den Rest vo deiner fabric.mod.json mitsamt ihre vorhandenen Einstiegspunkte bei.

A Mod fia Objektbewegungen ko zum Beispui example:entity_path in da Gruppn entity registriern. De Dokumentation zur PacketOrdering-API zoagt de Implementierung vom Provider.

Fehlt Raknetify2, ruaft Fabric den Einstiegspunkt ned auf. Registrier Kennungen und Gruppn während da Initialisierung, ohne drauf zum zähln, dass a andere Mod mit ihrer eigenen Initialisierung scho fertig is.

Wia de Registrierung oblauft

Wann Raknetify2 verfügbar is, kenna Forge- und NeoForge-Mods sowie Serva- und Proxy-Plugins bei da Initialisierung PacketOrdering.register(identifier, group) aufruafn. De Klass hoaßt com.ishland.raknetify.api.PacketOrdering. Registrier de Regeln, bevor Spielaverbindungen angnumma wern. Bei optionaler Obindung derf dei Code koane Raknetify2-Klassen lodn, wann de Abhängigkeit fehlt.

De Regeln götn fia neie Verbindungen. Bestehende Verbindungen behoitn de Regeln vom Aufbau. De seibe Regel mehrmals registriern is erlaubt. Widersprüchliche Gruppn fia de seibe Kennung wern abgwiesn.

Nutzdatn-Kennungen brauchan an gültigen eigenen Namensraum. Da Namensraum minecraft is reserviert. Pro Endpunkt san insgesamt 128 Regeln erlaubt, eigebaute Regeln und Registrierungen vo andern Mods mitzählt. Kennungen derfa bis zu 255 ASCII-Zeichen lang sei und miassn da Namensraum-Syntax vo da API entsprechen.

Aktualisierte RakNet-Gegenstellen tauschn beim Vabindungsaufbau ihre Regeln aus. A Serva oda Proxy ko de Regel vo da Gegenstell nutzn, wann er fia de Nutzdatn koa eigene hod. Lokale Regeln hobn Vorrang. De Regeln vo da Gegenstell götn nur fia de jeweilige Verbindung.

UDP-Proxys

Infos zu UDP-Relays und weitergleiteten Client-Adressn findst unta UDP-Weiterleitung und PROXY-Protokoll.

Wia ma an Minecraft-Proxy eiricht, steht unta Velocity und BungeeCord.

English (US)

Clone this wiki locally