Skip to content

Wiki sv se

pjscruggs edited this page Nov 11, 2026 · 1 revision

Raknetify2 · Svenska (Sverige)

Språk

Flerspelarläge

Nätverksanslutningar via RakNet för Minecraft-klienter och -servrar.

Ladda ned · GitHub

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

Lägg till server

  1. Flerspelarläge

  2. Lägg till server

  3. Serveradress

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

  5. Anslut till server

F3 · Raknetify2

F3
RakNet · UDP Aktiv · MTU 1400
TCP Inaktiv

Velocity / BungeeCord

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

Tappade kontakten

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

config/raknetify2-compatibility.json

Server / Velocity / BungeeCord

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

Simple Voice Chat

Server Raknetify2 · UDP 25565 Simple Voice Chat
Fabric / Forge / NeoForge config/raknetify2-voicechat.json · {"enabled":true} config/voicechat/voicechat-server.properties · port=-1
Spigot / Paper config/raknetify2-voicechat.json · {"enabled":true} plugins/voicechat/voicechat-server.properties · port=-1

Simple Voice Chat · Velocity / BungeeCord

PROXY protocol v2 · UDP

Serveradress trustedProxies RakNet
192.0.2.10 · PROXY v2 / UDP ["192.0.2.10"] ✓
192.0.2.11 · PROXY v2 / UDP ["192.0.2.10"] ✗
Klient → 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 → Klient (Alex) → RakNet · play.example.com:25570

PacketOrdering

Minecraft
ui Alternativ
entity Skelett
world_interaction Förråd
effects Partiklar
chunk Block

PacketOrdering.java

Inkompatibel version!

Rapportera bugg

Hem

Raknetify2

Raknetify2 använder RakNet över UDP när flera spelar Minecraft tillsammans. Trafiken delas upp i kanaler som var och en håller ordning på sina paket. Om ett paket försvinner på en kanal kan de andra fortsätta skicka data. Spelet kan då svara på spelarens handlingar även medan förlorade data skickas om eller delar av världen överförs.

Raknetify2 är en självständigt underhållen förgrening av Raknetify, som ursprungligen utvecklades av ishland. Den stöder nyare Minecraft-versioner och underhåller även transportkoden, plattformsintegreringarna och kompatibilitetstesterna.

Kom igång

  1. Kontrollera kompatibilitet mellan Minecraft och mod.
  2. Välj en nedladdning och installera den.
  3. Anslut med en adress som raknet;play.example.com.

Serverguider

Modutvecklare kan använda paketordningsgränssnittet för att deklarera beroenden mellan anpassade nyttolaster och Minecraft-trafik.

Projektlänkar

Raknetify2 använder MIT-licensen och behåller de ursprungliga upphovsrättsmeddelandena. Dess nätverksimplementering bygger på Raknetify och netty-raknet.

Installation

Ladda ner en release från GitHub Releases. Kontrollera Minecraft-versionen och laddar-kravet för den releasen innan du installerar.

Där du installerar Fil Mapp
Fabric-klient eller server raknetify2-fabric-*.jar mods
Forge-klient eller server raknetify2-forge-*.jar mods
NeoForge-klient eller server raknetify2-neoforge-*.jar mods
Spigot- eller Paper-server raknetify2-spigot-*.jar plugins
Velocity-proxy raknetify2-velocity-*.jar plugins
BungeeCord-proxy raknetify2-bungee-*.jar plugins

Stäng klienten eller stoppa servern innan du ersätter dess JAR. Ta bort den ursprungliga Raknetify-JAR-filen och alla äldre Raknetify2-JAR-filer från samma installation innan du lägger till den nya filen.

Klientmappar tillhör Minecraft-instansen eller modpaketet du kör. Server- och proxymappar tillhör den server- eller proxyinstallationen. Skapa den lämpliga mappen om din laddare inte har skapat den än.

Direkta serveranslutningar

  1. Installera klientmodden för din laddare.
  2. Installera den matchande servermodden, eller Spigot/Paper-pluginet på en kompatibel server.
  3. Följ Brandväggs- och routerkonfiguration för att tillåta UDP-anslutningar till servern.
  4. Starta om klienten och servern.
  5. Lägg till en serveradress som raknet;play.example.com eller raknet;play.example.com:25565.

Adresser utan prefixet raknet; använder TCP.

Att installera klientmodden ensam lägger inte till RakNet-stöd till en fjärrserver. Serveradministratören måste tillhandahålla en RakNet-slutpunkt. Spelare som ansluter till någon annans server behöver vanligtvis inga inkommande routeröppningsregler.

Velocity och BungeeCord

Installera den matchande proxypluginen och klientmodden. Följ Velocity och BungeeCord för inställningar av lyssnare, backend-videresändning, åtkomstbegränsningar och adressen spelare ska använda.

En separat UDP-lyssningsport

För en direkt Minecraft-server, ställ in det lämpliga Java-argumentet nedan. Proxy-operatörer bör använda Velocity- och BungeeCord-lyssningsinställningarna.

Plattform Java-argument Accepterade portar
Fabric-, Forge- eller NeoForge-server -Draknetify.fabric.portOverride=25570 1 till 65534
Spigot- eller Paper-server -Draknetify.spigot.portOverride=25570 1 till 65535

Forge och NeoForge använder den delade lyssnar-koden, så deras egenskap har också fabric. Ersätt 25570 med önskat UDP-portnummer.

Spigot / Paper ≥ 0.1.0-beta.1.431

Lägg till argumentet före -jar i Java-kommandot, eller i din hosts JVM-argumentfält. Starta om servern och tillåt UDP på det valda lyssningsportet. Om det publika portet också är 25570, anslut med raknet;play.example.com:25570. Om en router översätter porten, använd dess publika port i klientadressen. TCP-porten förblir vid sitt befintliga värde.

På Spigot/Paper behåller UDP-lyssnaren den lokala bindadressen för Minecraft TCP-lyssnaren. En ogiltig överskrivning eller en upptagen UDP-port förhindrar RakNet från att starta. Kontrollera uppstartloggen för den bundna UDP-adressen och porten. Ta bort argumentet och starta om för att återgå till TCP-lyssnarens portnummer.

En router eller UDP-proxy kan också exponera ett annat publiskt UDP-port och vidarebefordra det till den befintliga lyssnaren utan att ändra serverns Java-argument.

Utvecklingsbyggen

Öppna en lyckad main-körning i GitHub Actions och ladda ner dess Artifacts-arkiv. GitHub kräver ett konto för att ladda ner arbetsflödesartefakter. Använd installationstabellen ovan för att välja en JAR från arkivet.

Velocity och BungeeCord

Velocity och BungeeCord sitter mellan spelare och backend Minecraft-servrar. Installera Raknetify2 på proxyn och på varje klient som ska ansluta via RakNet.

Raknetify2 klient --UDP--> Velocity eller BungeeCord --TCP--> backend server

Backend-servrarna behöver inte Raknetify2 för denna anslutningsväg. De behöver fortfarande moddarna, pluginsen och vidarebefordringsstödet som krävs av ditt nätverk. Raknetify2 översätter inte Minecraft-versioner eller ändrar proxyns kontoutentisering.

Installera proxy-pluginet

  1. Bekräfta att vanliga TCP-anslutningar genom din proxy fungerar, inklusive autentisering och växling mellan backend-servrar.
  2. Stoppa proxyn och ladda ner motsvarande plugin från GitHub Releases.
  3. Placera raknetify2-velocity-*-all.jar eller raknetify2-bungee-*-all.jar i proxyns plugins-mapp. Ta bort alla äldre Raknetify- eller Raknetify2-plugins från den mappen.
  4. Installera det lämpliga Raknetify2-klientmodden med hjälp av installationsguiden.
  5. Kontrollera lyssnarinställningarna nedan, starta om proxyn och inspektera dess logg efter fel med RakNet-lyssnare.
  6. Tillåt offentlig UDP-trafik till proxyn och begränsa bakomliggande spelportar som beskrivs i Brandväggs- och routerkonfiguration.

Använd kompatibla Raknetify2-versioner på klienten och proxyn. Kontrollera Kompatibilitet innan du blandar versioner.

Velocity

bind-inställningen i velocity.toml väljer Velocity:s Minecraft-lyssningsadress och TCP-port. Raknetify2 använder normalt samma portnummer för UDP. [servers]-posterna identifierar backend-servrarna. Håll dessa poster pekade på backend TCP-adresserna. Se Velocity:s Konfigurationsreferens.

För att använda en separat UDP-port, lägg till detta JVM-argument före -jar i Velocity:s startkommando:

-Draknetify.velocity.portOverride=25570

Ersätt 25570 med den port du väljer. Detta ändrar RakNet UDP-porten samtidigt som Velocity:s TCP-port och bakgrunds-adresser behålls. Starta om Velocity efter att du har ändrat argumentet.

Konfigurera spelarvidering på både Velocity och dess bakgrunder. Använd modern videring när backend-mjukvaran stöder det, och håll dess videringshemlighet privat. Följ backend-specifika instruktioner i Velocitys guide för spelarinformationsvidering. Behåll backend-brandväggsrestriktionerna tillsammans med videringen.

BungeeCord

I BungeeCords config.yml identifierar värdet host under varje listeners-post en Minecraft-lyssningsadress och TCP-port. Raknetify2 lägger normalt till UDP på det portnumret. servers-posterna innehåller backend TCP-adresser. Dessa inställningar beskrivs i BungeeCord konfigurationsguide.

För en separat UDP-port, lägg till detta JVM-argument före -jar i BungeeCord:s startkommando:

-Draknetify.bungee.portOverride=25570

Överskrivningen gäller hela proxyprocessen. För en konfiguration med flera Minecraft-lyssnare, kontrollera de faktiska RakNet-ändpunkterna i startloggen innan du lägger till brandväggsregler. Starta om BungeeCord efter att du har ändrat argumentet.

Bevara kontoautentisering på proxyservern. För Spigot-backends parar BungeeCord:s IP-vidarebefordran ihop ip_forward: true på proxyserver med settings.bungeecord: true på backend. Enbart vidarebefordran hindrar inte någon från att ansluta direkt till en backend. Begränsa backend-åtkomst med Instruktioner för brandvägg.

Välj adressen spelare använder

Båda proxyöverskrivningarna accepterar portar från 1 till 65534. Ogiltiga värden ignoreras, så verifiera den bundna UDP-porten i uppstartsloggen. Ta bort argumentet och starta om för att återgå till Minecraft-lyssnarens portnummer.

Spelare ansluter till proxyns publika värdnamn och UDP-port, till exempel raknet;play.example.com:25570. När en router översätter portar, använd dess publika UDP-port i klientadressen. Adresser utan prefixet raknet; fortsätter att använda proxyns TCP-lyssnare.

Lämna Query, Geyser och andra UDP-tjänster på separata UDP-portar. En annan TCP-port löser inte en UDP-sockelkonflikt.

Röstchatt och ytterligare UDP-videresändning

Simple Voice Chat använder sin egen proxy-plugin och UDP-port på Velocity och BungeeCord. Följ vägledningen för röstchattproxy för den inställningen.

Om en separat UDP-relä sitter framför din Minecraft-proxy och skickar PROXY-protokoll v2-huvuden, konfigurera Raknetify2 med UDP-videresändning och PROXY-protokoll. Att installera Velocity eller BungeeCord i sig kräver inte den konfigurationen.

Kontrollera anslutningen

Testa från utanför ditt lokala nätverk med en Raknetify2-klient. Anslut via proxyn, växla mellan de bakomliggande servrarna du använder och bekräfta att spelaridentitet och behörigheter förblir korrekta.

  • Om TCP via proxyn fungerar men RakNet tappade kontakten, kontrollera proxyns UDP-lyssnare, publika portar, IPv4- och IPv6-rutter samt brandväggsregler.
  • Om båda transportmetoderna misslyckas när proxyn ansluter till en backend, kontrollera backendens TCP-adress, åtkomstregler och konfiguration för spelarvidering.
  • Om proxyn rapporterar en upptagen UDP-port, kontrollera efter Query, Geyser, en röstproxy eller en annan process som är bunden till den.

För rapporter inkludera både proxy- och backend-loggar från samma anslutningsförsök. Se Felsökning för information om versionen som ska inkluderas.

Brandväggs- och routerkonfiguration

Den här guiden är för serveroperatörer. Raknetify2 behöver en fungerande UDP-rutt till servern eller proxyservern som accepterar RakNet-anslutningar. Standardinställningen använder samma portnummer som Minecraft:s TCP-lyssnare.

För spelare på samma lokala nätverk, använd serverns lokala adress och tillåt UDP genom dess värdbrandvägg. Portvidarebefordran på routern behövs när internettrafik måste passera din routers IPv4 NAT.

Välj destination och port

Direkt server

Skicka offentlig UDP-trafik till maskinen som kör Minecraft-servern med Raknetify2. Destinationsporten är den serverns RakNet UDP-lyssnare. Tillåt den porten i servermaskinens värdbrandvägg. Behåll dess befintliga TCP-rutt för vanliga Minecraft-anslutningar.

Till exempel, om Raknetify2 lyssnar på UDP 25570, skicka den publika UDP-porten till serverns lokala adress på port 25570. Serverns TCP-port kan förbli på 25565. Se inställningar för direkt serverlyssnare för att välja en annan UDP-port.

Velocity eller BungeeCord

Skicka publika UDP-trafik till maskinen som kör Velocity eller BungeeCord med Raknetify2 proxy-pluginet. Använd proxyns RakNet UDP-lyssnare som forwarding-destination. Behåll proxyns befintliga publika TCP-rutt för vanliga Minecraft-anslutningar.

Proxyn ansluter till bakomliggande Minecraft-servrar över TCP. Att lägga till Raknetify2 i proxyn kräver inte att man öppnar bakomliggande spel-UDP-portar för spelare.

Anslutning Åtkomst till tillåtelse
Spelare till proxyn Offentligt UDP till RakNet-lyssnaren, plus den befintliga publika TCP-lyssnaren
Proxy till bakomliggande servrar Bakomliggande Minecraft TCP-portar, endast nåbara från de avsedda proxyvärdarna
Spelare direkt till backend-speltidsportar Håll blockerat, inklusive via IPv6

När proxyn och backendarna körs direkt på en dedikerad maskin du kontrollerar, kan backend-lyssnare använda loopback-adresser med proxyn konfigurerad att nå dem där. Mellan maskiner, begränsa backend-TCP-åtkomst till proxysvärdarna med en brandvägg eller ett isolerat privat nätverk. Containrar och hanterade värdar behöver motsvarande restriktioner för sin nätverkslayout. Se Velocity's backend security guide och BungeeCord's firewall guide.

Spelarvidering och brandväggsrestriktioner fungerar tillsammans. Direkt backend-åtkomst kan kringgå proxyns inloggningskontroller. För plugin-installation, videringsinställningar och UDP-portöverskrivningar, följ Velocity and BungeeCord.

Publika och lokala portnummer

Det publika portet och lyssnarens port kan skilja sig åt när en router översätter mellan dem:

Inställning Port att använda
Klientserveradress Publikt UDP-port
Externa porten för routerövergångsregel Publikt UDP-port
Intern port för routerövergångsregel RakNet-lyssnarens UDP-port
Värdbrandväggens lokala port RakNet-lyssnarens UDP-port

IPv4 portövergång

För att hosta bakom en IPv4-router:

  1. Hitta den lokala IPv4-adressen för maskinen som tar emot RakNet-anslutningar. Använd en DHCP-reservation eller en lämplig statisk adress så att vidarebefordringsregeln fortsätter att rikta sig mot den maskinen.
  2. Lägg till en UDP-vidarebefordringsregel för det publika port som spelare kommer att använda.
  3. Ställ in regelns destination till den maskinens lokala adress och RakNet-lyssnarens UDP-port.
  4. Tillåt inkommande UDP på lyssnarens port i värdens brandvägg.

Till exempel kan en server som lyssnar på UDP-porten 25565 använda en regel med publika porten 25565, destinationsadressen 192.168.1.100 och destinationsporten 25565. Ersätt exempeladressen med din servers faktiska lokala adress.

Behåll den befintliga TCP-regeln för vanliga Minecraft-anslutningar. Enbart en TCP-videresättningsregel hanterar inte UDP.

Om videresändning fortfarande misslyckas

Kontrollera om en annan router eller din ISP utför NAT innan trafiken når din router. Med två routrar du kontrollerar måste videresändningen täcka båda. Om din ISP använder carrier-grade NAT, fråga om de kan tillhandahålla en publik IPv4-adress eller använd en hostingtjänst eller tunnel som stöder inkommande UDP. Din routers videresättningsregel kan inte konfigurera ISP:ns NAT. Se TP-Link:s vägledning för portvideresändning för kravet på publik WAN-adress.

IPv6 brandväggsregler

Tillåt det valda UDP-portet genom både routerns IPv6-brandvägg och värdbrandväggen. Rikta mot IPv6-adressen för maskinen som tar emot RakNet-anslutningar.

Kontrollera att värdnamnets IPv6-adress pekar på den maskinen. Om dess IPv6-adress ändras, uppdatera DNS-posten och alla adressspecifika brandväggsregler.

Ett värdnamn som publicerar både IPv4- och IPv6-adresser behöver en fungerande rutt för varje annonserad adress. Kontrollera båda uppsättningarna av regler när en spelare kan ansluta och en annan inte kan.

Om IPv4-videresändning ändrar portnumret, se till att porten spelarna anger också når IPv6-lyssnaren. En IPv4-portöversättning konfigurerar inte IPv6-rutten.

Hostingleverantörer och tunnlar

Leverantören eller tunneln måste stödja UDP på den publika slutpunkt du ger spelare. Kontrollera dess portallokeringar och nätverksbrandväggsregler samt serverns egen brandvägg.

Om en ytterligare UDP-proxy skickar vidare klientadresser med PROXY-protokoll v2, följ UDP-videresändning och PROXY-protokoll och begränsa åtkomsten till den mottagande UDP-lyssnaren till den betrodda proxyn.

Kontrollera anslutningen

Anslut från utanför serverns lokala nätverk med en uppdaterad Raknetify2-klient, med en adress som raknet;play.example.com:25565. Använd den publika UDP-porten i denna adress.

Använd en riktig RakNet-anslutning för att verifiera rutten. En UDP-skanning som inte får svar kan rapportera ett oavgjort resultat eftersom en fungerande tjänst kan kassera en okänd sond. Nmap:s UDP-skanningsdokumentation förklarar detta beteende.

En lyckad TCP-anslutning bekräftar endast TCP-rutten. Om RakNet tappar kontakten, kontrollera lyssnaren, videresändningsdestinationen, UDP-porten och brandväggsreglerna med felsökningsguiden.

Kompatibilitet

Kontrollera kompatibiliteten för den specifika version du laddar ner. Utvecklingsgrenen kan innehålla stöd som ännu inte har dykt upp i en release.

Minecraft- och Javaversioner

För Fabric, ladda ner compatibility.json från samma release som JAR-filen. Kontrollera din Minecraft-version i gameVersions, och kontrollera sedan den relevanta posten under runtimes för dess depends-krav. Denna JSON-fil är ett referensdokument och behöver inte läggas i mods-mappen.

För Forge, NeoForge och Spigot/Paper, kontrollera versionskraven som deklareras av artefakten och dess nedladdningslista. Stöd på en loader etablerar inte stöd på en annan.

Java-kravet som deklareras av Raknetify2 är dess minimum. Minecraft eller laddaren kan kräva en nyare runtime. Välj en Java-version som uppfyller alla tre.

Klient- och serverversioner

Använd samma Raknetify2-release på klienten och servern eller proxyn som tar emot dess anslutning när det är möjligt. Kontrollera releaseanteckningarna innan du blandar releases. Krypterade RakNet-anslutningar kräver stöd för det autentiserade krypteringsprotokollet i båda ändar. Ursprungliga Raknetify- och Raknetify2-byggen före introduktionen av det protokollet kan inte etablera dessa krypterade anslutningar till uppdaterade parter.

Raknetify2 bär Minecrafts befintliga spelprotokoll. Att ansluta olika Minecraft-versioner kräver en kompatibel protokollöversättningsinställning.

Andra mods

Byggflödet build workflow inkluderar kompatibilitetskontroller som involverar Polymer, Krypton, PacketFixer och Fast IP Ping. Dessa kontroller täcker versionerna och kombinationerna som väljs av flödet. Kontrollera en släppnings associerade byggresultat när du undersöker en specifik kombination.

Vid ett fel i ett större modpack, följ felsökningsguiden. Inkludera de kompletta modversionerna i din rapport.

Ordnat läge

Ordnat läge

Normalt låter Raknetify2 oberoende paketkanaler fortsätta medan en kanal väntar på saknad data. Ordnat läge lägger alla Minecraft-paket på en kanal, så ett saknat paket stoppar alla senare paket i den riktningen tills det återförsänds. Detta bevarar ordningen som förväntas av viss anti-cheat-mjukvara, men ger upp Raknetify2:s förmåga att hålla orelaterad speldata igång under den väntan.

Aktivera ordnat läge

  1. Installera en Raknetify2-byggnad som stöder ordnad läge på servern eller proxyn som accepterar RakNet-anslutningar och på varje RakNet-klient.

  2. Skapa config/raknetify2-compatibility.json i förhållande till den serverns eller proxyns arbetskatalog. Skapa config-katalogen om den inte finns.

  3. Lägg till följande:

    {"mode": "ordered"}
  4. Starta om servern eller proxyn.

Klienterna följer serverns inställning automatiskt. Spelare behöver inte skapa en konfigurationsfil eller ändra sin RakNet-serveradress.

Alla Minecraft-paket använder en pålitlig ordnad kanal i varje riktning, inklusive buntavgränsare och världsovergångar.

Proxy-uppsättningar

När spelare ansluter via Velocity eller BungeeCord, konfigurera ordnad läge på den proxyn, även om anti-cheaten körs på en backend-server.

Policyn gäller över backend-växlar. I ordnat läge skickar proxyn vidare backend-keepalive-förfrågningar till den riktiga klienten istället för att svara lokalt.

Kontrollera inställningen

Vid den första RakNet-anslutningen rapporterar konsolen:

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

Ett lyckat kompatibilitetsutbyte loggar också ordered compatibility negotiated, följt av motpartens adress.

Håll anti-cheat-kontroller aktiverade och validera din specifika uppsättning.

Äldre klienter

RakNet-klienter som inte stöder ordnad läge kan inte ansluta till en server som kräver det. Uppdatera Raknetify2 på dessa klienter, eller anslut med serverns eller proxyns normala TCP-adress och port utan prefixet raknet;.

Återgår till flermodelläge

Ändra filen till:

{"mode": "multichannel"}

Starta sedan om servern eller proxyn. Att ta bort filen återställer också flermodelläget efter en omstart.

Konfigurationsproblem

Filen måste innehålla exakt en inställning som heter mode, med antingen "ordered" eller "multichannel" som värde. Värdena är case-sensitive.

Ogiltig eller oläsbar konfiguration avvisar RakNet-anslutningar. Korrigera filen och starta om processen.

Om konsolen fortfarande rapporterar multichannel, kontrollera att filen finns i serverns eller proxyns arbetskatalog som tar emot RakNet-anslutningen, och starta sedan om den processen.

Automatisk överföring

Fabric-, Forge- och NeoForge-servrar kan välja RakNet när de överför en kapabel klient till en konfigurerad destination. Detta använder Minecrafters inbyggda överföringsstöd, introducerat i Java Edition 1.20.5. Kontrollera att din Raknetify2-version stöder Minecraft-versionen och laddaren i båda ändar.

Installera Raknetify2 på sändande servern och klienten. Destinationen måste tillhandahålla en kompatibel RakNet-lyssnare och acceptera inkommande Minecraft-överföringar.

Denna konfiguration gäller för överföringar som skickas av de tre modladdarna ovan. Spigot/Paper-, Velocity- och BungeeCord-pluginsen läser inte denna överföringsfil.

Konfigurera sändande server

Skapa config/raknetify2-transfers.json i sändande servers katalog:

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

Ersätt exempelvärdena för värdnamn och portar med värdena för din destination, och starta sedan om den sändande servern. Ytterligare destinationer läggs till i samma array.

Fält Betydelse
host Destinationsvärdnamn eller IP-adress, utan transportprefix eller port
tcpPort Destinationsport i den ursprungliga överföringsförfrågan
udpPort Offentlig RakNet-port som den överförda klienten ska kontakta

TCP- och UDP-portnumren kan vara lika. Om en router översätter UDP-porten, använd den publika porten i denna fil. Skriv portar som JSON-tal.

Skicka överföringar till destinationens vanliga värdnamn och TCP-port. Raknetify2 kontrollerar om klienten annonserar stöd för automatisk överföring. För en kapabel klient och en matchande destination väljer den den konfigurerade UDP-porten. Andra klienter och omatchade destinationer behåller den ursprungliga överföringsadressen.

Matchning använder värdnamnet och TCP-porten från överföringsförfrågan. Värdnamnets storleksordning, en sista DNS-punkt och motsvarande IPv6-stavning normaliseras. DNS-uppslag ingår inte i matchningen, så två olika värdnamn som löser till samma adress behöver separata poster. Vildkortsposter stöds inte.

Destinationinställning

För en destination som använder Minecraft:s server.properties, ställ in accepts-transfers=true och starta om den. En destinationsproxy kan ha sin egen överföringsinställning.Minecraft:s standardavvisar inkommande överföringar, även när en normal direkt anslutning fungerar.

Destinationens RakNet-lyssnare, offentlig UDP-videresändning och värdbrandvägg måste redan vara konfigurerade. Sändande serverns överföringsfil väljer adressen som skickas till en klient.

Kontrollera både destinationens IPv4- och IPv6-rutter när dess värdnamn publicerar båda adresstyperna. Testa en vanlig direkt RakNet-anslutning till destinationen innan du undersöker automatisk överföringsbeteende.

Behåll alla destinationens inloggnings- eller antagningskontroller på plats. Denna konfiguration ger inte spelare åtkomst eller ersätter serverautentisering.

Konfigurationsfel och inaktivering

Saknade fält, okända fält, ogiltiga portar och dubbla destinationer orsakar ett konfigurationsfel under initialiseringen. Använd serverloggen för att identifiera felet, korrigera JSON-filen och starta om.

För att inaktivera automatisk urval, ta bort konfigurationsfilen eller använd {"destinations": []}, sedan starta om sändningsservern. Dess överföringsförfrågningar behåller sina ursprungliga adresser.

UDP-videresändning och PROXY-protokoll

En UDP-proxy kan videresända RakNet-trafik och bevara den ursprungliga klientadressen med hjälp av PROXY-protokoll v2. Aktivera denna funktion när en uppströms UDP-proxy skickar dessa rubriker till din lyssnare. Vanlig routerportvideresändning kräver det inte.

På servern eller Minecraft-proxyn som tar emot den videresända UDP-trafiken, skapa config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Ersätt exemplet med UDP-proxyns faktiska källa-IP-adress eller ett CIDR-intervall du kontrollerar. Adressen måste matcha vad den mottagande lyssnaren ser efter eventuell NAT. IPv4- och IPv6-literaler accepteras. DNS-värdnamn avvisas. Starta om den mottagande servern eller proxyn.

Konfigurera videresändningsproxyn att skicka PROXY-protokoll v2-rubriker för UDP. Raknetify2 accepterar endast videresända klientadresser från de listade källorna. Direkta RakNet-anslutningar utan dessa rubriker avvisas medan denna konfiguration är aktiverad. TCP-lyssnaren behåller sin befintliga konfiguration.

Förtroende och åtkomst

Varje listad proxy är betrodd att tillhandahålla klientadresser. Begränsa åtkomsten till backend-UDP-porten i dess brandvägg så att endast den avsedda proxyn kan nå den. Håll de betrodda intervallen så snäva som ditt nätverk tillåter.

Filen måste endast innehålla trustedProxies, med minst ett objekt. Ett tomt array är ett fel. En ogiltig fil förhindrar att RakNet-lyssnaren startar.

För att återgå till direkta UDP-anslutningar, ta bort filen och starta om lyssnaren. Uppdatera uppströmsvideringsbeteendet och brandväggsreglerna för den nya rutten samtidigt.

Om anslutningar misslyckas efter att denna funktion har aktiverats, kontrollera proxyens faktiska källaadress i backenden, det konfigurerade betrodda intervallet och om proxyn skickar UDP PROXY-protokoll v2-huvuden.

För installation av Minecraft-proxy och bakgrundskonfiguration, följ Velocity och BungeeCord.

Simple Voice Chat

Raknetify2 kan dela sin serverns UDP-lyssnare med Simple Voice Chat på Fabric, Forge, NeoForge, Spigot och Paper.

Installera Simple Voice Chat på servern och på varje klient som vill ha röstchatt. Följ dess serverinstruktioner för resten av dess konfiguration.

Använd serverns toppnivåkatalog config för Raknetify2:s fil, även på Spigot/Paper, medan Simple Voice Chat:s egen fil finns kvar på den plattformsspecifika platsen nedan.

Dela spelporten

  1. Skapa config/raknetify2-voicechat.json i serverkatalogen med följande innehåll:

    {"enabled": true}
  2. Ställ in port=-1 i Simple Voice Chat:s serverkonfiguration. På modifierade servrar är detta config/voicechat/voicechat-server.properties, på Spigot/Paper är det plugins/voicechat/voicechat-server.properties.

  3. Lämna bind_address tom när det finns en matchande RakNet-lyssnare. Om servern har flera lyssnare på den UDP-porten, ställ in den till den lokala adressen för lyssnaren du vill dela.

  4. Starta om servern och kör /voicechat test <PLAYERNAME> för en ansluten spelare.

Om RakNet-lyssnaren använder ett annat portnummer än Minecraft, ställ in röstens port till det lokala UDP-portnumret explicit istället för att använda -1. Till exempel, en RakNet-lyssnare på lokalt UDP-port 25570 behöver port=25570.

Ställ in voice_host när klienter behöver en annan publik adress eller port. För en router som vidarebefordrar publikt UDP 25580 till lokalt UDP 25570, använd port=25570 och voice_host=play.example.com:25580. Den publika adressen ska finnas i voice_host. Inställningen bind_address väljer en lokal lyssnare.

Raknetify2 tillhandahåller den delade UDP-socketen via Simple Voice Chats API. Simple Voice Chat hanterar röstautentisering och kryptering. Spelare kan använda röstchatt med antingen TCP- eller RakNet-spelningsanslutningar.

Andra UDP-tjänster och proxys

Håll Query och Geyser på separata UDP-portar. Den delade socketintegrationen stöder endast Simple Voice Chat.

Integrationen delar inte en röstproxy-soket på Velocity eller BungeeCord. Följ Simple Voice Chat:s guide för proxyinställningar och ge röstproxyn dess egen UDP-port. Med den officiella röstproxy-pluginen, ställ in vilken offentlig voice_host-överskrivning som helst i proxyns röstkonfiguration. Denna plugin ignorerar backend-servrarnas voice_host-inställningar.

För en allmän UDP-tunnel, ställ in voice_host till det publika värdnamnet och UDP-porten som dirigerar till denna server.

Inaktivera delning eller lös en soketkonflikt

Om loggen rapporterar No RakNet listener matches the voice bind address and port, bekräfta att RakNet startade framgångsrikt och att röstporten och bindadressen matchar dess lokala lyssnare.

Om det rapporterar Multiple RakNet listeners match the voice bind address, välj en specifik matchande lokal adress i bind_address och starta om.

Bara en Simple Voice Chat-plugin kan tillhandahålla sin UDP-sockett. Om uppstarten rapporterar att en annan plugin redan tillhandahåller en socket, välj vilken socketintegration som ska användas.

För att inaktivera Raknetify2:s integration, ställ in {"enabled": false} i dess röstkonfiguration eller ta bort den filen. Ge Simple Voice Chat ett separat UDP-port, uppdatera dess brandväggs- eller vidarebefordringsregler och starta om servern.

Felsökning

TCP fungerar men RakNet tappade kontakten

Kontrollera dessa i ordning:

  1. Klienten har rätt Raknetify2-mod för sin laddare och Minecraft-version.
  2. Servern eller proxyn som accepterar anslutningen har Raknetify2 installerat och startad utan lyssnarfel.
  3. Adressen börjar med raknet; och använder det publika UDP-portnumret.
  4. Hostingleverantören, routern och värdbrandväggen tillåter alla UDP på det portnumret.
  5. Hostnameens IPv4- och IPv6-adresser leder till avsedd värd och har fungerande brandväggsregler.

En lyckad TCP-anslutning bekräftar endast TCP-vägen. Följ Brandväggs- och routerkonfiguration för att kontrollera UDP-videresändning och IPv6-åtkomst. Om PROXY-protokollet är aktiverat måste klienter nå lyssnaren via en konfigurerad betrodd proxy.

Adress redan i bruk

Kontrollera om en annan process använder UDP-porten. Query, Geyser och andra UDP-tjänster behöver sina egna portar. Simple Voice Chat kan använda delad-port-integration.

Du kan välja en annan lokal UDP-port med hjälp av direkt-server-lyssnarsinställningar eller Velocity- och BungeeCord-inställningar. Kontrollera versionskravet för Spigot/Paper-inställningen. Att bara ändra en routers publika port lämnar den lokala socketkonflikten kvar.

Anslutning fungerar men överföringar misslyckas

Anslut direkt till destinationen med dess raknet;-adress. Om det misslyckas, åtgärda först destinationens lyssnare eller nätverksväg.

Om direkta anslutningar fungerar, kontrollera om destinationen accepterar inkommande överföringar. En Minecraft-server som använder server.properties behöver accepts-transfers=true. Direkta anslutningar testar inte denna inställning.

Jämför sedan överföringsnamnet och TCP-porten med config/raknetify2-transfers.json på sändarservern. Bekräfta att filen laddades efter en omstart och att klienten stöder automatisk RakNet-överföring. Se Automatiska överföringar.

Krypterings- eller protokollfel

Kontrollera Raknetify2-versionerna i båda ändar av anslutningen. Uppdatera klienten och servern eller proxyn samtidigt när en release ändrar det krypterade protokollet. Behåll serverns autentiseringsinställningar under utredningen.

Modspecifika fel

Notera vilken åtgärd som utlöser felet, till exempel att öppna ett inventarium, ta emot ett resurspaket, byta världar eller spawna en enhet. Jämför samma åtgärd över TCP och RakNet med en separat testinstallation när det är praktiskt.

Vissa anpassade nyttolaster är beroende av ordningen på vaniljpaket. Modförfattare kan deklarera dessa beroenden via paketordningsgränssnittet.

Rapportera ett fel

Öppna ett ärende i Raknetify2 ärendehanterare och inkludera:

  • Minecraft-, Java-, loader- och Raknetify2-versioner på båda ändar.
  • Server- och proxysoftvaruversioner, inklusive eventuella UDP-videresättningsproxys.
  • Andra installerade mods och deras versioner.
  • Steg för att återskapa problemet och vad du förväntade dig skulle hända.
  • Om samma steg fungerar över TCP.
  • Relevanta utdrag från klient-, server- och proxyloggar från samma försök.

Ta bort åtkomsttokens, lösenord och annan privat information innan du laddar upp loggar. Behåll undantagshanteringar och stackspår som behövs för att diagnostisera problemet.

Modintegration

Raknetify2 låter mods deklarera vilken Minecraft-trafik som måste förbli ordnad med sina anpassade nyttolaster. Använd detta när hanteringen av en nyttolast kräver en entitet, chunk, inventarie eller annat tillstånd som etablerats av tidigare paket.

Ordninggrupper

Grupp Relaterad trafik
ui Världs-oberoende menyer och interaktioner
entity Entitetsskapande, borttagning och rörelse
world_interaction Inventarier och andra världsbundna interaktioner
effects Ljud och partiklar
chunk Terräng-, block- och belysningsuppdateringar

Alla grupper behåller tillförlitlig ordnad leverans inom sin kanal. Paket i olika grupper kan anlända i en annan relativ ordning. Välj den grupp som matchar nyttolastens beroende.

Valfri Fabric-integration

Lägg till en leverantör under raknetify:packet_channels entrypoint i din mods fabric.mod.json. Leverantören implementerar Consumer<BiConsumer<String, String>> med hjälp av JDK-typer. Den tar emot en registrar som accepterar en anpassad nyttolastidentifierare och en ordningsgrupp.

Slå ihop denna post med din befintliga metadata, och ersätt klassnamnet med din leverantörs fullständigt kvalificerade namn:

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

Behåll resten av din fabric.mod.json, inklusive dess befintliga ingångspunkter. Detta är en fragment av metadatafilen.

Till exempel kan en utökning för enhetsrörelse registrera example:entity_path med entity-gruppen. PacketOrdering API-dokumentationen inkluderar leverantörsimplementeringen.

Fabric anropar inte denna ingångspunkt när Raknetify2 saknas. Leverantörer bör deklarera identifierare och grupper under initialiseringen utan att förlita sig på att en annan mod har slutfört sin egen initialisering.

Registreringsbeteende

Forge- och NeoForge-mods, samt server- eller proxyplugins, kan anropa PacketOrdering.register(identifier, group) under initialiseringen när Raknetify2 är tillgängligt. Klassen är com.ishland.raknetify.api.PacketOrdering. Registrera innan du accepterar spelaranslutningar, och behåll valfritt integrationskod som förhindrar laddning av Raknetify2-klasser när beroendet saknas.

Deklarationer gäller för nya anslutningar. Befintliga anslutningar behåller de regler de fick vid uppsättningen. Att upprepa en identisk deklaration är tillåtet. Konflikterande grupper för samma identifierare avvisas.

Payload-identifierare måste använda ett giltigt anpassat namespace. minecraft-namespace är reserverat. Gränsen för hela ändpunkten är 128 deklarationer, inklusive inbyggda regler och registreringar från andra mods. Identifierare kan innehålla upp till 255 ASCII-tecken med hjälp av API:ns namngivna identifierarsyntax.

Uppdaterade RakNet-peers utbyter deklarationer under anslutningsuppsättningen. En server eller proxy kan använda en peers deklaration när den inte har någon lokal regel för den payloaden. Lokala regler har företräde, och en peers deklarationer förblir begränsade till den anslutningen.

UDP-proxys

Se UDP-videresändning och PROXY-protokoll för UDP-reläer och videresända klientadresser.

För Minecraft-proxyinställning, se Velocity och BungeeCord.

English (US)

Clone this wiki locally