Repository navigation
Wiki sv se
- Hem
- Installation
- Velocity och BungeeCord
- Brandväggs- och routerkonfiguration
- Kompatibilitet
- Ordnat läge
- Automatisk överföring
- UDP-videresändning och PROXY-protokoll
- Simple Voice Chat
- Felsökning
- Modintegration
- UDP-proxys
Nätverksanslutningar via RakNet för Minecraft-klienter och -servrar.
| 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 |
-
Flerspelarläge
-
Lägg till server
-
Serveradress
Serveradress RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Klar
-
Anslut till server
| F3 | |
|---|---|
| RakNet · UDP | Aktiv · MTU 1400 |
| TCP | Inaktiv |
- Klient · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- 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 |
| Serveradress | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Server · 192.0.2.10
|
25570/udp |
Server / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| Server | Raknetify2 · UDP 25565 | Simple Voice Chat |
|---|---|---|
| Fabric / Forge / NeoForge |
config/raknetify2-voicechat.json · {"enabled":true}
|
config/voicechat/voicechat-server.properties · port=-1
|
| Spigot / Paper |
config/raknetify2-voicechat.json · {"enabled":true}
|
plugins/voicechat/voicechat-server.properties · port=-1
|
Simple Voice Chat · Velocity / BungeeCord
| Serveradress | trustedProxies |
RakNet |
|---|---|---|
192.0.2.10 · PROXY v2 / UDP |
["192.0.2.10"] |
✓ |
192.0.2.11 · PROXY v2 / UDP |
["192.0.2.10"] |
✗ |
| Klient → RakNet / UDP | ["192.0.2.10"] |
✗ |
config/raknetify2-proxy-protocol.json
{"trustedProxies":["192.0.2.10"]}-
Server A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Server B ·
play.example.com·server.properties→accepts-transfers=true -
Server A ·
/transfer play.example.com 25565 Alex→ Klient (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Alternativ |
entity |
Skelett |
world_interaction |
Förråd |
effects |
Partiklar |
chunk |
Block |
- Fabric ·
compatibility.json·gameVersions/runtimes/depends - Forge / NeoForge / Spigot / Paper · GitHub Releases
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.
- Kontrollera kompatibilitet mellan Minecraft och mod.
- Välj en nedladdning och installera den.
- Anslut med en adress som
raknet;play.example.com.
- Velocity och BungeeCord
- Brandväggs- och routerkonfiguration
- Automatiska överföringar
- UDP-videresändning och PROXY-protokoll
- Dela ett UDP-port med Simple Voice Chat
- Felsökning och buggrapporter
Modutvecklare kan använda paketordningsgränssnittet för att deklarera beroenden mellan anpassade nyttolaster och Minecraft-trafik.
Raknetify2 använder MIT-licensen och behåller de ursprungliga upphovsrättsmeddelandena. Dess nätverksimplementering bygger på Raknetify och netty-raknet.
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.
- Installera klientmodden för din laddare.
- Installera den matchande servermodden, eller Spigot/Paper-pluginet på en kompatibel server.
- Följ Brandväggs- och routerkonfiguration för att tillåta UDP-anslutningar till servern.
- Starta om klienten och servern.
- Lägg till en serveradress som
raknet;play.example.comellerraknet;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.
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.
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.
Ö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 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.
- Bekräfta att vanliga TCP-anslutningar genom din proxy fungerar, inklusive autentisering och växling mellan backend-servrar.
- Stoppa proxyn och ladda ner motsvarande plugin från GitHub Releases.
- Placera
raknetify2-velocity-*-all.jarellerraknetify2-bungee-*-all.jari proxynsplugins-mapp. Ta bort alla äldre Raknetify- eller Raknetify2-plugins från den mappen. - Installera det lämpliga Raknetify2-klientmodden med hjälp av installationsguiden.
- Kontrollera lyssnarinställningarna nedan, starta om proxyn och inspektera dess logg efter fel med RakNet-lyssnare.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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 |
För att hosta bakom en IPv4-router:
- 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.
- Lägg till en UDP-vidarebefordringsregel för det publika port som spelare kommer att använda.
- Ställ in regelns destination till den maskinens lokala adress och RakNet-lyssnarens UDP-port.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
-
Installera en Raknetify2-byggnad som stöder ordnad läge på servern eller proxyn som accepterar RakNet-anslutningar och på varje RakNet-klient.
-
Skapa
config/raknetify2-compatibility.jsoni förhållande till den serverns eller proxyns arbetskatalog. Skapaconfig-katalogen om den inte finns. -
Lägg till följande:
{"mode": "ordered"} -
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.
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.
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.
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;.
Ändra filen till:
{"mode": "multichannel"}Starta sedan om servern eller proxyn. Att ta bort filen återställer också flermodelläget efter en omstart.
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.
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.
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.
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.
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.
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.
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.
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.
-
Skapa
config/raknetify2-voicechat.jsoni serverkatalogen med följande innehåll:{"enabled": true} -
Ställ in
port=-1i Simple Voice Chat:s serverkonfiguration. På modifierade servrar är dettaconfig/voicechat/voicechat-server.properties, på Spigot/Paper är detplugins/voicechat/voicechat-server.properties. -
Lämna
bind_addresstom 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. -
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.
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.
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.
Kontrollera dessa i ordning:
- Klienten har rätt Raknetify2-mod för sin laddare och Minecraft-version.
- Servern eller proxyn som accepterar anslutningen har Raknetify2 installerat och startad utan lyssnarfel.
- Adressen börjar med
raknet;och använder det publika UDP-portnumret. - Hostingleverantören, routern och värdbrandväggen tillåter alla UDP på det portnumret.
- 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.
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.
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.
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.
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.
Ö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.
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.
| 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.
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.
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.
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.