Repository navigation
Wiki bar
- Startseitn
- Installation
- Velocity und BungeeCord
- Firewall und Router eirichtn
- Kompatibilität
- Modus mit fester Paketreihnfolg
- Automatisch den Serva wechsln
- UDP-Weiterleitung und PROXY-Protokoll
- Simple Voice Chat
- Fehla suacha
- Eigene Mods anbinden
- UDP-Proxys
Netzwerkverbindungen üba RakNet fia Minecraft-Clients und -Serva.
| 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 |
-
Meahspiela
-
Serva hinzufiagn
-
Servaadresse
Servaadresse RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Ois fertig
-
Serva beitretn
| F3 | |
|---|---|
| RakNet · UDP | Aktiv · MTU 1400 |
| TCP | Ned aktiv |
- Client · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- 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 |
| Servaadresse | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Serva · 192.0.2.10
|
25570/udp |
Serva / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| 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
| 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"]}-
Serva A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Serva B ·
play.example.com·server.properties→accepts-transfers=true -
Serva A ·
/transfer play.example.com 25565 Alex→ Client (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Optiona |
entity |
Skelett |
world_interaction |
Imventar |
effects |
Partikl |
chunk |
Blöcke |
- Fabric · Minecraft / Java · English
- Forge / NeoForge / Spigot / Paper · GitHub Releases
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.
- Schaug, weiche Minecraft-Versionen und Mods zampassn.
- Lad de richtige Datei owa und installier s’.
- Verbind di mit ana Adress wia
raknet;play.example.com.
- Velocity und BungeeCord
- Firewall und Router eirichtn
- Automatisch den Serva wechsln
- UDP-Weiterleitung und PROXY-Protokoll
- An UDP-Port mit Simple Voice Chat teiln
- Fehla findn und meldn
Wer Mods entwickelt, ko üba de Schnittstell fia de Paketreihnfolg angebn, weiche Minecraft-Pakete vor oda nach de eigenen Nutzdatn verarbat wern miassn.
Raknetify2 steht unta da MIT-Lizenz. De ursprünglichen Urheberrechtshinweis bleibn erhoitn. De Netzwerkimplementierung baut auf Raknetify und netty-raknet auf.
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.
- Installier de Client-Mod fia dein Loader.
- Installier de passende Serva-Mod oda auf an kompatiblen Serva s’Plugin fia Spigot/Paper.
- Gib UDP-Verbindungen zum Serva frei, wia unta Firewall und Router eirichtn beschriebn.
- Start Client und Serva nei.
- Füag a Servaadress wia
raknet;play.example.comodaraknet;play.example.com:25565hinzu.
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.
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.
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.
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 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.
- Schaug z'erst, ob normale TCP-Verbindungen üba dein Proxy funktioniern, a beim Omeidn und beim Wechsel zwischn Backend-Servan.
- Hoit den Proxy an und lad s’passende Plugin vo GitHub Releases owa.
- Leg
raknetify2-velocity-*-all.jarodaraknetify2-bungee-*-all.jarin den Ordnerpluginsvom Proxy. Nimm ältere Raknetify- oda Raknetify2-Plugins aus dem Ordner raus. - Installier de passende Raknetify2-Client-Mod nach da Installationsanleitung.
- Schaug da de folgenden Listener-Einstellungen an, start den Proxy nei und suach im Protokoll nach Fehla vom RakNet-Listener.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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 |
Wann dei Serva hinter an IPv4-Router steht:
- 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.
- Leg a UDP-Weiterleitung fia den öffentlichen Port an, den de Spiela nutzn wern.
- Trag als Zui 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 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.
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.
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.
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.
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.
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 · 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.
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.
Bei an Fehla in an größeren Modpack folg da Anleitung zur Fehlasuach. Gib in da Meldung de genauen Versionen vo olle Mods an.
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.
-
Installier a Raknetify2-Version mit dem Modus am Serva oda Proxy, der RakNet-Verbindungen annimmt, und auf olle RakNet-Clients.
-
Leg im Arbatsverzeichnis vo dem Serva oda Proxy de Datei
config/raknetify2-compatibility.jsonan. Fehlt da Ordnerconfig, leg erm z'erst an. -
Trag des ei:
{"mode": "ordered"} -
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.
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.
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.
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.
Ä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.
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.
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.
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.
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.
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.
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.
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.
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.
-
Leg im Servaverzeichnis de Datei
config/raknetify2-voicechat.jsonmit dem Inhalt an:{"enabled": true} -
Setz in da Servakonfiguration vo Simple Voice Chat
port=-1. Auf an Serva 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 mogst. -
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.
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.
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.
Geh de Punkte da Reih nach durch:
- Am Client is de zu seim Loader und seiner Minecraft-Version passende Raknetify2-Mod installiert.
- Am Serva oda Proxy, der de Verbindung annimmt, is Raknetify2 installiert. Da Listener is ohne Fehla gstartet.
- De Adress fangt mit
raknet;an und nutzt den öffentlichen UDP-Port. - Da Hoster, da Router und de Firewall vom Rechner lassn UDP auf dem Port zua.
- 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.
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.
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.
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.
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.
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.
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 | 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.
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.
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.
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.