Skip to content

Wiki nl be

pjscruggs edited this page Nov 11, 2026 · 2 revisions

Raknetify2 · Vlaams (België)

Taal

Samen spelen

Netwerkverbindingen via RakNet voor Minecraft-clients en -servers.

Downloaden · 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 toevoegen

  1. Samen spelen

  2. Server toevoegen

  3. Serveradres

    Serveradres
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Klaar

  5. Server betreden

F3 · Raknetify2

F3
RakNet · UDP Actief · MTU 1400
TCP Inactief

Velocity / BungeeCord

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

Geen respons

Serveradres 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

Serveradres 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 Instellingen
entity Skelet
world_interaction Inventaris
effects Deeltjes
chunk Blokken

PacketOrdering.java

Incompatibele versie!

Rapporteer bugs

Home

Raknetify2

Raknetify2 gebruikt RakNet over UDP voor de multiplayerstand van Minecraft. Het verkeer loopt over meerdere kanalen, elk met een eigen pakketvolgorde. Raakt er op één kanaal een pakket kwijt, dan kunnen de andere kanalen gegevens blijven doorgeven. Daardoor kan het spel blijven reageren terwijl ontbrekende gegevens opnieuw worden verzonden of chunks worden overgedragen.

Raknetify2 is een zelfstandig onderhouden fork van Raknetify, oorspronkelijk ontwikkeld door ishland. De fork voegt ondersteuning voor nieuwere Minecraft-versies toe en onderhoudt ook de transportcode, de integraties met de verschillende platforms en de compatibiliteitstests.

Beginnen

  1. Controleer de compatibiliteit met Minecraft en mods.
  2. Kies een versie om te downloaden en installeer die.
  3. Connecteer met een adres zoals raknet;play.example.com.

Servergidsen

Mod-ontwerpers kunnen de packet ordering interface gebruiken om afhankelijkheden tussen custom payloads en Minecraft-verkeer te declareren.

Project links

Raknetify2 gebruikt de MIT-licentie en behoudt de oorspronkelijke auteursrechtenvermeldingen. De netwerkimplementatie van Raknetify2 is gebaseerd op Raknetify en netty-raknet.

Installatie

Download een versie van GitHub Releases. Controleer de Minecraft-versie en de vereisten voor de loader voor die versie voordat je installeert.

Waar je installeert File Map
Fabric client of server raknetify2-fabric-*.jar mods
Forge client of server raknetify2-forge-*.jar mods
NeoForge client of server raknetify2-neoforge-*.jar mods
Spigot of Paper server raknetify2-spigot-*.jar plugins
Velocity proxy raknetify2-velocity-*.jar plugins
BungeeCord proxy raknetify2-bungee-*.jar plugins

Sluit de client af of stopt de server voordat je zijn JAR-file vervangt. Verwijder de oorspronkelijke Raknetify JAR en eventuele oudere Raknetify2 JAR-files uit dezelfde installatie voordat je de nieuwe file toevoegt.

Clientfolders behoren tot de Minecraft-instance of modpack die je start. Server- en proxyfolders behoren tot die server- of proxyinstelling. Maak de juiste folder aan als je loader deze nog niet heeft gemaakt.

Directe serververbindingen

  1. Installeer de clientmod voor je loader.
  2. Installeer het passende servermod, of de Spigot/Paper-plugin op een compatibel server.
  3. Volg Firewall- en routerconfiguratie om UDP-connecties naar de server toe te staan.
  4. Herstart de client en de server.
  5. Voeg een serveradres toe, zoals raknet;play.example.com of raknet;play.example.com:25565.

Adressen zonder het prefix raknet; gebruiken TCP.

Het installeren van de clientmod alleen voegt geen RakNet ondersteuning toe aan een remote server. De serveroperator moet een RakNet endpoint verstrekken. Spelers die zich aansluiten bij de server van iemand anders hebben meestal geen inbound router-forwarding-regels nodig.

Velocity en BungeeCord

Installeer het passende proxy-plugin en het client-modul. Volg Velocity en BungeeCord voor de instellingen van de luisterapparaten, het doorsturen van de backend, toegangsbeperkingen en de adressen die spelers moeten gebruiken.

Een apart UDP-luisterport

Voor een directe Minecraft-server, stel het passende Java-argument hieronder in. Proxy-operatoren moeten de instellingen voor Velocity en BungeeCord listener gebruiken.

Platform Java argument Geaccepteerde poorten
Fabric-, Forge- of NeoForge-server -Draknetify.fabric.portOverride=25570 1 tot 65534
Spigot of Paper server -Draknetify.spigot.portOverride=25570 1 tot 65535

Forge en NeoForge gebruiken het gedeelde luistercode, zodat de namen van hun eigenschappen ook fabric bevatten. Vervang 25570 door de gewenste UDP-poort.

Spigot / Paper ≥ 0.1.0-beta.1.431

Zet het argument vóór -jar in het Java-commando of in het veld voor JVM-argumenten bij je hostingprovider. Start de server opnieuw en sta UDP-verkeer toe op de gekozen poort. Is de externe poort ook 25570, gebruik dan raknet;play.example.com:25570. Vertaalt de router het poortnummer, vul dan in de client de externe poort van de router in. De TCP-poort blijft gelijk.

Op Spigot/Paper houdt de UDP-luister de lokale bindadres van de Minecraft TCP-luister bij. Een ongeldige overdracht of een bezet UDP-portefeuille belemmert RakNet om te starten. Controleer het startlogboek voor de gebonden UDP-adres en -portefeuille. Verwijder het argument en start opnieuw om terug te keren naar het TCP-luisteradres.

Een router of UDP-proxy kan ook een andere publieke UDP-poort openen en deze doorsturen naar de bestaande luisterapparaat, zonder de Java-argumenten van de server te veranderen.

Ontwikkelingsbuilds

Open een succesvolle main run in GitHub Actions en download zijn Artifacts archief. GitHub vereist een account om workflow-artefacten te downloaden. Gebruik de bovenstaande installatietabel om een JAR uit het archief te kiezen.

Velocity en BungeeCord

Velocity en BungeeCord bevinden zich tussen de spelers en de back-end Minecraft-servers. Installeer Raknetify2 op de proxy en op elke client die via RakNet zal verbinden.

Raknetify2 client --UDP--> Velocity of BungeeCord --TCP--> backend server

De backendservers hebben Raknetify2 niet nodig voor deze verbindingsroute. Ze hebben nog steeds de mods, plugins en doorstuurfuncties nodig die vereist zijn voor hun netwerk. Raknetify2 vertaalt geen Minecraft-versies en verandert de authenticatie van de proxy-account niet.

Installeer de proxy-plugin

  1. Controleer dat gewone TCP-connections via je proxy werken, inclusief authenticatie en schakeling tussen backend-servers.
  2. Stop de proxy en download de passende plugin van GitHub Releases.
  3. Plaats raknetify2-velocity-*-all.jar of raknetify2-bungee-*-all.jar in de plugins-map van de proxy. Verwijder alle oudere Raknetify- of Raknetify2-pluginten uit die map.
  4. Installeer het desbetreffende Raknetify2-clientmod volgens de instellingsgids.
  5. Controleer de instellingen van de luisterapparaatjes hieronder, start de proxy opnieuw en bekijk zijn logboek voor fouten met betrekking tot de RakNet-luisterapparaatjes.
  6. Sta mogelijkheid om publieke UDP-verkeer naar de proxy toe te staan, en beperk de backend-spelporten zoals beschreven in Firewall- en routerconfiguratie.

Gebruik compatibele Raknetify2-versies op de client en proxy. Controleer Compatibiliteit voordat je versies met elkaar mengt.

Velocity

De bind-instelling in velocity.toml selecteert de luisteradres en de TCP-poort van Velocity voor Minecraft. Raknetify2 gebruikt normaal gesproken dezelfde portnummer voor UDP. De [servers]-invoeringen identificeren de backend-servers. Houd deze invoeringen gericht op de backend-TCP-adressen. Zie de configuratiereferentie van Velocity.

Om een apart UDP-portaal te gebruiken, voeg deze JVM-argument toe voorafgaand aan -jar in de startcommando van Velocity:

-Draknetify.velocity.portOverride=25570

Vervang 25570 door de gewenste poort. Hierdoor wordt de RakNet UDP-poort veranderd, terwijl de TCP-poort en de backend-adressen van Velocity behouden blijven. Herstart Velocity nadat je de argumenten hebt gewijzigd.

Configureer de afzenderfunctie voor spelers zowel op Velocity als op zijn backends. Gebruik moderne afzendfuncties wanneer de backendsoftware dit ondersteunt, en houd de afzendgegevens geheim. Volg de specifieke instructies voor backends in Velocity's gids voor afzend van spelersinformatie. Houd de beperkingen van de backend-firewall in werking naast de afzendfunctie.

BungeeCord

In BungeeCord’s config.yml identificeert de waarde host onder elke listeners-entry een adres en TCP-poort voor Minecraft. Raknetify2 voegt normaal gesproken UDP toe op die poortnummer. De servers-entry bevatten de backend-TCP-adressen. Deze instellingen zijn beschreven in de BungeeCord configuratiegids.

Voor een apart UDP-port, voeg dit JVM-argument voor aan -jar in de startcommando van BungeeCord:

-Draknetify.bungee.portOverride=25570

De overtocht valt onder het gehele proxy-proces. Voor een configuratie met meerdere Minecraft-luisteraars, controleer de daadwerkelijke RakNet-eindpunten in de startloggen voordat u firewallregels toevoegt. Herstart BungeeCord nadat u de argumenten hebt gewijzigd.

Bewaar de accountauthenticatie bij de proxy. Voor Spigot-backends moet BungeeCord’s IP-forwarding-gids ip_forward: true op de proxy combineren met settings.bungeecord: true op de backend. Alleen forwarding voorkomt niet dat iemand rechtstreeks naar een backend kan connecten. Beperk de toegang tot de backend met behulp van de firewall-instructies.

Kies de adressen die de spelers gebruiken

Beide proxy-overrides accepten porten van 1 tot 65534. Ongeldige waarden worden genegeerd, controleer dus de gebonden UDP-port in de startlog. Verwijder het argument en start opnieuw om terug te keren naar het portnummer van de Minecraft-luisterapparatuur.

Spelers verbinden zich met de publieke hostname en UDP-poort van de proxy, bijvoorbeeld raknet;play.example.com:25570. Wanneer een router de poorten vertaalt, gebruik dan zijn publieke UDP-poort in het clientadres. Adressen zonder het prefix raknet; blijven gebruikmaken van de TCP-luisterpoort van de proxy.

Laat de Query, Geyser en andere UDP-diensten op aparte UDP-ports staan. Een andere TCP-port lost geen UDP-socketconflicten op.

Gesprekken via stemcommunicatie en extra UDP-afwisseling

Simple Voice Chat gebruikt zijn eigen proxy-plugin en UDP-poort op Velocity en BungeeCord. Volg de gids voor Voice Chat proxy voor die instelling.

Als er een apart UDP-relay staat voorafgaand aan je Minecraft-proxy en deze PROXY-protocol v2 headers verzendt, configureer dan Raknetify2 met UDP-forwarding en PROXY-protocol. Het installeren van Velocity of BungeeCord alleen vereist deze configuratie niet.

Controleer de verbinding

Test het van buiten je lokale netwerk met een Raknetify2-client. Sluit je aan via de proxy, wissel tussen de backend-servers die je gebruikt, en bevestig dat de identiteit en toestemmingen van de speler correct zijn.

  • Als TCP via de proxy werkt maar RakNet een tijdslimiet overschrijdt, controleer de UDP-luisterknop van de proxy, de publieke port, de IPv4- en IPv6-routes, en de firewallregels.
  • Als beide transportmethoden mislukken wanneer de proxy een backend probeert te verbinden, controleer dan de TCP-adres, toegangsregels en player-forwarding-configuratie van die backend.
  • Als de proxy een bezet UDP-poort rapporteert, controleer dan of er een Query-, Geyser-, stemproxy of een andere proces die eraan verbonden is aanwezig is.

Voor rapporten, vermeld zowel de proxy- als de backend-logs van dezelfde verbindingstest. Zie Troubleshooting voor de versieinformatie die moet worden vermeld.

Firewall- en routerconfiguratie

Deze handleiding is bedoeld voor serveroperatoren. Raknetify2 heeft een functionerende UDP-route naar de server of proxy die RakNet-connections accepteert nodig. De standaardinstelling gebruikt hetzelfde portnummer als de TCP-luister van Minecraft.

Voor spelers op dezelfde lokale netwerk, gebruik de lokale adres van de server en stel UDP toe via zijn host-firewall. Routerport forwarding is nodig wanneer internetverkeer door de IPv4 NAT van je router moet gaan.

Kies de bestemming en port

Directe server

Stuur publieke UDP-verkeer naar de machine die de Minecraft-server draait met Raknetify2. Het bestemmingsport is de RakNet UDP-luisterport van die server. Laat die port openstaan in de firewall van de servermachine. Houd de bestaande TCP-route voor gewone Minecraft-connections open.

Voorbeeld: als Raknetify2 luistert op UDP 25570, stuur de publieke UDP-poort naar de lokale adres van de server op port 25570. De TCP-poort van de server kan blijven op 25565. Zie direct-server luisterinstellingen om een andere UDP-poort te kiezen.

Velocity of BungeeCord

Stuur publieke UDP-verkeer naar de machine die Velocity of BungeeCord gebruikt met het Raknetify2 proxy-plugin. Gebruik de RakNet UDP-luister van de proxy als doorstuurdoel. Houd de bestaande publieke TCP-route van de proxy over voor gewone Minecraft-connections.

De proxy connecteert met de backend Minecraft-servers via TCP. Het toevoegen van Raknetify2 aan de proxy vereist geen openen van UDP-porten voor de backend-spelactiviteiten voor spelers.

Verbinding Toegang die is toegestaan
Spelers naar de proxy Publieke UDP-verbinding naar de RakNet luisteraar, plus de bestaande publieke TCP-luisteraar
Proxy naar backend-servers TCP-poorten van de achterliggende Minecraft-servers, alleen bereikbaar vanaf de daarvoor aangewezen proxyservers
Spelers gaan direct naar de backend-gameplayports. Blokkeer alles, inclusief via IPv6.

Wanneer de proxy en backends direct op een speciaal beschikbare machine draaien die u controleert, kunnen backend-luisteraars loopback-adressen gebruiken, met de proxy zo geconfigureerd dat ze daar kunnen bereiken. Tussen verschillende machines moet de TCP-toegang tot de proxy hosts worden beperkt met behulp van een firewall of een geïsoleerde privénetwerk. Containers en beheerde hosts hebben eveneens equivalente beperkingen voor hun netwerkstructuur. Zie Velocity’s backend-beveiligingsgids en BungeeCord’s firewall-gids.

Speleroverdracht en firewallbeperkingen werken samen. Directe toegang tot de backend kan de logincontroles van de proxy omzeilen. Voor de installatie van plugins, instellingen voor speleroverdracht en wijzigingen van de UDP-poort, volg Velocity en BungeeCord.

Publieke en lokale portnummers

Het publieke port en het port van de luisteraar kunnen verschillend zijn wanneer een router tussen hen wisselt:

Instellingen Port die moet worden gebruikt
Client-serveradres Publieke UDP-poort
Router forwarding rule’s externe port Publieke UDP-poort
Intern porta van de routerverzendregels UDP-poort van de RakNet-luisteraars
Lokale port van de firewall van de host UDP-poort van de RakNet-luisteraars

IPv4 port forwarding

Voor hosten achter een IPv4-router:

  1. Vind de lokale IPv4-adres van de machine die RakNet-connections accepteert. Gebruik een DHCP-reservering of een geschikte statische adres zodat de doorstuurregel nog steeds die machine richt op.
  2. Voeg een regel toe die UDP-verkeer op de externe poort van de spelers doorstuurt.
  3. Stel de bestemming van de regel in op de lokale adres van die machine en de UDP-poort van de RakNet-luister.
  4. Sta mij in met UDP binnen op de port van de luisterapparaat in de firewall van de host.

Een server die op UDP-poort 25565 luistert, kan een regel gebruiken met de publieke poort 25565, de bestemmingsadres 192.168.1.100 en de bestemmingspoort 25565. Vervang het voorbeeldadres door het echte lokale adres van uw server.

Bewaar de bestaande TCP-regel voor gewone Minecraft-connectionen. Een enkele TCP-forwarding-regel draagt UDP niet over.

Wanneer het doorsturen nog steeds mislukt

Controleer of een andere router of je ISP NAT uitvoert voordat het traffic bij jouw router aankomt. Met twee routers moet het forwarden beide bedienen. Als je ISP carrier-grade NAT gebruikt, vraag of het een publieke IPv4-adres kan leveren of een hostingdienst of tunnel gebruikt die inbound UDP ondersteunt. De forwardingsregel van jouw router kan de NAT van de ISP niet configureren. Zie TP-Link's richtlijnen voor port forwarding voor de vereisten voor de publieke WAN-adres.

IPv6-firewallregels

Sta je selecteerde UDP-poort open voor toegang via zowel de IPv6-firewall van de router als de firewall van de host. Vaststellen op de IPv6-adres van de machine die RakNet-connections accepteert.

Controleer of de IPv6-adres van de hostnaam op die machine wijst. Als de IPv6-adres verandert, updateer de DNS-registratie en alle firewallregels die specifiek voor die adres zijn.

Een hostnaam die zowel IPv4- als IPv6-adressen publiceert, heeft een functionerende route voor elke gepubliceerde adres. Controleer beide sets van regels wanneer één speler kan verbinden en een andere niet kan.

Als de IPv4-afzending het portnummer verandert, zorg ervoor dat het port dat door de spelers wordt ingevoerd ook bereikt de IPv6-luisteraar. Een IPv4-portvertaling configureert de IPv6-rotafout niet.

Hostingproviders en tunnels

De provider of tunnel moet UDP ondersteunen op het publieke eindpunt dat je aan de spelers geeft. Controleer de portallocaties en netwerkfirewallregels, evenals de eigen firewall van de server.

Als een extra UDP-proxy clientadressen doorstuurt met het PROXY-protocol versie 2, volg dan UDP-forwarding en PROXY-protocol en beperk de toegang tot de ontvangende UDP-luister naar de betrouwbare proxy.

Controleer de verbinding

Verbinding maken van buiten de lokale netwerk van de server met een up-to-date Raknetify2-client, gebruikmakend van een adres zoals raknet;play.example.com:25565. Gebruik de openbare UDP-poort in dit adres.

Gebruik een echte RakNet-verbinding om de route te verifiëren. Een UDP-scans die geen respons krijgt, kan een onbeslissend resultaat rapporteren, omdat een werkende dienst een onbekende probe kan weggooien. Nmap's UDP-scans documentatie legt dit gedrag uit.

Een succesvolle TCP-verbinding bevestigt alleen de TCP-route. Als RakNet een tijdslimiet overschrijdt, controleer de luisteraar, de doorstuurdoel, de UDP-poort en de firewallregels met behulp van de oplossingenleidraad.

Compatibiliteit

Controleer de compatibiliteit met de specifieke versie die je downloadt. De ontwikkelingsbranch kan ondersteuning bevatten die nog niet in een versie is opgenomen.

Minecraft en Java-versies

Minecraft en Java-versies · English

De Java-eis die door Raknetify2 wordt gesteld, is de minimume eis. Minecraft of de loader kan een nieuwer runtime vereisen. Kies een Java-versie die alle drie de eisen vervult.

Client- en serverversies

Gebruik indien mogelijk dezelfde Raknetify2-versie op de client en op de server of proxy die zijn verbinding accepteert. Controleer de release notes voordat je versies combineert. Gecodeerde RakNet-verbindingen vereisen ondersteuning voor het autenticereguleerde encryptieprotocol aan beide kanten. Oorspronkelijke Raknetify- en Raknetify2-versies uit voor die protocol werd geïntroduceerd kunnen deze gecodeerde verbindingen met geactualiseerde peers niet maken.

Raknetify2 draagt het bestaande spelprotocol van Minecraft. Het verbinden van verschillende Minecraft-versies vereist een compatibele setup voor het vertalen van het protocol.

Andere mods

Andere mods · English

Voor een storing in een grotere modpack, volg de troubleshooting-gids. Vergeet niet de volledige modversies in uw rapport op te nemen.

Ordeermode

Ordeermode

Normaal gesproken laat Raknetify2 onafhankelijke pakketkanalen doorlopen terwijl één kanaal wacht op ontbrekende gegevens. In de geordende modus worden alle Minecraft-pakketten op één kanaal geplaatst, zodat een ontbrekend pakket alle latere pakketten in die richting tegenhoudt tot het opnieuw wordt verzonden. Dit behoudt de volgorde die door sommige anti-cheat-software wordt verwacht, maar neemt tegelijkertijd Raknetify2’s mogelijkheid weg om onbelangrijk spelverkeer te laten doorlopen tijdens die wachttijd.

Het inschakelen van de geordende modus

  1. Installeer een Raknetify2-versie die de geordende modus ondersteunt op de server of proxy die RakNet-connectionen accepteert, en op elke RakNet-client.

  2. Maak config/raknetify2-compatibility.json in de relatieve map van de werkmap van die server of proxy. Maak ook de config map aan, als deze nog niet bestaat.

  3. Voeg de volgende regels toe:

    {"mode": "ordered"}
  4. Herstart de server of proxy.

Clienten volgen automatisch de instellingen van de server. Spelers hoeven geen configuratiebestand aan te maken of hun RakNet-serveradres te wijzigen.

Alle Minecraft-pakketten gebruiken in beide richtingen één betrouwbare, geordende kanaal, inclusief delimitatoren van pakketten en overgangen tussen werelden.

Proxyinstellingen

Wanneer spelers zich verbinden via Velocity of BungeeCord, moet de ordelijke modus worden geconfigureerd op die proxy, zelfs wanneer de anti-cheat op een backend-server wordt uitgevoerd.

De policy is van toepassing op alle backend-switches. In geordende modus stuurt de proxy de backend-keepalive-opdrachten naar de echte client, in plaats van ze lokaal te beantwoorden.

Controleren van de instellingen

Bij de eerste RakNet-verbinding rapporteert de console:

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

Een succesvol compatibiliteitsoverdracht registreert ook ordered compatibility negotiated, gevolgd door het adres van de tegenpartij.

Houd de anti-cheat-checken geactiveerd en valideer je specifieke instellingen.

Oudere klanten

RakNet-clients die niet de geordende modus ondersteunen, kunnen niet verbinden met een server die deze vereist. Update Raknetify2 op die clients, of verbind je met de normale TCP-adres en -port van de server of proxy zonder het raknet; prefix.

Terugkeren naar de meerdelingsmodus

Verander de bestand in:

{"mode": "multichannel"}

Start dan de server of proxy opnieuw op. Het verwijderen van het bestand herstelt ook het meerdelingsmodus na een herstart.

Configuratieproblemen

Het bestand moet precies één instelling bevatten met de naam mode, waarvan de waarde één van "ordered" of "multichannel" mag zijn. De waarden zijn gevoelig voor letters.

Invalide of onleesbare configuratie verwerpt RakNet-connectionen. Corrigeer de bestand en start het proces opnieuw.

Als de console nog steeds multichannel rapporteert, controleer dan of het bestand zich in de werkdirectory van de server of proxy bevindt die de RakNet-connectie accepteert, en start daarna die process weer op.

Automatische overdrachten

De servers van Fabric, Forge en NeoForge kunnen RakNet kiezen bij het overdragen van een geschikt client naar een geconfigureerde bestemming. Dit maakt gebruik van de native overdrachtsondersteuning van Minecraft, die is geïntroduceerd in Java Edition 1.20.5. Zorg ervoor dat je Raknetify2-versie de Minecraft-versie en de loader aan beide kanten ondersteunt.

Installeer Raknetify2 op de zenderserver en de client. Het doelpunt moet een compatibele RakNet-luisterapparaat hebben en inkomende Minecraft-overdrachten accepteren.

Deze configuratie is van toepassing op overdrachten die worden verzonden door de drie bovengenoemde modloaders. De plugins Spigot/Paper, Velocity en BungeeCord lezen deze overdrachtstabellen niet.

Configureer de verzendserver.

Maak config/raknetify2-transfers.json in de map van de verzendserver:

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

Vervang het voorbeeld van de hostnaam en de porten met de waarden van uw bestemmingen, en start vervolgens opnieuw de verzendserver. Extra bestemmingen worden in dezelfde array ingevuld.

Veld Betekenis
host Doelwit hostname of IP-adres, zonder transportprefix of port
tcpPort Bestemmingsport in de oorspronkelijke overdrachtsverzoek
udpPort Het publieke RakNet-poort van de overgedragen client moet contact opnemen met

De TCP- en UDP-poortnummers kunnen gelijk zijn. Als een router de UDP-poort vertaalt, gebruik dan de publieke poort in dit bestand. Schrijf de poorten als JSON-nummers.

Stuur overboekingen naar de gewone hostnaam en TCP-poort van het doelpubliek. Raknetify2 controleert of de client ondersteuning voor automatische overboekingen biedt. Voor een capabele client en een passende doelpubliek selecteert het de geconfigureerde UDP-poort. Andere clients en onpassende doelpublieken behouden de oorspronkelijke overboekingadres.

Matching gebruikt de hostnaam en TCP-poort uit de overdrachtsverzoek. De hoofdnaam wordt met hoofdletter geschreven, het DNS-teken wordt weggelaten, en de equivalente IPv6-schrijfwijze wordt genormaliseerd. DNS-opzoekingen nemen niet deel aan het matchen, dus twee verschillende hostnamen die op dezelfde adres wijzen vereisen aparte registraties. Wildcard-registraties worden niet ondersteund.

Bestemming instellen

Voor een doelwit die gebruikmaakt van Minecraft’s server.properties, stel accepts-transfers=true in en start het opnieuw. De proxy van het doelwit kan zijn eigen overdrachtsinstellingen hebben. Minecraft verwerpt standaard binnenkomende overdrachten, zelfs wanneer een normale directe toetreding werkt.

Het RakNet-luisterapparaat van het doelpubliek, de openbare UDP-afwikkeling en de firewall van de host moeten al zijn geconfigureerd. Het overdrachtsbestand van de zendende server selecteert de adres die naar de client wordt gestuurd.

Controleer zowel de IPv4- als de IPv6-routes van het doelpunt wanneer diens hostnaam beide adrestypen weergeeft. Testeer eerst een gewone directe RakNet-connection met het doelpunt voordat je het gedrag van de automatische overdracht onderzoekt.

Houd alle controles op inloggen of toelatingen in stand. Deze configuratie geeft spelers geen toegang of vervangt de serverauthenticatie niet.

Configuratiefouten en uitschakelen

Ontbrekende velden, onbekende velden, ongeldige porten en duplicatieve bestemmingen veroorzaken een configuratiefout tijdens de initialisatie. Gebruik de server-logboek om de fout te identificeren, corrigeer de JSON en start opnieuw.

Om de automatische selectie in te schakelen, moet je het configuratiebestand verwijderen of {"destinations": []} gebruiken. Vervolgens moet je de verzendserver opnieuw starten. De transferverzoeken zullen hun oorspronkelijke adressen behouden.

UDP-omleiding en PROXY-protocol

Een UDP-proxy kan RakNet-verkeer doorsturen en de oorspronkelijke clientadres behouden, met behulp van het PROXY-protocol v2. Deze functie moet worden geactiveerd wanneer een upstream UDP-proxy die headers naar je luisterapparaat stuurt. Gewone routerport-forwarding vereist dit niet.

Op de server of de Minecraft proxy die de doorgestuurde UDP-verkeer ontvangt, maak je config/raknetify2-proxy-protocol.json aan:

{
  "trustedProxies": ["192.0.2.10"]
}

Vervang het voorbeeld door de werkelijke bronadres van de UDP-proxy of een CIDR-rangorde die je controleert. Het adres moet overeenkomen met wat de ontvangende server ziet, ongeacht de NAT-filters die er tussen zitten. IPv4- en IPv6-adressen zijn acceptabel. DNS-hostnamen worden afgewezen. Start de ontvangende server of proxy opnieuw.

Configureer de doorstuurde proxy zodat deze PROXY-protocol v2-hoofdletters voor UDP stuurt. Raknetify2 accepteert alleen doorgestuurde clientadressen van de opgesomde bronnen. Directe RakNet-connections zonder deze hoofdletters worden afgewezen wanneer deze instelling is geactiveerd. De TCP-luisterapparaat behoudt zijn bestaande instellingen.

Vertrouwen en toegang

Elke proxy op de lijst mag clientadressen doorgeven. Stel de firewall van de achterliggende server zo in dat alleen de aangewezen proxy bij de UDP-poort kan. Houd de vertrouwde adresbereiken zo klein mogelijk.

Het bestand moet alleen trustedProxies bevatten, met minstens één entry. Een lege array is een fout. Een ongeldig bestand verhindert dat de RakNet-luisteraar wordt gestart.

Om terug te keren naar directe UDP-connections, verwijder het bestand en start de luisterapp opnieuw. Stel tegelijkertijd het upstream-afwijkend gedrag en de firewallregels voor de nieuwe route bij.

Als verbindingen na het inschakelen van deze functie mislukken, controleer dan de werkelijke bronadres van de proxy op de backend, het geconfigureerde vertrouwde bereik, en of de proxy UDP PROXY-protocol v2 headers uitzendt.

Voor de installatie van een Minecraft-proxy en de configuratie van de backend, volg Velocity en BungeeCord.

Simple Voice Chat

Raknetify2 kan zijn server UDP-luisterprogramma delen met Simple Voice Chat op Fabric, Forge, NeoForge, Spigot en Paper.

Installeer Simple Voice Chat op de server en op elke client die voicechat wil gebruiken. Volg de serverinstellingenleidraad voor de rest van de configuratie.

Gebruik de topniveau config directory van de server voor de bestanden van Raknetify2, inclusief die op Spigot/Paper. De eigen bestanden van Simple Voice Chat blijven op de platform-specifieke locatie.

Delen het spelgedrag

  1. Maak config/raknetify2-voicechat.json in de server-map met het volgende inhoud:

    {"enabled": true}
  2. Stel port=-1 in in de serverconfiguratie van Simple Voice Chat. Op moddede servers bevindt dit zich in config/voicechat/voicechat-server.properties. Op Spigot/Paper bevindt het zich in plugins/voicechat/voicechat-server.properties.

  3. Laat bind_address leeg blijven wanneer er één RakNet-luisteraar beschikbaar is. Als de server meerdere luisteraars heeft op die UDP-poort, stel deze dan in op de lokale adres van de luisteraar die je wilt delen.

  4. Herstart de server en run /voicechat test <PLAYERNAME> voor een verbonden speler.

Als de RakNet-luisteraar een andere port gebruikt dan Minecraft, stel dan de port-waarde expliciet in op die lokale UDP-port in plaats van -1 te gebruiken. Bijvoorbeeld: een RakNet-luisteraar op de lokale UDP-port 25570 moet port=25570 zijn.

Stel voice_host in wanneer klanten een andere publieke adres of poort nodig hebben. Voor een router die de publieke UDP 25580 doorstuurt naar de lokale UDP 25570, gebruik port=25570 en voice_host=play.example.com:25580. De publieke adres moet in voice_host staan. De instelling bind_address selecteert een lokale luisteraar.

Raknetify2 levert het gedeelde UDP-socket via de API van Simple Voice Chat. Simple Voice Chat beheert de stemauthenticatie en encryptie. Spelers kunnen stemchatten met zowel TCP- als RakNet-gameplayverbindingen.

Andere UDP-diensten en proxies

Houd Query en Geyser apart op UDP-ports. De gedeelde socket-integratie ondersteunt alleen Simple Voice Chat.

De integratie deelt geen voice-proxy-socket op Velocity of BungeeCord. Volg de instellingsgids voor Simple Voice Chat en geef de voice-proxy een eigen UDP-port. Met de officiële voice-proxy-plugin stel je elke publieke voice_host instelling in de voice-configuratie van de proxy. Deze plugin negeert de voice_host instellingen van de backend-servers.

Voor een algemene UDP-tunnel, stel voice_host in op de publieke hostnaam en de UDP-poort die naar deze server doorstuurt.

Schakel het delen uit of vermijd een socketconflict.

Als het logbestand No RakNet listener matches the voice bind address and port aangeeft, moet worden bevestigd dat RakNet succesvol is gestart en dat de stemport en bindadres overeenkomen met de lokale luisterapparatuur.

Als het Multiple RakNet listeners match the voice bind address aangeeft, kies dan een specifieke lokaire adres uit bind_address en start het opnieuw.

Slechts één Simple Voice Chat-plugin kan zijn UDP-socket leveren. Als de startup rapporteert dat een ander plugin al een socket levert, kies je voor welke socket-integratie je wilt gebruiken.

Om de integratie van Raknetify2 uit te schakelen, stel {"enabled": false} in in zijn stemconfiguratie of verwijder dat bestand. Geef Simple Voice Chat een apart UDP-port, update zijn firewall of doorvoerregels en start de server opnieuw.

Oplossingen voor problemen

TCP werkt, maar RakNet loopt uit.

Controleer deze in de volgorde:

  1. De client heeft de juiste Raknetify2-mod voor zijn loader en Minecraft-versie.
  2. De server of proxy die de verbinding accepteert, heeft Raknetify2 geïnstalleerd en is gestart zonder fouten met luisterprogramma’s.
  3. De adres begint met raknet; en gebruikt de publieke UDP-poort.
  4. De hostingprovider, router en host-firewall staan allemaal in op UDP op die port.
  5. De IPv4- en IPv6-adressen van de hostnaam leiden naar de gewenste host en hebben werkende firewallregels.

Een succesvolle TCP-verbinding bevestigt alleen de TCP-route. Volg Firewall- en routerconfiguratie om het UDP-afschrijving en de toegang tot IPv6 te controleren. Als het PROXY-protocol is geactiveerd, moeten klanten de luisterapparaat bereiken via een geconfigureerde vertrouwde proxy.

Adres al in gebruik

Controleer of er geen andere processen de UDP-poort gebruiken. Geyser en andere UDP-diensten hebben hun eigen poorten nodig. Simple Voice Chat kan gebruikmaken van de gedeelde-poort-integratie.

U kunt een andere lokale UDP-poort kiezen met behulp van de direct-server luisterinstellingen of de Velocity en BungeeCord instellingen. Controleer de versievereisten voor de Spigot/Paper instellingen. Het wijzigen van alleen de publieke poort van een router zal de lokale socketconflicten behouden.

Voegen werkt, maar overdrachten mislukken.

Verbind direct met het doelpunt via diens raknet; adres. Als dat niet lukt, repareer eerst de luisteraar van het doelpunt of de netwerkroute.

Als directe verbindingen werken, controleer dan of het doelpunt inkomende overdrachten accepteert. Een Minecraft-server die gebruikmaakt van server.properties moet accepts-transfers=true hebben. Directe toetredingen testen deze instelling niet.

Vergelijk vervolgens het hostnaam en het TCP-port van de overdracht met config/raknetify2-transfers.json op de zenderserver. Controleer of het bestand na een herstart is geladen en of de client automatische RakNet-overdrachten ondersteunt. Zie Automatische overdrachten.

Encryption of protocolfouten

Controleer de versies van Raknetify2 aan beide kanten van de verbinding. Update de client en de server of proxy samen wanneer een versie het versleutelde protocol verandert. Bewaar de authenticatiemogelijkheden van de server tijdens het onderzoek.

Mod-specifieke fouten

Noteer welke actie de mislukking veroorzaakt, zoals het openen van het inventarieven, het ontvangen van een resource pack, het wijzigen van werelden of het spawnen van een entiteit. Vergelijk dezelfde acties over TCP en RakNet met behulp van een aparte testinstallatie, wanneer dat praktisch mogelijk is.

Sommige persoonlijke payloads zijn afhankelijk van de volgorde van de vanilla pakketten. Mod-ontwerpers kunnen deze afhankelijkheden declareren via de packet ordering interface.

Bijtreden aan een foutmelding

Open een probleem in de Raknetify2 issue tracker en voeg op aan:

  • Minecraft, Java, loader en Raknetify2-versies aan beide kanten.
  • Versies van server- en proxy-software, inclusief eventuele proxy-software die UDP-verkeer doorstuurt.
  • Andere geïnstalleerde mods en hun versies.
  • Stappen om het probleem te reproduceren en wat u verwachtte te gebeuren.
  • Of dezelfde stappen werken via TCP.
  • Relevante uittreksels uit de logboeken van clienten, servers en proxies uit dezelfde poging.

Verwijder de toegangstoken, wachtwoorden en andere privéinformatie voordat je de logs uploadt. Bewaar de uitzonderingsberichten en de stack-trace’s die nodig zijn om het probleem te diagnosticeren.

Modintegratie

Raknetify2 stelt mods in staat om te bepalen welk Minecraft-verkeer moet worden geordend met hun eigen payloads. Gebruik dit wanneer het verwerken van een payload een entiteit, chunk, inventaris of een ander staat vereist die is vastgesteld door eerdere pakketten.

Bestellen van groepen

Groep Relatieve verbindingen
ui Wereld-onafhankelijke menuborden en interacties
entity Entiteiten spawnen, verwijderen en bewegen
world_interaction Inventaris en andere wereldgebonden interacties
effects Geluiden en deeltjes
chunk Terrain-, blok- en lichtupdates

Alle groepen behouden een betrouwbare, geordende levering binnen hun kanaal. Pakketten uit verschillende groepen kunnen op een andere relatieve volgorde arriveren. Kies de groep die overeenkomt met de afhankelijkheid van het payload.

Optionele Fabric-integratie

Voeg een provider toe onder het entrypoint raknetify:packet_channels in je mod's fabric.mod.json. De provider implementeert Consumer<BiConsumer<String, String>> met behulp van JDK-types. Hij ontvangt een registrator die een persoonlijke payload-identificator en een ordeningsgroep accepteert.

Voeg deze entree toe aan je bestaande metadata, en vervang de classnaam door de volledige naam van je provider:

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

Houd de rest van je fabric.mod.json bij, inclusief de bestaande entrypoints. Dit is een fragment van het metadatabestand.

Een entity-bewegingsverlenging kan example:entity_path registreren bij de entity-groep. De documentatie van de PacketOrdering API bevat de implementatie van de provider.

Fabric laat deze entrypoint ongeïdentificeerd achter wanneer Raknetify2 afwezig is. Providers moeten tijdens de initialisatie identificatoren en groepen declareren, zonder afhankelijk te zijn van een ander mod dat zijn eigen initialisatie heeft voltooid.

Registratiegedrag

Forge- en NeoForge-mods, evenals server- of proxyplugins, kunnen PacketOrdering.register(identifier, group) aanroepen tijdens de initialisatie wanneer Raknetify2 beschikbaar is. De class is com.ishland.raknetify.api.PacketOrdering. Registreer dit vooraleer je spelers aanneemt, en vermijd het laden van Raknetify2-klassen wanneer de afhankelijkheid afwezig is.

Deze declaraties zijn van toepassing op nieuwe verbindingen. Bestaande verbindingen behouden de regels die ze tijdens het instellen hebben gekregen. Het is toegestaan een identieke declaratie te herhalen. Confronterende groepen voor dezelfde identificator worden afgewezen.

De payload-identificatoren moeten een geldig persoonlijke namespace gebruiken. De minecraft-namespace is gereserveerd. De limiet voor alle endpoints is 128 declaraties, inclusief ingebouwde regels en registraties van andere mods. Identificatoren kunnen tot 255 ASCII-tekens bevatten, met behulp van de namespaced-identificatoren-syntaxis van de API.

Tijdens het instellen van een verbinding wisselen RakNet-peerpennenningen de declaraties uit. Een server of proxy kan de declaratie van een peer gebruiken wanneer deze geen lokale regels heeft voor die payload. Lokale regels hebben voorrang, en de declaraties van een peer zijn beperkt tot die verbinding.

UDP proxies

Zie UDP-afwisseling en PROXY-protocol voor UDP-relay'en en geëfventeerde clientadressen.

Voor de instelling van een Minecraft-proxy, zie Velocity en BungeeCord.

English (US)

Clone this wiki locally