Skip to content

Wiki nl nl

pjscruggs edited this page Nov 11, 2026 · 1 revision

Raknetify2 · Nederlands (Nederland)

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. Gereed

  5. Server bezoeken

F3 · Raknetify2

F3
RakNet · UDP Actief · MTU 1400
TCP Inactief

Velocity / BungeeCord

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

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!

Bugs rapporteren

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 compatibiliteit met Minecraft en mods.
  2. Kies een download en installeer het.
  3. Connecteer met een adres zoals raknet;play.example.com.

Server instructies

Mod-ontwikkelaars 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 is gebaseerd op Raknetify en netty-raknet.

Installatie

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

Waar je instelt File Folders
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 de JAR-archief vervangt. Verwijder de oorspronkelijke Raknetify JAR en eventuele oudere Raknetify2 JAR-archieven uit dezelfde installatie voordat je de nieuwe bestand toevoegt.

Clientfolders behoren tot de Minecraft-instance of modpack die je start. Server- en proxyfolders behoren tot die server- of proxy-installatie. 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-verbindingen met 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 client-mod alleen voegt geen RakNet ondersteuning toe aan een remote-server. De serveroperator moet een RakNet-eindpunt beschikbaar stellen. Spelers die zich bij iemands server voegen, hebben meestal geen inbound-routeringseisen nodig.

Velocity en BungeeCord

Installeer het passende proxy-plugin en de client-mod. Volg Velocity en BungeeCord voor luisterinstellingen, backend-afzending, toegangsbeperkingen en de adres die spelers moeten gebruiken.

Een aparte 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 porten
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 de gedeelde luistercode, waardoor de naam van hun eigenschap ook fabric bevat. 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 aanpassing of een bezet UDP-portaal belemmert RakNet om te starten. Controleer het startlogboek voor het binddeadres en -port. Verwijder het argument en start opnieuw om terug te keren naar het TCP-luisterportnummer.

Een router of UDP-proxy kan ook een andere publieke UDP-port openstellen 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 instellingslijst 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 voor deze verbindingen geen Raknetify2 nodig. Ze hebben nog steeds de mods, plugins en doorstuurfuncties nodig die vereist zijn voor je netwerk. Raknetify2 vertaalt geen Minecraft-versies en verandert de authenticatie van het 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 passendelijke plugin van GitHub Releases.
  3. Plaats raknetify2-velocity-*-all.jar of raknetify2-bungee-*-all.jar in de plugins map van de proxy. Verwijder eventuele oudere Raknetify- of Raknetify2-plugin van die map.
  4. Installeer het desbetreffende Raknetify2-clientmod volgens de instellingsgids.
  5. Controleer de luisterinstellingen hieronder, start de proxy opnieuw en bekijk zijn logboek voor RakNet-luisterfouten.
  6. Stuur publieke UDP-verkeer naar de proxy 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 combineert.

Velocity

De bind-instelling in velocity.toml selecteert de luisteradres en TCP-port van Velocity voor Minecraft. Raknetify2 gebruikt normaal gesproken dezelfde portnummer voor UDP. De [servers]-invoeringen identificeren de backend-servers. Deze invoeringen moeten nog steeds worden gericht op de backend-TCP-adressen. Zie de configuratiereferentie van Velocity.

Om een apart UDP-port te gebruiken, voeg dit 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 backendadressen van Velocity ongewijzigd blijven. Herstart Velocity nadat je de argumenten hebt gewijzigd.

Configureer de spelersoverdracht zowel op Velocity als op zijn backends. Gebruik moderne overdracht wanneer de backendsoftware dit ondersteunt, en houd de overdracht geheim. Volg de backend-specifieke instructies in de spelersinformatieoverdracht-gids van Velocity. Houd de beveiligingsbeperkingen van de backend firewall in werking naast de overdracht.

BungeeCord

In BungeeCord’s config.yml identificeert de host-waarde onder elke listeners-entry een Minecraft-luisteradres en TCP-port. Raknetify2 voegt normaal gesproken UDP toe op die portnummer. 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 de startcommando van BungeeCord toe na -jar:

-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 startlogboek voordat u firewallregels toevoegt. Herstart BungeeCord nadat u de argument heeft gewijzigd.

Bewaar de accountauthenticatie bij de proxy. Voor Spigot-backends moet BungeeCord’s IP-forwarding-gids ip_forward: true op de proxy koppelen aan settings.bungeecord: true op de backend. Alleen het forwarden verhindert iemand niet om rechtstreeks naar de backend te gaan. Beperk 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, verifieer dus de gebindde UDP-port in de startlog. Verwijder het argument en start opnieuw om terug te keren naar het portnummer van de Minecraft-luisterapparatuur.

Spelers connecten zich naar de publieke hostname van de proxy en de UDP-poort, bijvoorbeeld raknet;play.example.com:25570. Wanneer een router de poorten vertaalt, moet de publieke UDP-poort van de router worden gebruikt in het clientadres. Adressen zonder het raknet; prefix blijven gebruikmaken van de TCP-luisterpoort van de proxy.

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

Gesprekken via stemmen en extra UDP-afwisseling

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

Als er een aparte 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 vereist geen dergelijke configuratie.

Controleer de verbinding

Test van buiten je lokale netwerk met een Raknetify2-client. Ga via de proxy meedoen, wissel tussen de gebruikte backend-servers en verifieer dat de identiteit en toestemmingen van de speler correct blijven.

  • Als TCP via de proxy werkt maar RakNet een tijdslimiet overschrijdt, controleer dan de UDP-luisterknop van de proxy, de openbare port, de IPv4- en IPv6-routes en de firewallregels.
  • Als beide transporten mislukken wanneer de proxy een backend probeert te verbinden, controleer dan de TCP-adres, toegangsregels en spelersoverdrachtconfiguratie van die backend.
  • Als de proxy een bezet UDP-port rapporteert, controleer dan of er een Query-, Geyser-, stemproxy of een andere proces aan deze port is gekoppeld.

Voor rapporten moet je zowel de proxy- als de backend-logs van dezelfde verbindingstest meenemen. Zie Troubleshooting voor informatie over de versie die je moet opnemen.

Firewall- en routerconfiguratie

Deze handleiding is bedoeld voor serveroperators. Raknetify2 heeft een functionerende UDP-route naar de server of proxy nodig die RakNet-connections accepteert. 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 de firewall van de host. Routerport forwarding is nodig wanneer internetverkeer door de IPv4 NAT van je router moet gaan.

Kies het bestemmingspunt en de port.

Directe server

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

Voorbeeld: als Raknetify2 luistert op UDP 25570, dien 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 de 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-ports voor de backend gameplay met spelers.

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

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

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

De publieke port en de port van de luisteraar kunnen verschillend zijn wanneer een router ze met elkaar omzet:

Instellingen Te gebruiken port
Client-serveradres Publieke UDP-poort
Router forwarding rule’s externe port Publieke UDP-poort
Router forwarding rule’s interne port UDP-port van de RakNet-luisteraar
Lokale port van de host-firewall UDP-port van de RakNet-luisteraar

IPv4 port forwarding

Voor hosten achter een IPv4-router:

  1. Vind het lokale IPv4-adres van de machine die RakNet-connecties 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. Stuur UDP-inkomende berichten via de port van de luisterapparaat op 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 je server.

Houd de bestaande TCP-regel voor gewone Minecraft-connections. 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 je router aankomt. Met twee routers moet het doorsturen beide bedienen. Als je ISP carrier-grade NAT gebruikt, vraag of het een publieke IPv4-adres kan leveren of een hostingdienst of tunnel kan gebruiken die inbound UDP ondersteunt. De doorstuurregels van je router kunnen de NAT van de ISP niet configureren. Zie TP-Link’s richtlijnen voor portdoorsturing voor de vereisten voor de publieke WAN-adres.

IPv6-firewallregels

Stel de geselecteerde UDP-poort open via zowel de IPv6-firewall van de router als de firewall van de host. Stel de IPv6-adres van de machine die RakNet-connections accepteert als doel.

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

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

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 verwerkt met het PROXY-protocol v2, volg dan UDP-forwarding en PROXY-protocol en beperk de toegang tot de ontvangende UDP-luister naar de vertrouwde proxy.

Controleer de verbinding

Connecteer 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 publieke 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 functionerende dienst een onbekende probeer 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 dan de luisterapparatuur, 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

Voor Fabric, download compatibility.json van dezelfde versie als de JAR. Controleer je Minecraft-versie in gameVersions, en kijk vervolgens naar de relevante entry onder runtimes voor de depends-vereisten. Dit JSON-bestand is een referentiedocument en hoeft niet in de mods-map te staan.

Voor Forge, NeoForge en Spigot/Paper moet je kijken naar de versievereisten die worden genoemd in de beschrijving van het artefact en de downloadpagina. Ondersteuning op één loader betekent niet dat er ook ondersteuning is op een andere.

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

Client- en serverversies

Gebruik zoveel 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. Geencrypte RakNet-verbindingen vereisen ondersteuning voor het authenticatiemoderne crypten-protocol aan beide kanten. Originele Raknetify- en Raknetify2-versies van vóór de introductie van dit protocol kunnen deze geencrypte verbindingen met up-to-date peers niet maken.

Raknetify2 draagt het bestaande spelprotocol van Minecraft. Het verbinden van verschillende Minecraft-versies vereist een compatibele protocolvertaling.

Andere mods

Het build workflow omvat compatibiliteitscontroles die Polymer, Krypton, PacketFixer en Fast IP Ping omvatten. Deze controles gaan over de versies en combinaties die door het workflow zijn geselecteerd. Controleer de bijbehorende buildresultaten van een release wanneer je een bepaalde combinatie onderzoekt.

Voor een storing in een grotere modpack, volg de troubleshooting-gids. Vergeet niet de volledige modversies in je 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 vertraagt tot het opnieuw wordt verzonden. Dit behoudt de volgorde die door sommige anti-cheat-software wordt verwacht, maar neemt tegelijkertijd de mogelijkheid van Raknetify2 weg om onbelangrijk spelverkeer te laten doorlopen tijdens die wachttijd.

Het inschakelen van de geordende modus

  1. Installeer een Raknetify2-build die de geordende modus ondersteunt op de server of proxy die RakNet-connections 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 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 te maken of hun RakNet-serveradres te wijzigen.

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

Proxyinstellingen

Wanneer spelers zich via Velocity of BungeeCord verbinden, moet de ordelijke modus op die proxy worden ingesteld, 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 succesvolle compatibiliteitsuitwisseling registreert ook ordered compatibility negotiated, gevolgd door het adres van de tegenpartij.

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

Oudere clients

RakNet-clients die niet ondersteunen opgeordende modus kunnen niet verbinden met een server die dit 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 meerdelige modus

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 opstarten.

Configuratieproblemen

Het bestand moet precies één instelling bevatten met de naam mode. De waarde van deze instelling moet dan "ordered" of "multichannel" zijn. De waarden zijn gevoelig voor letterscheiding.

Invalid 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 dat proces opnieuw.

Automatische overdrachten

De servers van Fabric, Forge en NeoForge kunnen RakNet gebruiken bij het overzetten 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-luisterprogramma hebben en inkomende Minecraft-transfers 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 overdrachtsbestand niet.

Configureer de verzendserver.

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

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

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

Veld Betekenis
host Doelwit hostname of IP-adres, zonder transportprefix of port
tcpPort Bestemmingsport in de oorspronkelijke overdrachtsverzoek
udpPort De 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 hostname 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-port uit de overdrachtsverzoek. De hoofdletter van de hostnaam, het laatste DNS-pontje en de equivalente IPv6-schrijfwijze worden genormaliseerd. DNS-zoekopdrachten 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’ server.properties, stel accepts-transfers=true in en start het opnieuw. Een proxy voor het doelwit kan zijn eigen overdrachtsinstellingen hebben. Minecraft verwerpt standaard binnenkomende overdrachten, zelfs wanneer een normale directe toetreding werkt.

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

Controleer zowel de IPv4- als IPv6-routes van het doelwit wanneer zijn hostnaam beide adrestypen publiceert. Testeer een gewone directe RakNet-connection met het doelwit voordat je het automatische overdrachtgedrag onderzoekt.

Houd alle toegangsbewijscontroles in werking. Deze instelling geeft spelers geen toegang of vervangt de serverauthenticatie niet.

Configuratiefouten en uitschakelen

Ontbrekende velden, onbekende velden, ongeldige poorten en duplicatieve bestemmingen veroorzaken een configuratiefout tijdens de initialisatie. Gebruik de serverlog 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. Hierdoor blijven de overdrachtsverzoeken hun oorspronkelijke adressen behouden.

UDP-verzending en PROXY-protocol

Een UDP-proxy kan RakNet-verkeer doorsturen en de oorspronkelijke clientadres behouden, met behulp van het PROXY-protocol versie 2. 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 met de daadwerkelijke 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 geforceerde proxy zodat deze PROXY-protocol versie 2-hoofdletters voor UDP verzendt. Raknetify2 accepteert alleen geforceerde clientadressen van de opgesomde bronnen. Directe RakNet-connectionen zonder deze hoofdletters worden afgewezen wanneer deze configuratie is ingeschakeld. De TCP-luisterhouder behoudt zijn bestaande configuratie.

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, moet u het bestand verwijderen en de luisterapp weer opstarten. Vergeet ook niet de upstream-afzendingstoepassing en de firewallregels voor de nieuwe route te bijwerken.

Als verbindingen na het inschakelen van deze functie mislukken, controleer dan de werkelijke bronadres van de proxy op de backend, de geconfigureerde geloofwaardige reeks en of de proxy UDP PROXY-protocol versie 2 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 wilt 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 platformspecifieke locatie.

Delen van het spelverloop

  1. Maak config/raknetify2-voicechat.json in de serverdirectory met dit bestand:

    {"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. Vul bind_address niet in als er al een RakNet-luisteraar is. Als de server meerdere luisteraars heeft op die UDP-poort, stel deze in op de lokale adres van de luisteraar die je wilt delen.

  4. Start de server opnieuw 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 port 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 biedt de gedeelde UDP-socket via de API van Simple Voice Chat. Simple Voice Chat beheert de stemauthenticatie en encryptie. Spelers kunnen stemchat gebruiken met zowel TCP- als RakNet-gameplayverbindingen.

Andere UDP-diensten en proxies

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

De integratie delibereert geen voice-proxy-socket op Velocity of BungeeCord. Volg de instelingsgids 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 hostname en UDP-poort die naar deze server doorstuurt.

Uitschakelen van delen of oplossen van 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 luistergerichte.

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 meldt dat een andere plugin al een socket levert, kies je voor welke socket-integratie je gebruikt.

Om de integratie van Raknetify2 uit te schakelen, stel {"enabled": false} in in de stemconfiguratie of verwijder dat bestand. Geef Simple Voice Chat een aparte UDP-port, update de 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 de luisterapparatuur.
  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 UDP-verkeer en IPv6-toegang te controleren. Als het PROXY-protocol is geactiveerd, moeten klanten de luisterserver bereiken via een geconfigureerde vertrouwde proxy.

Adres al in gebruik

Controleer of er geen andere processen gebruikmaken van de UDP-poort. 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 instelling. Het wijzigen van alleen de publieke poort van een router zal de lokale socketconflicten behouden.

Samenwerking werkt, maar overdracht faalt.

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

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

Vergelijk vervolgens het hostnaam en het TCP-port met config/raknetify2-transfers.json op de zendingserver. 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 authenticatiestellingen van de server tijdens het onderzoek.

Mod-specifieke fouten

Noteer welke actie de fout 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 standaardpakketten. Mod-ontwerpers kunnen deze afhankelijkheden declareren via de packet ordering interface.

Een fout melden

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

  • Minecraft, Java, loader en Raknetify2-versies aan beide kanten.
  • Server- en proxy-softwareversies, inclusief eventuele UDP-afwikkeling proxy’s.
  • 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 client-, server- en proxy-apparaten uit dezelfde poging.

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

Modintegratie

Raknetify2 laat mods 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 verkeersstromen
ui Wereld-onafhankelijke menuboeken en interacties
entity Entiteit spawnen, verwijderen en bewegen
world_interaction Inventaris en andere wereldgebonden interacties
effects Geluiden en deeltjes
chunk Terrein-, 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 de 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 entry 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 bewaard, inclusief de bestaande entrypoints. Dit is een fragment van het metadatabestand.

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

Fabric laat dit entrypoint niet aangeroepen als 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.

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

Payload-identificatoren moeten gebruikmaken van een geldig persoonlijke namespace. 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-letters bevatten, gebruikmakend van de namespace-syntaxis van de API.

Tijdens het instellen van een verbinding wisselen RakNet-peercomputers 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-afwikkeling en PROXY-protocol voor UDP-relay’s en doorgestuurde clientadressen.

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

English (US)

Clone this wiki locally