Repository navigation
Wiki da dk
- Hjem
- Installation
- Velocity og BungeeCord
- Firewall- og routerkonfiguration
- Kompatibilitet
- Ordnet tilstand
- Automatisk overførsel
- UDP-videresendelse og PROXY-protokol
- Simple Voice Chat
- Fejlfinding
- Mod integration
- UDP proxies
Netværksforbindelser via RakNet til Minecraft-klienter og -servere.
| 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 |
-
Multiplayer
-
Tilføj server
-
Serveradresse
Serveradresse RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Færdig
-
Deltag i serveren
| 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 |
| Serveradresse | 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
| Serveradresse | 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 |
Indstillinger |
entity |
Skelet |
world_interaction |
Taske |
effects |
Partikler |
chunk |
Blokke |
- Fabric · Minecraft / Java · English
- Forge / NeoForge / Spigot / Paper · GitHub Releases
Raknetify2 bruger RakNet over UDP til Minecrafts flerspillertilstand. Trafikken fordeles på kanaler, som hver især leverer deres pakker i rækkefølge. Hvis en pakke går tabt på én kanal, kan de andre fortsætte med at sende data. Spillet kan derfor reagere på spillerens handlinger, mens tabte data sendes igen, eller mens dele af verden overføres.
Raknetify2 er en selvstændigt vedligeholdt forgrening af Raknetify, som oprindeligt blev udviklet af ishland. Projektet tilføjer understøttelse af nyere Minecraft-versioner og vedligeholder transportkoden, integrationen med de forskellige platforme og kompatibilitetstestene.
- Tjek Minecraft- og modkompatibilitet.
- Vælg et download og installer det.
- Forbind med en adresse som
raknet;play.example.com.
- Velocity og BungeeCord
- Firewall- og routerkonfiguration
- Automatisk overførsel
- UDP-videresendelse og PROXY-protokol
- Deling af en UDP-port med Simple Voice Chat
- Fejlfinding og fejlrapportering
Mod-udviklere kan bruge packet ordering interface til at deklarere afhængigheder mellem brugerdefinerede payloads og Minecraft-trafik.
Raknetify2 bruger MIT-licensen og beholder de originale ophavsretsmeddelelser. Dens netværksimplementering bygger på Raknetify og netty-raknet.
Download en udgivelse fra GitHub Releases. Tjek Minecraft-versionen og loaderkravene for den udgivelse, før du installerer.
| Hvor du installerer | Fil | Mappe |
|---|---|---|
| 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 |
Luk klienten eller stop serveren, før du udskifter dens JAR. Fjern den originale Raknetify JAR og eventuelle ældre Raknetify2 JAR fra samme installation, før du tilføjer den nye fil.
Klientmapper tilhører Minecraft-instansen eller modpakken, du starter. Server- og proxymapper tilhører den server- eller proxyinstallation. Opret den passende mappe, hvis din loader endnu ikke har oprettet den.
- Installer klientmoddet til din loader.
- Installer den matchende servermod, eller Spigot/Paper-pluginet på en kompatibel server.
- Følg Firewall og routerkonfiguration for at tillade UDP-forbindelser til serveren.
- Genstart klienten og serveren.
- Tilføj en serveradresse som
raknet;play.example.comellerraknet;play.example.com:25565.
Adresser uden forstien raknet; bruger TCP.
At installere klientmoddet alene tilføjer ikke RakNet-understøttelse til en fjernserver. Serveroperatøren skal levere et RakNet-endpoint. Spillere, der deltager i en anden persons server, behøver normalt ingen indgående router-videresendelsesregler.
Installer det matchende proxy-plugin og klientmoddet. Følg Velocity og BungeeCord for lytterindstillinger, backend-videresendelse, adgangsbegrænsninger og den adresse, spillere skal bruge.
For en direkte Minecraft-server, indstil det passende Java-argument nedenfor. Proxy-operatører bør bruge Velocity og BungeeCord-lytterindstillinger.
| Platform | Java-argument | Accepterede porte |
|---|---|---|
| Fabric-, Forge- eller NeoForge-server | -Draknetify.fabric.portOverride=25570 |
1 til 65534
|
| Spigot eller Paper server | -Draknetify.spigot.portOverride=25570 |
1 til 65535
|
Forge og NeoForge bruger den delte lytterkode, så deres egenskabsnavn indeholder også fabric. Erstat 25570 med det ønskede UDP-portnummer.
Spigot / Paper ≥ 0.1.0-beta.1.431
Tilføj argumentet før -jar i Java-kommandoen eller i din hosts JVM-argumentfelt. Genstart serveren og tillad UDP på den valgte lytteport. Hvis den offentlige port også er 25570, skal du forbinde med raknet;play.example.com:25570. Hvis en router oversætter porten, skal du bruge dens offentlige port i klientadressen. TCP-porten forbliver på dens eksisterende værdi.
På Spigot/Paper bevarer UDP-lytteren den lokale bindeadresse for Minecraft TCP-lytteren. En ugyldig override eller en optaget UDP-port forhindrer RakNet i at starte. Tjek opstartsloggen for den bundne UDP-adresse og port. Fjern argumentet og genstart for at vende tilbage til TCP-lytterens portnummer.
En router eller UDP-proxy kan også eksponere en anden offentlig UDP-port og videresende den til den eksisterende lytter uden at ændre serverens Java-argumenter.
Åbn en vellykket main-kørsel i GitHub Actions og download dens Artifacts-arkiv. GitHub kræver en konto for at downloade workflow-artefakter. Brug installationstabellen ovenfor til at vælge en JAR fra arkivet.
Velocity og BungeeCord sidder mellem spillere og backend Minecraft-servere. Installer Raknetify2 på proxien og på hver klient, der vil forbinde via RakNet.
Raknetify2 klient --UDP--> Velocity eller BungeeCord --TCP--> backend server
Backend-serverne behøver ikke Raknetify2 for denne forbindelsessti. De har stadig brug for de mods, plugins og videresendelsesunderstøttelse, som dit netværk kræver. Raknetify2 oversætter ikke Minecraft-versioner eller ændrer proxyens kontoadministration.
- Bekræft, at almindelige TCP-forbindelser gennem din proxy fungerer, herunder autentificering og skift mellem backend-servere.
- Stop proxien og download den matchende plugin fra GitHub Releases.
- Placer
raknetify2-velocity-*-all.jarellerraknetify2-bungee-*-all.jari proxiensplugins-mappe. Fjern enhver ældre Raknetify eller Raknetify2 plugin fra den mappe. - Installer den passende Raknetify2 klientmod ved hjælp af installationsvejledningen.
- Tjek lytterindstillingerne nedenfor, genstart proxien og inspicer dens log for RakNet lytterfejl.
- Tillad offentlig UDP-trafik til proxien og begræns backend-spilningsporte som beskrevet i Firewall og routerkonfiguration.
Brug kompatible Raknetify2-udgivelser på klienten og proxyen. Tjek Kompatibilitet før du blander udgivelser.
Indstillingen bind i velocity.toml vælger Velocity's Minecraft lytteadresse og TCP-port. Raknetify2 bruger normalt samme portnummer til UDP. [servers]-indtastningerne identificerer backend-serverne. Hold disse indtastninger pegende på backend TCP-adresser. Se Velocity's konfigurationsreference.
For at bruge en separat UDP-port, tilføj dette JVM-argument før -jar i Velocity's opstartskommando:
-Draknetify.velocity.portOverride=25570
Erstat 25570 med din valgte port. Dette ændrer RakNet UDP-porten, mens det bevarer Velocity's TCP-port og backend-adresser. Genstart Velocity efter ændring af argumentet.
Konfigurer spillervideresendelse på både Velocity og dens baggrunde. Brug moderne videresendelse, når baggrundsprogramvaren understøtter det, og hold dens videresendelseshemmelighed privat. Følg de baggrundsspecifikke instruktioner i Velocity's guide til spillerinformationsvideresendelse. Behold baggrundsbrændemursbegrænsningerne sammen med videresendelsen.
I BungeeCords config.yml identificerer værdien host under hver listeners-indgang en Minecraft lytteadresse og TCP-port. Raknetify2 tilføjer normalt UDP på det portnummer. servers-indgangene indeholder baggrunds TCP-adresser. Disse indstillinger er beskrevet i BungeeCord konfigurationsguide.
For en separat UDP-port skal du tilføje dette JVM-argument før -jar i BungeeCord's opstartskommando:
-Draknetify.bungee.portOverride=25570
Overskrivningen tilhører hele proxy-processen. For en konfiguration med flere Minecraft-lyttere, tjek de faktiske RakNet-endepunkter i opstartsloggen, før du tilføjer brændemursregler. Genstart BungeeCord efter ændring af argumentet.
Bevar kontogodkendelse på proxyen. For Spigot-backends parrer BungeeCord's Vejledning til IP-videresendelse ip_forward: true på proxyen med settings.bungeecord: true på backend. Viderestilling alene forhindrer ikke nogen i at oprette forbindelse direkte til en backend. Begræns backend-adgang ved hjælp af Instruktioner til firewall.
Begge proxy-overstyringer accepterer porte fra 1 til 65534. Ugyldige værdier ignoreres, så bekræft den bundne UDP-port i opstartsloggen. Fjern argumentet og genstart for at vende tilbage til Minecraft-lytterens portnummer.
Spillere forbinder til proxyens offentlige hostname og UDP-port, for eksempel raknet;play.example.com:25570. Når en router oversætter porte, skal du bruge dens offentlige UDP-port i klientadressen. Adresser uden raknet;-præfikset fortsætter med at bruge proxyens TCP-lytter.
Lad Query, Geyser og andre UDP-tjenester køre på separate UDP-porte. En anden TCP-port løser ikke en UDP-sokkelkonflikt.
Simple Voice Chat bruger sin egen proxy-plugin og UDP-port på Velocity og BungeeCord. Følg vejledningen til Voice Chat proxy for den opsætning.
Hvis en separat UDP-relæ sidder foran din Minecraft-proxy og sender PROXY-protokol v2-headers, konfigurer Raknetify2 ved hjælp af UDP-videresendelse og PROXY-protokol. Installation af Velocity eller BungeeCord alene kræver ikke den konfiguration.
Test fra uden for dit lokale netværk med en Raknetify2-klient. Deltag via proxyen, skift mellem de backend-servere, du bruger, og bekræft at spilleridentitet og tilladelser forbliver korrekte.
- Hvis TCP gennem proxien virker, men RakNet udløber, så tjek proxyens UDP-lytter, offentlige port, IPv4- og IPv6-ruter samt firewall-regler.
- Hvis begge transportformer fejler, når proxien forbinder til en backend, så tjek backendens TCP-adresse, adgangsregler og spillervideresendelseskonfiguration.
- Hvis proxien rapporterer en optaget UDP-port, så tjek efter Query, Geyser, en stemmeprotokoll eller en anden proces, der er bundet til den.
Til rapporter skal du inkludere både proxy- og backend-logs fra det samme forbindelsesforsøg. Se Fejlfinding for den versionsinformation, du skal inkludere.
Denne vejledning er til serveroperatører. Raknetify2 skal have en fungerende UDP rute til serveren eller proxy'en, der accepterer RakNet forbindelser. Standardopsætningen bruger det samme portnummer som Minecraft's TCP lytter.
For spillere på samme lokale netværk, brug serverens lokale adresse og tillad UDP gennem dens værtssikkerhedsnetværk. Routerportvideresendelse er nødvendig, når internettrafik skal krydse din routers IPv4 NAT.
Send offentlig UDP-trafik til maskinen, der kører Minecraft-serveren med Raknetify2. Destinationsporten er den servers RakNet UDP-lytter. Tillad den port i servermaskinens værtssikkerhedsnetværk. Bevar dens eksisterende TCP-rute for almindelige Minecraft-forbindelser.
For eksempel, hvis Raknetify2 lytter på UDP 25570, skal du videresende den offentlige UDP-port til serverens lokale adresse på port 25570. Serverens TCP-port kan forblive på 25565. Se indstillinger for direkte serverlytter for at vælge en anden UDP-port.
Send offentlig UDP-trafik til maskinen, der kører Velocity eller BungeeCord med Raknetify2 proxy-pluginet. Brug proxyens RakNet UDP-lytter som viderestillingsdestination. Bevar proxyens eksisterende offentlige TCP-rute for almindelige Minecraft-forbindelser.
Proxyen forbinder til backend Minecraft-servere via TCP. At tilføje Raknetify2 til proxyen kræver ikke, at backend gameplay UDP-porte åbnes for spillere.
| Forbindelse | Adgang tilladelse |
|---|---|
| Spillere til proxien | Offentlig UDP til RakNet-lytteren, plus den eksisterende offentlige TCP-lytter |
| Proxy til backend-servere | Backend Minecraft TCP-porte, kun tilgængelige fra de tilsigtede proxy-hosts |
| Spillere direkte til backend-spilporte | Holdet blokeret, inklusive gennem IPv6 |
Når proxyen og backends kører direkte på en dedikeret maskine, du kontrollerer, kan backend-lyttere bruge loopback-adresser med proxyen konfigureret til at nå dem der. På tværs af maskiner, begræns backend TCP-adgang til proxy-værterne ved hjælp af en firewall eller et isoleret privat netværk. Containere og administrerede værter har brug for tilsvarende begrænsninger for deres netværkslayout. Se Velocity's backend security guide og BungeeCord's firewall guide.
Spillervideresendelse og firewallbegrænsninger arbejder sammen. Direkte backend-adgang kan omgå proxyens login-tjek. For plugin-installation, videresendelsesindstillinger og UDP-port-overskrivninger, følg Velocity and BungeeCord.
Den offentlige port og lytterens port kan være forskellige, når en router oversætter mellem dem:
| Indstilling | Port at bruge |
|---|---|
| Klientserveradresse | Offentlig UDP-port |
| Router-videresendelsesreglens eksterne port | Offentlig UDP-port |
| Router-videresendelsesreglens interne port | RakNet-lytterens UDP-port |
| Værtens firewallens lokale port | RakNet-lytterens UDP-port |
Til hosting bag en IPv4-router:
- Find den lokale IPv4-adresse for maskinen, der modtager RakNet-forbindelser. Brug en DHCP-reservation eller en passende statisk adresse, så videreskrivningsreglen fortsat peger på den maskine.
- Tilføj en UDP-videreskrivningsregel for den offentlige port, spillerne vil bruge.
- Indstil regelens destination til den maskines lokale adresse og RakNet-lytterens UDP-port.
- Tillad indgående UDP på lytterens port i værtens firewall.
For eksempel kan en server, der lytter på UDP-porten 25565, bruge en regel med offentlig port 25565, destinationsadresse 192.168.1.100 og destinationsport 25565. Erstat eksempeladressen med din servers faktiske lokale adresse.
Behold den eksisterende TCP-regel for almindelige Minecraft-forbindelser. En TCP-videresendelsesregel alene bærer ikke UDP.
Undersøg, om en anden router eller din internetudbyder bruger NAT, før trafikken når din router. Hvis du styrer to routere, skal begge videresende porten. Bruger udbyderen operatør-NAT, så spørg efter en offentlig IPv4-adresse, eller brug en vært eller tunnel, der tillader indgående UDP. Din egen router kan ikke konfigurere udbyderens NAT. Se TP-Links vejledning om portvideresendelse om kravet til den offentlige WAN-adresse.
Tillad den valgte UDP-port gennem både routerens IPv6-firewall og værtens firewall. Ret det mod IPv6-adressen på maskinen, der modtager RakNet-forbindelser.
Kontrollér, at domænenavnets IPv6-adresse peger på den maskine. Hvis dens IPv6-adresse ændres, skal DNS-posten og eventuelle adresse-specifikke firewall-regler opdateres.
Et domænenavn, der annoncerer både IPv4- og IPv6-adresser, kræver en fungerende rute for hver annonceret adresse. Kontrollér begge sæt regler, når én spiller kan oprette forbindelse, og en anden ikke kan.
Hvis IPv4-videresendelse ændrer portnummeret, skal du sikre dig, at porten, spillerne indtaster, også når IPv6-lytteren. En IPv4-portoversættelse konfigurerer ikke IPv6-ruten.
Leverandøren eller tunnelen skal understøtte UDP på det offentlige endpoint, du giver spillerne. Tjek dens porttildelinger og netværksfiremurregler samt serverens egen firewall.
Hvis en yderligere UDP-proxy videresender klientadresser ved hjælp af PROXY protocol v2, følg UDP forwarding and PROXY protocol og begræns adgangen til den modtagende UDP-lytter til den betroede proxy.
Forbind fra uden for serverens lokale netværk med en opdateret Raknetify2-klient ved at bruge en adresse som raknet;play.example.com:25565. Brug den offentlige UDP-port i denne adresse.
Brug en ægte RakNet-forbindelse til at verificere ruten. En UDP-scanning, der ikke modtager svar, kan rapportere et uafklaret resultat, fordi en fungerende tjeneste kan kassere en ukendt probe. Nmap's UDP scan documentation forklarer denne adfærd.
En succesfuld TCP-forbindelse bekræfter kun TCP-ruten. Hvis RakNet udløber, skal du tjekke lytteren, videresendingsdestinationen, UDP-porten og firewallreglerne ved hjælp af troubleshooting guide.
Tjek kompatibiliteten for den specifikke udgivelse, du downloader. Udviklingsgrenen kan indeholde understøttelse, der endnu ikke er dukket op i en udgivelse.
Minecraft og Java-versioner · English
Java-kravet erklæret af Raknetify2 er dets minimum. Minecraft eller loaderen kan kræve en nyere runtime. Vælg en Java-version, der opfylder alle tre.
Brug samme Raknetify2-udgivelse på klienten og serveren eller proxyen, der accepterer dens forbindelse, når det er muligt. Tjek udgivelsesnoterne, før du blander udgivelser. Krypterede RakNet-forbindelser kræver understøttelse af det autentificerede krypteringsprotokol på begge sider. Oprindelige Raknetify- og Raknetify2-builds fra før dette protokol blev introduceret, kan ikke etablere disse krypterede forbindelser til opdaterede peers.
Raknetify2 bærer Minecrafters eksisterende spilprotokol. At forbinde forskellige Minecraft-versioner kræver et kompatibelt protokoloversættelsesopsætning.
Ved en fejl i en større modpakke, følg fejlfindingguiden. Inkluder de komplette modversioner i din rapport.
Normalt lader Raknetify2 uafhængige pakke-kanaler fortsætte, mens én kanal venter på manglende data. Ordnet tilstand placerer alle Minecraft-pakker på én kanal, så en manglende pakke blokerer alle senere pakker i den retning, indtil den genudsendes. Dette bevarer rækkefølgen, som nogle anti-cheat-software forventer, men opgiver Raknetify2's evne til at holde urelateret spiltrafik i bevægelse under den ventetid.
-
Installer en Raknetify2-build, der understøtter ordnet tilstand på serveren eller proxien, der accepterer RakNet-forbindelser, og på hver RakNet-klient.
-
Opret
config/raknetify2-compatibility.jsoni forhold til den pågældende servers eller proxys arbejdsmappe. Opretconfig-mappen, hvis den ikke eksisterer. -
Tilføj følgende:
{"mode": "ordered"} -
Genstart serveren eller proxien.
Kunder følger serverens indstillinger automatisk. Spillere behøver ikke at oprette en konfigurationsfil eller ændre deres RakNet-serveradresse.
Alle Minecraft-pakker bruger én pålidelig ordnet kanal i hver retning, inklusive bundel-delimitere og verdensskift.
Når spillere forbinder gennem Velocity eller BungeeCord, skal du konfigurere ordnet tilstand på den proxy, selvom anti-cheaten kører på en backend-server.
Politikken gælder på tværs af backend-switches. I ordnet tilstand videresender proxyen backend keepalive-anmodninger til den rigtige klient i stedet for at besvare dem lokalt.
Ved den første RakNet-forbindelse rapporterer konsollen:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Et succesfuldt kompatibilitetsudveksling logger også ordered compatibility negotiated, efterfulgt af peerens adresse.
Hold anti-cheat-tjek aktiveret og valider din specifikke opsætning.
RakNet-klienter, der ikke understøtter ordnet tilstand, kan ikke forbinde til en server, der kræver det. Opdater Raknetify2 på disse klienter, eller forbind ved hjælp af serverens eller proxyens normale TCP-adresse og port uden raknet;-præfikset.
Skift filen til:
{"mode": "multichannel"}Genstart derefter serveren eller proxien. At fjerne filen genopretter også multichannel-tilstanden efter en genstart.
Filen skal indeholde præcis én indstilling kaldet mode, med enten "ordered" eller "multichannel" som værdi. Værdierne er case-sensitive.
Ugyldig eller ulæselig konfiguration afviser RakNet-forbindelser. Korriger filen og genstart processen.
Hvis konsollen stadig rapporterer multichannel, skal du tjekke, at filen er i serverens eller proxyens arbejdsmappe, der accepterer RakNet-forbindelsen, og derefter genstarte den proces.
Fabric-, Forge- og NeoForge-servere kan vælge RakNet, når de overfører en kapabel klient til en konfigureret destination. Dette bruger Minecrafters indbyggede overførselssupport, introduceret i Java Edition 1.20.5. Tjek, at din Raknetify2-udgivelse understøtter Minecraft-versionen og loaderen i hver ende.
Installer Raknetify2 på sendende server og klient. Destinationen skal levere en kompatibel RakNet-lytter og acceptere indkommende Minecraft-overførsler.
Denne konfiguration gælder for overførsler sendt af de tre mod-loadere ovenfor. Spigot/Paper-, Velocity- og BungeeCord-plugins læser ikke denne overførselsfil.
Opret config/raknetify2-transfers.json i senderserverens mappe:
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Erstat eksempel-hostname og porte med dine destinationsværdier, og genstart derefter senderserveren. Yderligere destinationer føjes til den samme array.
| Felt | Betydning |
|---|---|
host |
Destinationshostname eller IP-adresse, uden transportpræfiks eller port |
tcpPort |
Destinationsport i den oprindelige overførselsanmodning |
udpPort |
Offentlig RakNet-port, som den overførte klient skal kontakte |
TCP- og UDP-portnumrene kan være ens. Hvis en router oversætter UDP-porten, skal du bruge den offentlige port i denne fil. Skriv porte som JSON-tal.
Sender overførsler til destinationens almindelige værtnavn og TCP-port. Raknetify2 tjekker, om klienten annoncerer automatisk-overførselssupport. For en kapabel klient og en matchende destination vælger den den konfigurerede UDP-port. Andre klienter og ikke-matchende destinationer beholder den oprindelige overførselsadresse.
Matchende bruger værtnavnet og TCP-porten fra overførselsanmodningen. Størrelseshævning af værtnavn, et afsluttende DNS-punkt og ækvivalent IPv6-stavemåde normaliseres. DNS-opslag deltager ikke i matchen, så to forskellige værtnavne, der opløses til samme adresse, kræver separate indtastninger. Wildcard-indtastninger understøttes ikke.
For en destination, der bruger Minecraft's server.properties, skal du indstille accepts-transfers=true og genstarte den. En destinationsproxy kan have sin egen overførselsindstilling. Minecraft's standard afviser indgående overførsler, selv når en normal direkte join virker.
Destinationens RakNet-lytter, offentlig UDP-videresendelse og værtens firewall skal allerede være konfigureret. Afsenders serverens overførselsfil vælger adressen sendt til en klient.
Tjek både destinationens IPv4- og IPv6-ruter, når dens hostname publicerer begge adresse-typer. Test en almindelig direkte RakNet-forbindelse til destinationen, før du undersøger automatisk overførselsadfærd.
Behold enhver destinationens login- eller adgangstjek på plads. Denne konfiguration giver ikke spillere adgang eller erstatter serverautentificering.
Manglende felter, ukendte felter, ugyldige porte og duplikerede destinationer forårsager en konfigurationsfejl under initialiseringen. Brug serverloggen til at identificere fejlen, ret JSON'en og genstart.
For at deaktivere automatisk valg, fjern konfigurationsfilen eller brug {"destinations": []}, derefter genstart senderen. Dens overførselsanmodninger vil beholde deres oprindelige adresser.
En UDP-proxy kan videresende RakNet-trafik og bevare den oprindelige klientadresse ved hjælp af PROXY-protokol v2. Aktiver denne funktion, når en upstream UDP-proxy sender disse headers til din lytter. Almindelig routerportvideresendelse kræver det ikke.
På serveren eller Minecraft-proxyen, der modtager den videresendte UDP-trafik, opret config/raknetify2-proxy-protocol.json:
{
"trustedProxies": ["192.0.2.10"]
}Erstat eksemplet med UDP-proxyens faktiske kilde-IP-adresse eller et CIDR-område, du kontrollerer. Adressen skal matche, hvad den modtagende lytter ser efter enhver mellemliggende NAT. IPv4- og IPv6-literaler accepteres. DNS-hostnavne afvises. Genstart den modtagende server eller proxy.
Konfigurer videresendelsesproxyen til at sende PROXY-protokol v2 headers for UDP. Raknetify2 accepterer kun videresendte klientadresser fra de angivne kilder. Direkte RakNet-forbindelser uden disse headers afvises, mens denne konfiguration er aktiveret. TCP-lytteren beholder sin eksisterende konfiguration.
Hver angivet proxy er betroet til at levere klientadresser. Begræns adgangen til backend UDP-porten i din firewall, så kun den tilsigtede proxy kan nå den. Hold de betroede intervaller så snævre som dit netværk tillader.
Filen skal kun indeholde trustedProxies, med mindst én indtastning. En tom array er en fejl. En ugyldig fil forhindrer RakNet-lytteren i at starte.
For at vende tilbage til direkte UDP-forbindelser, fjern filen og genstart lytteren. Opdater upstream-videresendelsesadfærden og firewallreglerne for den nye rute samtidig.
Hvis forbindelser fejler efter aktivering af denne funktion, skal du tjekke proxyens faktiske kildeadresse på backend, det konfigurerede betroede interval og om proxyen udsender UDP PROXY protokol v2-headers.
For Minecraft proxy installation og backend konfiguration, følg Velocity og BungeeCord.
Raknetify2 kan dele sin server UDP-lytter med Simple Voice Chat på Fabric, Forge, NeoForge, Spigot og Paper.
Installer Simple Voice Chat på serveren og på hver klient, der ønsker talechat. Følg dets serveropsætningguide for resten af dets konfiguration.
Brug serverens topniveau config-mappe til Raknetify2's fil, herunder på Spigot/Paper.Simple Voice Chat's egen fil forbliver i den platformspecifikke placering nedenfor.
-
Opret
config/raknetify2-voicechat.jsoni serverens mappe med dette indhold:{"enabled": true} -
Sæt
port=-1i Simple Voice Chat's serverkonfiguration. På modificerede servere er detteconfig/voicechat/voicechat-server.properties, på Spigot/Paper er detplugins/voicechat/voicechat-server.properties. -
Lad
bind_addressvære tom, hvis der er én matchende RakNet lytter. Hvis serveren har flere lyttere på den UDP-port, skal du indstille den til den lokale adresse af lytteren, du vil dele. -
Genstart serveren og kør
/voicechat test <PLAYERNAME>for en tilsluttet afspiller.
Hvis RakNet-lytteren bruger en anden port end Minecraft, skal du indstille stemmen port til den lokale UDP-port eksplicit i stedet for at bruge -1.For eksempel skal en RakNet-lytter på lokal UDP-port 25570 bruge port=25570.
Set voice_host når klienter har brug for en anden offentlig adresse eller port. For en router, der videresender offentlige UDP 25580 til lokal UDP 25570, brug port=25570 og voice_host=play.example.com:25580. Den offentlige adresse hører hjemme i voice_host- Den. bind_address Denne indstilling vælger en lokal lytter.
Raknetify2 stiller den delte UDP-socket til rådighed via API’et i Simple Voice Chat. Simple Voice Chat står for godkendelse og kryptering af taletrafikken. Spillerne kan bruge talechat med både TCP- og RakNet-forbindelser til spillet.
Hold Query og Geyser på separate UDP-porte. Den delte socket integration understøtter kun Simple Voice Chat.
Integrationen deler ikke en stemme-proxy-stikkontakt på Velocity eller BungeeCord. Følg Opsætningsvejledning til Simple Voice Chat's proxy og giv stemmeproxyen sin egen UDP-port. Med det officielle stemmeproxy-plugin skal du indstille enhver offentlig voice_host-tilsidesættelse i proxyens stemmekonfiguration. Dette plugin ignorerer backend-servernes voice_host-indstillinger.
For en generisk UDP-tunnel skal du indstille voice_host til det offentlige værtsnavn og UDP-porten, der videresender til denne server.
Hvis logfilen rapporterer No RakNet listener matches the voice bind address and port, skal du bekræfte, at RakNet er startet korrekt, og at stemmeporten og bindeadressen stemmer overens med den lokale lytter.
Hvis den rapporterer Multiple RakNet listeners match the voice bind address, skal du vælge en specifik matchende lokal adresse i bind_address og genstarte.
Kun et Simple Voice Chat-plugin kan levere sin UDP-socket.Hvis opstart rapporterer, at et andet plugin allerede leverer en socket, skal du vælge, hvilken socketintegration der skal bruges.
For at deaktivere Raknetify2's integration skal du indstille {"enabled": false} i dens stemmekonfiguration eller fjerne filen, give Simple Voice Chat en separat UDP-port, opdatere dens firewall eller viderestillingsregler og genstarte serveren.
Tjek disse i rækkefølge:
- Klienten har den korrekte Raknetify2 mod til sin loader og Minecraft version.
- Serveren eller proxyen, der accepterer forbindelsen, har Raknetify2 installeret og startet uden en lyttefejl.
- Adressen starter med
raknet;og bruger den offentlige UDP-port. - Hostingudbyderen, routeren og værtens firewall tillader alle UDP på den port.
- Værtsnavnets IPv4- og IPv6-adresser fører til den tilsigtede vært og har fungerende firewallregler.
En vellykket TCP-forbindelse bekræfter kun TCP-ruten. Følg Konfiguration af firewall og router for at kontrollere UDP-videresendelse og IPv6-adgang.Hvis PROXY-protokollen er aktiveret, skal klienter nå lytteren via en konfigureret proxy, der er tillid til.
Søg efter en anden proces ved hjælp af UDP-porten. Query, Geyser og andre UDP-tjenester har brug for deres egne porte. Simple Voice Chat kan bruge Integration af delt port.
Du kan vælge en anden lokal UDP-port ved hjælp af Indstillinger for direct-server-lytter eller Indstillinger for Velocity og BungeeCord.Tjek versionskravene for Spigot/Paper-indstillingen. Hvis du kun ændrer en routers offentlige port, forbliver den lokale socketkonflikt på plads.
Opret forbindelse direkte til destinationen ved hjælp af dens raknet;-adresse, og hvis det ikke lykkes, skal du først rette destinationslytteren eller netværksruten.
Hvis direkte forbindelser virker, skal du kontrollere, om destinationen accepterer indgående overførsler. En Minecraft-server, der bruger server.properties, skal bruge accepts-transfers=true. Direkte joinforbindelser tester ikke denne indstilling.
Sammenlign derefter overførselsnavnet og TCP-porten med config/raknetify2-transfers.json på den sendende server. Bekræft, at filen blev indlæst efter en genstart, og at klienten understøtter automatisk RakNet-overførsler. Se Automatic transfers.
Kontroller Raknetify2-versionerne i begge ender af forbindelsen. Opdater klienten og serveren eller proxyen sammen, når en udgivelse ændrer den krypterede protokol. Bevar serverens godkendelsesindstillinger, mens du undersøger.
Optag hvilke handlinger der udløser fejlen, såsom åbning af et inventar, modtagelse af en ressourcepakke, skift af verdener eller spawn af en entitet.Sammenlign den samme handling over TCP og RakNet ved hjælp af en separat testinstallation, når det er praktisk.
Nogle brugerdefinerede payloads afhænger af rækkefølgen af vanilla pakker, mod forfattere kan erklære disse afhængigheder gennem Grænseflade til pakkebestilling.
Åbn et problem i Udgivelsesbemærkninger for Raknetify2 og inkludere:
- Minecraft, Java, loader, og Raknetify2 versioner i begge ender.
- Server og proxy software versioner, herunder enhver UDP videresendelse proxy.
- Andre installerede mods og deres versioner.
- Fremgangsmåder til at genskabe problemet, og hvad du forventede at ske.
- Om de samme trin virker over TCP.
- Relevante klient, server og proxy log uddrag fra samme forsøg.
Fjern adgangstokens, adgangskoder og andre private oplysninger, før du uploader logfiler, og bevar undtagelsesmeddelelserne og staksporinger, der er nødvendige for at diagnosticere problemet.
Raknetify2 lader mods erklære, hvilken Minecraft-trafik skal forblive ordnede med deres brugerdefinerede nyttelast.Brug dette, når håndtering af en nyttelast kræver en enhed, chunk, opgørelse eller anden tilstand etableret af tidligere pakker.
| Gruppe | Relateret trafik |
|---|---|
ui |
Verdensuafhængige menuer og interaktioner |
entity |
Entity spawn, fjernelse og bevægelse |
world_interaction |
Inventarer og andre verden-afhængige interaktioner |
effects |
Lyde og partikler |
chunk |
Terræn, blok og belysning opdateringer |
Alle grupper bevarer pålidelig ordnet levering inden for deres kanal. Pakker i forskellige grupper kan ankomme i forskellig relativ rækkefølge.Vælg den gruppe, der matcher nyttelastets afhængighed.
Tilføj en udbyder under raknetify:packet_channels-indgangspunktet i din mods fabric.mod.json.Udbyderen implementerer Consumer<BiConsumer<String, String>> ved hjælp af JDK-typer.Den modtager en registrator, der accepterer en brugerdefineret payload-identifikator og en bestillingsgruppe.
Flet denne post med dine eksisterende metadata, og erstat klassenavnet med din udbyders fuldt kvalificerede navn:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Behold resten af din fabric.mod.json, herunder dens eksisterende indgangspunkter.Dette er et fragment af metadatafilen.
En udvidelse til enhedsbevægelse kan f.eks. registrere example:entity_path med gruppen entity, mens Dokumentation til PacketOrdering API indeholder implementeringen af udbyderen.
Fabric efterlader dette indgangspunkt upåkaldt, når Raknetify2 Providere bør deklarere identifikatorer og grupper under initialisering uden at være afhængige af at en anden mod har afsluttet sin egen initialisering.
Forge og NeoForge mods, og server eller proxy plugins, kan kalde PacketOrdering.register(identifier, group) under initialisering, når Raknetify2 er tilgængelig.Klassen er com.ishland.raknetify.api.PacketOrdering.Registrer før du accepterer spillerforbindelser, og hold valgfri integrationskode fra at indlæse Raknetify2-klasser, når afhængigheden er fraværende.
Erklæringer gælder for nye forbindelser. Eksisterende forbindelser bevarer de regler, de modtog ved opsætningen. Gentagelse af en identisk erklæring er tilladt. Modstridende grupper for samme identifikator afvises.
Payload-identifikatorer skal bruge et gyldigt brugerdefineret namespace. minecraft-namespace er reserveret. Endepunkt-dækkende grænse er 128 erklæringer, inklusive indbyggede regler og registreringer fra andre mods. Identifikatorer kan indeholde op til 255 ASCII-tegn ved hjælp af API'ens namespaced identifier-syntaks.
Opdaterede RakNet peers udveksler erklæringer under forbindelsesopsætning. En server eller proxy kan bruge en peers erklæring, når den ikke har nogen lokal regel for den pågældende nyttelast. Lokale regler har forrang, og en peers erklæringer forbliver omfanget til den pågællende forbindelse.
Se UDP videresendelse og PROXY protokol for UDP relæer og videresendte klientadresser.
For Minecraft proxy-opsætning, se Velocity og BungeeCord.