Skip to content

Wiki de at

pjscruggs edited this page Nov 11, 2026 · 1 revision

Raknetify2 · Deitsch (Österreich)

Sproch

Mehrspiela

Mit RakNet vabindn si Minecraft-Clients mit de Server.

Obalodn · GitHub

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

Server hinzuafügn

  1. Mehrspiela

  2. Server hinzuafügn

  3. Serveradress

    Serveradress
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Basst

  5. Aufn Server geh

F3 · Raknetify2

F3
RakNet · UDP Aktiv · MTU 1400
TCP Ned aktiv

Velocity / BungeeCord

  1. Client · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. Velocity / BungeeCord → TCP → Server
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

Zeitübaschreitung

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

config/raknetify2-compatibility.json

Server / Velocity / BungeeCord

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

Simple Voice Chat

Server 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

Serveradress 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. Server A · Fabric / Forge / NeoForge · config/raknetify2-transfers.json

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

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

PacketOrdering

Minecraft
ui Optionen
entity Skelett
world_interaction Inventar
effects Partikl
chunk Bleck

PacketOrdering.java

Inkompatible Version!

Fehla möden

Startseitn

Raknetify2

Raknetify2 nutzt RakNet üba UDP fia den Mehrspielamodus vo Minecraft. De Datn gehn üba vaschiedene Kanäl. Geht auf oan Kanal a Paket valorn, kennan de andern trotzdem weiterschickn. So ko des Spü weita auf dei Eingabn reagiern, während fählende Datn nochgliefert oda Chunks übatrogn wean.

Raknetify2 is a eigenständig gepflegter Fork vo Raknetify. Des Original hot da ishland entwickelt. Da Fork unterstützt neuere Minecraft-Versionen. A de Netzwaerkübatrogung, de Onbindung an de vaschiedenen Plattformen und de Kompatibilitätstests wean do weiterpflegt.

De easchtn Schritt

  1. Schau, welche Minecraft-Versionen und Mods zampassn.
  2. Lad de richtige Datei oba und installier s’.
  3. Vabind di mit ana Adress wia raknet;play.example.com.

Oleitungen fia Serverbetreiba

Wer Mods entwickelt, ko üba de Schnittstell fia de Paketreihnfolg angebn, welche Minecraft-Pakete vor oda noch de eigenen Nutzdatn vaoabeitet wean miassn.

Links zum Projekt

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

Installation

Lad a veröffentlichte Version vo GitHub Releases oba. Schau vor da Installation, welche Minecraft-Version und welchen Modloader de Datei braucht.

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

Mach den Client zua oda hoit den Server an, bevorst de JAR austauschst. Nimm de ursprüngliche Raknetify-JAR und olle älteren Raknetify2-JARs aus dera Installation aussi, bevorst de neiche Datei einilegst.

Beim Client ghern de Ordner zu da Minecraft-Instanz oda zum Modpack, des du startest. Bei Server und Proxy liegn s’ im jeweiligen Installationsverzeichnis. Hot da Loader den Ordner no nit auglegt, leg erm söba an.

Direkt mit an Server vabindn

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

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

De Client-Mod allan reicht nit, damit a fremder Server RakNet ko. Da Betreiba muaß an RakNet-Endpunkt bereitstelln. Wannst bloß auf an fremden Server mitspüst, brauchst am eigenen Router normal 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-Server, de Zugriffsbeschränkungen und de Adress, mit dera si de Spüla vabindn.

An eigenen UDP-Port nutzn

Bei an direkt erreichbaren Minecraft-Server 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-Server -Draknetify.fabric.portOverride=25570 1 bis 65534
Spigot- oda Paper-Server -Draknetify.spigot.portOverride=25570 1 bis 65535

Forge und NeoForge nutzn densöbn 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 Server nei und gib UDP auf dem Port frei. Is da öffentliche Port a 25570, vabind 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 dersöbn lokalen Adress wia da TCP-Listener vo Minecraft. Bei an ungültigen Wert oda an belegten UDP-Port ko RakNet nit startn. Im Startprotokoll siechst, auf welcher Adress und auf welchem Port da Listener horcht. Nimm s’Argument aussi und start den Server 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 Server brauchst dafia nit ändern.

Entwicklungsversionen

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

Velocity und BungeeCord

Velocity und BungeeCord vermittln zwischn de Spüla und de eigentlichen Minecraft-Server. Installier Raknetify2 am Proxy und auf jedn Client, der si üba RakNet vabindn soll.

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

Fia den Vabindungsweg brauchn de Backend-Server ka Raknetify2. De Mods, Plugins und Weiterleitungseinstellungen, de dei Netzweark braucht, miassn trotzdem do sei. Raknetify2 übersetzt kane Minecraft-Versionen und ändert nix an da Kontoprüfung vom Proxy.

S’Proxy-Plugin installiern

  1. Schau zeast, ob normale TCP-Vabindungen üba dein Proxy funktioniern, a beim Anmödn und beim Wechsel zwischn Backend-Servern.
  2. Hoit den Proxy an und lad s’passende Plugin vo GitHub Releases oba.
  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 aussi.
  4. Installier de passende Raknetify2-Client-Mod noch da Installationsanleitung.
  5. Schau da de folgenden Listener-Einstellungen an, start den Proxy nei und suach im Protokoll noch Föhla vom RakNet-Listener.
  6. Loss öffentlichen UDP-Verkehr zum Proxy zua. Beschränk den Zugriff auf de Spüports vo de Backends wia unta Firewall und Router eirichtn beschriebn.

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

Velocity

In da velocity.toml legt bind fest, auf welcher Minecraft-Adress und welchem TCP-Port Velocity horcht. Raknetify2 nutzt fia UDP normal diesöbe 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 noch da Änderung nei.

Richt de Weiterleitung vo de Spüladatn 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 Spüladatn. Loss de Firewall-Beschränkungen fias Backend aktiv.

BungeeCord

In da config.yml vo BungeeCord legt host bei jedem Eintrag unta listeners de Minecraft-Adress und den TCP-Port fest. Raknetify2 nimmt fia UDP normal diesöbe 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 fian gonzn Proxy-Prozess. Host mehrere Minecraft-Listener, schau im Startprotokoll noch de tatsächlichen RakNet-Endpunkte, bevorst Firewall-Regeln anlegst. Start BungeeCord noch da Änderung nei.

Loss de Kontoprüfung am Proxy eigscholtn. 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 allan verhindert kane direkten Vabindungen zum Backend. Beschränk den Zugriff wia in da Firewall-Anleitung beschriebn.

D’Adress fia de Spüla aussuachn

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

De Spüla vabindn si mitm öffentlichen Hostnamen und UDP-Port vom Proxy, etwa üba raknet;play.example.com:25570. Wann a Router de Ports umsetzt, gheart da öffentliche UDP-Port in de Client-Adress. Ohne raknet; lauft de Vabindung 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 kan Konflikt um an UDP-Socket.

Sprochchat 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 Sprochchat-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 allan brauchn de Einstellung nit.

D’Vabindung prüfn

Probier’s mit an Raknetify2-Client vo außerhalb vo deim lokalen Netz. Steig üban Proxy ei, wechsl zwischn deine Backend-Server und schau, ob Spülaidentität und Rechte no stimman.

  • Geht TCP üban Proxy, kummt bei RakNet oba a Zeitübaschreitung, prüf den UDP-Listener vom Proxy, den öffentlichen Port, de IPv4- und IPv6-Routen und de Firewall-Regeln.
  • Scheitern beide Vabindungsarten, sobald da Proxy zum Backend vabindt, prüf dessen TCP-Adress, Zugriffsregeln und de Weiterleitung vo de Spüladatn.
  • Mödt da Proxy an belegten UDP-Port, schau, ob Query, Geyser, a Sprochchat-Proxy oda a anderer Prozess den Port nutzt.

Gib bei ana Fehlermöldung de Protokolle vom Proxy und vom Backend vom söbn Vabindungsvasuach mit. Unta Föhla findn steht, welche Versionsangabn dazua ghern.

Firewall und Router eirichtn

De Anleitung is fia Serverbetreiba. Raknetify2 braucht an funktionierenden UDP-Weg zum Server oda Proxy, der de RakNet-Vabindungen annimmt. Normal nutzt da Listener de söbe Portnummer wia da TCP-Listener vo Minecraft.

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

Zü und Port aussuachn

Direkter Server

Leit den öffentlichen UDP-Verkehr zu dem Rechner, auf dem da Minecraft-Server mit Raknetify2 lauft. Zü is da UDP-Port vom RakNet-Listener. Gib den Port in da Firewall vom Serverrechner frei. Loss den vorhandenen TCP-Zuagang fia normale Minecraft-Vabindungen bestehn.

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

Velocity oda BungeeCord

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

Vom Proxy zu de Minecraft-Backends lauft de Vabindung üba TCP. Wegen Raknetify2 am Proxy brauchst de UDP-Spüports vo de Backends nit fia de Spüla aufmochn.

Vabindung Nötiger Zugriff
Spüla zum Proxy Öffentlicher UDP-Zugriff auf den RakNet-Listener und da vorhandene öffentliche TCP-Listener
Proxy zu de Backend-Server Minecraft-TCP-Ports vo de Backends, nur vo de vorgesehenen Proxy-Rechner aus erreichbar
Spüla direkt zu de Spüports vo de Backends Gesperrt lossn, a üba IPv6

Laufn Proxy und Backends direkt auf an eigenen dedizierten Rechner, kennan 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. Schau in de Anleitung fia sichere Velocity-Backends und de Firewall-Anleitung vo BungeeCord.

De Weiterleitung vo de Spüladatn und de Firewall-Regeln ergänzn si. Direkter Zugriff aufs Backend ko de Anmeldeprü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, kennan da öffentliche Port und da Port vom Listener vaschieden sei:

Einstellung Welcher Port gheart do eini?
Serveradress 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 Server hinter an IPv4-Router steht:

  1. Suach de lokale IPv4-Adress vom Rechner, der de RakNet-Vabindungen 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 Spüla nutzn wern.
  3. Trag als Zü 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 Server auf UDP-Port 25565, ko de Regel zum Beispü den öffentlichen Port 25565, de Züadress 192.168.1.100 und den Züport 25565 hobn. Ersetz de Beispüadress durch de wirkliche lokale Adress vo deim Server.

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

Wann de Weiterleitung trotzdem nit geht

Schau, ob vor deim Router no a anderer Router oda dei Internetanbieta NAT nutzt. Bei zwoa eigenen Routern muaßt auf beide weiterleitn. Nutzt da Anbieta Carrier-Grade NAT, frog noch 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. Zü is de IPv6-Adress vom Rechner, der RakNet-Vabindungen annimmt.

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

Gibt a Hostname IPv4- und IPv6-Adressn an, muaß jede angegebene Adress erreichbar sei. Prüf beide Regelsätze, wann a Spüla einekummt und a anderer nit.

Ändert de IPv4-Weiterleitung de Portnummer, muaß da Port, den de Spüla eingebn, a den IPv6-Listener erreichn. A Portumsetzung fia IPv4 richtet kan IPv6-Weg ei.

Hoster und Tunnel

Da Anbieta oda Tunnel muaß am öffentlichen Endpunkt, denst de Spüla gibst, UDP unterstützn. Prüf de zuagwiesenen Ports und de Netz-Firewall vom Anbieta genauso wia de Firewall vom Server.

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’Vabindung prüfn

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

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

A erfolgreiche TCP-Vabindung bestätigt nur den TCP-Weg. Kummt bei RakNet a Zeitübaschreitung, prüf Listener, Weiterleitungszü, UDP-Port und Firewall-Regeln mit da Anleitung zur Föhlasuche.

Kompatibilität

Prüf 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

Lad fia Fabric de compatibility.json aus da söbn Veröffentlichung wia de JAR oba. Suach dei Minecraft-Version unta gameVersions und schau im passenden Eintrag unta runtimes, wos unta depends verlangt wird. De JSON-Datei is zum Nochschaugn und gheart nit in den Ordner mods.

Prüf bei Forge, NeoForge und Spigot/Paper de Versionsanforderungen vo da jeweiligen Datei und ihrer Downloadseitn. Wann wos auf oan Loader geht, gilt des nit automatisch a fian andern.

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

Versionen auf Client und Server

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

Raknetify2 übatrogts bestehende Spüprotokoll vo Minecraft. Fia vaschiedene Minecraft-Versionen brauchst zusätzlich a passende Protokollübersetzung.

Andere Mods

Da Build-Workflow prüft de Kompatibilität unter anderm mit Polymer, Krypton, PacketFixer und Fast IP Ping. De Tests götn fia de Versionen und Kombinationen, de im Workflow ausgewählt san. Schau fia a bestimmte Kombination de Build-Ergebnisse vo da jeweiligen Veröffentlichung an.

Bei an Föhla in an größeren Modpack folg da Anleitung zur Föhlasuche. Gib in da Möldung de genauen Versionen vo olle Mods an.

Modus mit fester Paketreihnfolg

Modus mit fester Paketreihnfolg

Normal kennan de Kanäl vo Raknetify2 unabhängig weitermachn, wann oana auf fählende Datn woart. Bei fester Reihnfolg gehn olle Minecraft-Pakete pro Richtung üba an anzigen Kanal. Fehlt a Paket, miassn olle spätern in dera Richtung woartn, bis des Paket nomal übatrogn worn is. So bleibt de Reihnfolg erholtn, de manche Anti-Cheat-Programme erwartn. Da übrige Spüverkehr in dera Richtung muaß dann a woartn.

Feste Paketreihnfolg einscholtn

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

  2. Leg im Oabeitsverzeichnis vo dem Server oda Proxy de Datei config/raknetify2-compatibility.json an. Föhlt da Ordner config, leg erm zeast an.

  3. Trag des ei:

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

De Clients übanemman de Einstellung vom Server automatisch. De Spüla brauchn weder a eigene Konfigurationsdatei no a andere RakNet-Serveradress.

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 Wödtwechsel.

Betrieb mit Proxy

Vabindn si de Spüla üba Velocity oda BungeeCord, richt de feste Reihnfolg auf dem Proxy ei, a wann s’Anti-Cheat-Programm auf an Backend-Server lauft.

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

D’Einstellung prüfn

Bei da easchtn RakNet-Vabindung mödt de Konsole:

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

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

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

Ältere Clients

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

Zruck zum Mehrkanalbetrieb

Änder den Dateiinhalt so:

{"mode": "multichannel"}

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

Probleme mit da Konfiguration

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

Is de Konfiguration ungültig oda nit lesbar, wean RakNet-Vabindungen obgwiesn. Besser de Datei aus und start den Prozess nei.

Mödt de Konsole no immer multichannel, schau, ob de Datei im Oabeitsverzeichnis vo genau dem Server oda Proxy liegt, der de RakNet-Vabindung annimmt. Start den Prozess nei.

Automatisch den Server wechsln

Fabric-, Forge- und NeoForge-Server kennan beim Wechsel zu an eingetragenen Zü RakNet aussuachn, wann da Client des unterstützt. Sie nutzn dofia den Servertransfer vo Minecraft, den’s seit Java Edition 1.20.5 gibt. Prüf fia beide Seiten, ob dei Raknetify2-Version de jeweilige Minecraft-Version und den Loader unterstützt.

Installier Raknetify2 am sendenden Server und am Client. S’Zü muaß an kompatiblen RakNet-Listener onbietn und eingehende Minecraft-Transfers annehma.

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

Den sendenden Server eirichtn

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

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

Ersetz Hostnamen und Ports im Beispü durch de Werte vo deim Zü. Start dann den sendenden Server nei. Weitere Zü tragst ins söbe Array ei.

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

TCP und UDP derfn de söbe 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 Zü. Raknetify2 schaut, ob da Client Unterstützung fia automatische Transfers mödt. Kann er des und passt des Zü zu an Eintrag, wird da eingestellte UDP-Port gnumma. Bei andern Clients und nit eingetragenen Zün bleibt de ursprüngliche Transferadress erholtn.

Verglichn wean da Hostname und da TCP-Port aus da Transferanfrage. Groß- und Kleinschreibung, a DNS-Punkt am End und gleichwertige IPv6-Schreibweisn wean vereinheitlicht. Es gibt ka DNS-Abfrog. Zwoa vaschiedene Hostnamen brauchn also eigene Einträge, a wann s’auf de söbe Adress zoagn. Platzholter san nit unterstützt.

S’Zü eirichtn

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

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

Prüf bei an Hostnamen mit IPv4- und IPv6-Adress beide Weg zum Zü. Test zeast a direkte RakNet-Vabindung, bevorst automatische Transfers untersuachst.

Loss de Anmelde- und Zuagangsprüfungen am Zü eigscholtn. De Konfiguration gewährt kane Spüla Zuagang und ersetzt de Authentifizierung vom Server nit.

Konfigurationsföhler und Ausscholtn

Fählende oda unbekannte Felder, ungültige Ports und doppelte Zü führn beim Start zu an Konfigurationsföhler. Suach den Föhla im Serverprotokoll, besser de JSON-Datei aus und start den Server nei.

Zum Obscholtn vo da automatischen Auswahl nimm de Konfigurationsdatei aussi oda trag {"destinations": []} ei. Start dann den sendenden Server nei. Seine Transferanfragen beholtn 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 vorgescholteter UDP-Proxy solche Header zu deim Listener schickt. Fia a gwöhnliche Portweiterleitung am Router brauchst des nit.

Leg auf dem Server 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’Beispü durch de tatsächliche Quell-IP vom UDP-Proxy oda an CIDR-Bereich, denst kontrollierst. Zähln tuat de Adress, de da empfangende Listener noch an allfälligen NAT siecht. IPv4- und IPv6-Adressn in Zahlenschreibweis san erlaubt, DNS-Namen nit. Start den empfangenden Server 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 eingetragenen Quelln an. Solang des eingstellt is, wean direkte RakNet-Vabindungen ohne solche Header obgwiesn. Da TCP-Listener beholt seine Einstellungen.

Vatraun 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 Netzweark zulost.

De Datei derf nur trustedProxies entholtn und braucht mindestens an Eintrag. A leers Array is a Föhla. Bei ana ungültigen Datei startet da RakNet-Listener nit.

Nimm de Datei aussi und start den Listener nei, damit direkte UDP-Vabindungen wieda gehn. Pass gleichzeitig de Weiterleitung am vorgescholteten Proxy und de Firewall-Regeln an den neichen Weg an.

Geht nochm Einscholtn ka Vabindung mehr, prüf 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 Server mit Simple Voice Chat teiln.

Installier Simple Voice Chat am Server und auf olle Clients, de Sprochchat nutzn wolln. Fia de übrigen Einstellungen folg da Serveranleitung vo Simple Voice Chat.

De Konfigurationsdatei vo Raknetify2 gheart a bei Spigot/Paper in den obersten config-Ordner vom Server. De Datei vo Simple Voice Chat söba bleibt im plattformspezifischen Ordner, der unt steht.

Den Spüport gmeinsam nutzn

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

    {"enabled": true}
  2. Setz in da Serverkonfiguration vo Simple Voice Chat port=-1. Auf an Server 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 wüst.

  4. Start den Server nei und füahr fia an verbundenen Spüla /voicechat test <PLAYERNAME> aus.

Nutzt da RakNet-Listener an andern Port wia Minecraft, setz port fian Sprochchat 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 brauchn. 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 gheart 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 fian Sprochchat. De Spüla kennan erm nutzn, egal ob s’Spü üba TCP oda RakNet lauft.

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 kan Socket mitm Sprochchat-Proxy. Folg da Proxy-Anleitung fia Simple Voice Chat und gib dem Sprochchat-Proxy an eigenen UDP-Port. Beim offiziellen Proxy-Plugin gheart a obweichende öffentliche Adress fia voice_host in de Sprochchat-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 Server weiterleitet.

Gmeinsame Nutzung obscholtn oda an Socket-Konflikt lösn

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

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

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

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

Föhla findn

TCP geht, oba bei RakNet kummt a Zeitübaschreitung

Geh de Punkte da Reih noch durch:

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

A erfolgreiche TCP-Vabindung bestätigt nur den TCP-Weg. Prüf de UDP-Weiterleitung und den IPv6-Zuagang wia unta Firewall und Router eirichtn beschriebn. Is s’PROXY-Protokoll eigscholtn, miassn de Clients üba an eingetragenen vertrauenswürdigen Proxy zum Listener kumman.

Adress scho belegt

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

An andern lokalen UDP-Port kannst in de Listener-Einstellungen fia direkte Servervabindungen 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 nit.

Direkt beitretn geht, Serverwechsel scheitern

Vabind di direkt mit da raknet;-Adress vom Zü. Scheitert des scho, bring zeast den Zü-Listener oda den Netzwearkweg in Ordnung.

Geht de direkte Vabindung, schau, ob s’Zü eingehende Transfers annimmt. A Minecraft-Server mit server.properties braucht accepts-transfers=true. Beim direkten Beitritt wird de Einstellung nit prüft.

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

Verschlüsselungs- oda Protokollföhler

Prüf de Raknetify2-Versionen auf beide Seiten. Ändert a Version des verschlüsselte Protokoll, aktualisier Client und Server oda Proxy miteinander. Loss bei da Föhlasuche de Authentifizierungseinstellungen vom Server so, wia s’san.

Föhla mit bestimmten Mods

Schreib auf, wos den Föhla auslöst, etwa a Inventar aufmochn, a Ressourcenpaket empfanga, de Wödt wechsln oda a Objekt erzeugn. Vergleich densöbn Vorgang üba TCP und RakNet, wann möglich in ana eigenen Testinstallation.

Bei manchen eigenen Nutzdatn kummt’s drauf an, in welcher Reihnfolg sie relativ zu de Vanilla-Pakete einitreffn. Mod-Entwickler kennan des üba de Schnittstell fia de Paketreihnfolg angebn.

An Föhla mödn

Mach im Issue-Tracker vo Raknetify2 a Möldung auf und gib des an:

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

Nimm Zugriffstoken, Passwörter und andere private Angabn aussi, bevorst Protokolle aufelodst. Loss de nötigen Föhlermöldungen und Stacktraces fia de Diagnose drin.

Eigene Mods anbinden

Mit Raknetify2 kennan Mods angebn, bei welchen Minecraft-Paketen de Reihnfolg gegenüber ihre eigenen Nutzdatn erholtn bleibn muaß. Des braucht ma, wann de Verarbeitung zum Beispü a Objekt, an Chunk, a Inventar oda an andern Zustond voraussetzt, den eascht a früheres Paket erzeugt.

Gruppn fia de Paketreihnfolg

Gruppn Zuagheariger Datnverkehr
ui Wödtunabhängige Menüs und Interaktionen
entity Erzeugn, Entfernen und Bewegn vo Objekten
world_interaction Inventare und andere wödtobhängige Interaktionen
effects Geräusche und Partikel
chunk Änderungen bei Gelände, Blöcken und Beleuchtung

Innerholb vo jedem Kanal kumman de Pakete zuverlässig in da richtigen Reihnfolg an. Pakete aus vaschiedene Gruppn kennan in ana andern Reihnfolg zueinander einitreffn. Nimm de Gruppn, de zur Abhängigkeit vo deine Nutzdatn passt.

Optionale Onbindung fia Fabric

Trag in da fabric.mod.json vo deiner Mod an Provider fian 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 Eintrag. Ersetz den Klassennamen durch den vollständig qualifizierten Namen vo deim Provider:

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

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

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

Föhlt Raknetify2, ruaft Fabric den Einstiegspunkt nit 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, kennan Forge- und NeoForge-Mods sowie Server- und Proxy-Plugins bei da Initialisierung PacketOrdering.register(identifier, group) aufruafn. De Klass hoaßt com.ishland.raknetify.api.PacketOrdering. Registrier de Regeln, bevor Spülavabindungen angnumma wean. Bei optionaler Onbindung derf dei Code kane Raknetify2-Klassen lodn, wann de Abhängigkeit föhlt.

De Regeln götn fia neiche Vabindungen. Bestehende Vabindungen beholtn de Regeln vom Aufbau. De söbe Regel mehrmals registriern is erlaubt. Widersprüchliche Gruppn fia de söbe Kennung wean obgwiesn.

Nutzdatn-Kennungen brauchn 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 derfn 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 Server oda Proxy ko de Regel vo da Gegenstell nutzn, wann er fia de Nutzdatn ka eigene hot. Lokale Regeln hobn Vorrang. De Regeln vo da Gegenstell götn nur fia de jeweilige Vabindung.

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