Repository navigation
Wiki de at
- Startseitn
- Installation
- Velocity und BungeeCord
- Firewall und Router eirichtn
- Kompatibilität
- Modus mit fester Paketreihnfolg
- Automatisch den Server wechsln
- UDP-Weiterleitung und PROXY-Protokoll
- Simple Voice Chat
- Föhla findn
- Eigene Mods anbinden
- UDP-Proxys
Mit RakNet vabindn si Minecraft-Clients mit de Server.
| 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 |
-
Mehrspiela
-
Server hinzuafügn
-
Serveradress
Serveradress RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Basst
-
Aufn Server geh
| F3 | |
|---|---|
| RakNet · UDP | Aktiv · MTU 1400 |
| TCP | Ned aktiv |
- Client · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- 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 |
| Serveradress | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Server · 192.0.2.10
|
25570/udp |
Server / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| 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
| 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"]}-
Server A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Server B ·
play.example.com·server.properties→accepts-transfers=true -
Server A ·
/transfer play.example.com 25565 Alex→ Client (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Optionen |
entity |
Skelett |
world_interaction |
Inventar |
effects |
Partikl |
chunk |
Bleck |
- Fabric ·
compatibility.json·gameVersions/runtimes/depends - Forge / NeoForge / Spigot / Paper · GitHub Releases
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.
- Schau, welche Minecraft-Versionen und Mods zampassn.
- Lad de richtige Datei oba und installier s’.
- Vabind di mit ana Adress wia
raknet;play.example.com.
- Velocity und BungeeCord
- Firewall und Router eirichtn
- Automatisch den Server wechsln
- UDP-Weiterleitung und PROXY-Protokoll
- An UDP-Port mit Simple Voice Chat teiln
- Föhla findn und mödn
Wer Mods entwickelt, ko üba de Schnittstell fia de Paketreihnfolg angebn, welche Minecraft-Pakete vor oda noch de eigenen Nutzdatn vaoabeitet wean miassn.
Raknetify2 steht unta da MIT-Lizenz. De ursprünglichen Urheberrechtshinweis bleibn erholtn. De Netzwearkimplementierung baut auf Raknetify und netty-raknet auf.
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.
- Installier de Client-Mod fia dein Loader.
- Installier de passende Server-Mod oda auf an kompatiblen Server s’Plugin fia Spigot/Paper.
- Gib UDP-Vabindungen zum Server frei, wia unta Firewall und Router eirichtn beschriebn.
- Start Client und Server nei.
- Füag a Serveradress wia
raknet;play.example.comodaraknet;play.example.com:25565hinzu.
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.
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.
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.
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 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.
- Schau zeast, ob normale TCP-Vabindungen üba dein Proxy funktioniern, a beim Anmödn und beim Wechsel zwischn Backend-Servern.
- Hoit den Proxy an und lad s’passende Plugin vo GitHub Releases oba.
- Leg
raknetify2-velocity-*-all.jarodaraknetify2-bungee-*-all.jarin den Ordnerpluginsvom Proxy. Nimm ältere Raknetify- oda Raknetify2-Plugins aus dem Ordner aussi. - Installier de passende Raknetify2-Client-Mod noch da Installationsanleitung.
- Schau da de folgenden Listener-Einstellungen an, start den Proxy nei und suach im Protokoll noch Föhla vom RakNet-Listener.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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 |
Wann dei Server hinter an IPv4-Router steht:
- 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.
- Leg a UDP-Weiterleitung fia den öffentlichen Port an, den de Spüla nutzn wern.
- Trag als Zü de lokale Adress vom Rechner und den UDP-Port vom RakNet-Listener ei.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
-
Installier a Raknetify2-Version mit dem Modus am Server oda Proxy, der RakNet-Vabindungen annimmt, und auf olle RakNet-Clients.
-
Leg im Oabeitsverzeichnis vo dem Server oda Proxy de Datei
config/raknetify2-compatibility.jsonan. Föhlt da Ordnerconfig, leg erm zeast an. -
Trag des ei:
{"mode": "ordered"} -
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.
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.
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.
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.
Ä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.
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.
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.
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.
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.
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.
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.
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.
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.
-
Leg im Serververzeichnis de Datei
config/raknetify2-voicechat.jsonmit dem Inhalt an:{"enabled": true} -
Setz in da Serverkonfiguration vo Simple Voice Chat
port=-1. Auf an Server mit Modloader is desconfig/voicechat/voicechat-server.properties, auf Spigot/Paperplugins/voicechat/voicechat-server.properties. -
Loss
bind_addressleer, 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. -
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.
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.
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.
Geh de Punkte da Reih noch durch:
- Am Client is de zu seim Loader und seiner Minecraft-Version passende Raknetify2-Mod installiert.
- Am Server oda Proxy, der de Vabindung annimmt, is Raknetify2 installiert. Da Listener is ohne Föhla gstartet.
- De Adress fangt mit
raknet;an und nutzt den öffentlichen UDP-Port. - Da Hoster, da Router und de Firewall vom Rechner lossn UDP auf dem Port zua.
- 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.
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.
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.
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.
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.
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.
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 | 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.
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.
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.
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.