Repository navigation
Wiki no no
- Hjem
- Installasjon
- Velocity og BungeeCord
- Brannmur- og ruterkonfigurasjon
- Kompatibilitet
- Ordnet modus
- Automatisk overføring
- UDP-videresending og PROXY-protokoll
- Simple Voice Chat
- Feilsøking
- Mod-integrasjon
- UDP-proxier
Nettverksforbindelser med RakNet for Minecraft-klienter og -tjenere.
| Minecraft | Raknetify2 | Klient / Tjener |
|---|---|---|
| Fabric | mods/raknetify2-fabric-*.jar |
Klient / Tjener |
| Forge | mods/raknetify2-forge-*.jar |
Klient / Tjener |
| NeoForge | mods/raknetify2-neoforge-*.jar |
Klient / Tjener |
| Spigot / Paper | plugins/raknetify2-spigot-*.jar |
Tjener |
| Velocity | plugins/raknetify2-velocity-*.jar |
Velocity |
| BungeeCord | plugins/raknetify2-bungee-*.jar |
BungeeCord |
-
Flerspiller
-
Legg til server
-
Serveradresse
Serveradresse RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Ferdig
-
Kobl til server
| F3 | |
|---|---|
| RakNet · UDP | Aktiv · MTU 1400 |
| TCP | Inaktiv |
- Klient · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- Velocity / BungeeCord → TCP → Tjener
| 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
|
Tjener · 192.0.2.10
|
25570/udp |
Tjener / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| Tjener | 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"]}-
Tjener A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Tjener B ·
play.example.com·server.properties→accepts-transfers=true -
Tjener A ·
/transfer play.example.com 25565 Alex→ Klient (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Innstillinger |
entity |
Skjelett |
world_interaction |
Forråd |
effects |
Partikler |
chunk |
Blokker |
- Fabric ·
compatibility.json·gameVersions/runtimes/depends - Forge / NeoForge / Spigot / Paper · GitHub Releases
Raknetify2 bruker RakNet over UDP når flere spiller Minecraft sammen. Trafikken fordeles på kanaler som hver holder styr på sin egen pakkerekkefølge. Hvis en pakke går tapt på én kanal, kan data fortsatt komme fram på de andre. Dermed kan spillet reagere på det du gjør mens tapte data sendes på nytt eller deler av verdenen overføres.
Raknetify2 er en uavhengig vedlikeholdt forgrening av Raknetify, opprinnelig utviklet av ishland. Forgreningen legger til støtte for nyere Minecraft-versjoner og opprettholder transport-, plattformintegrasjoner og kompatibilitetstester.
- Sjekk kompatibilitet mellom Minecraft og mod.
- Velg en nedlasting og installer den.
- Koble til med en adresse som
raknet;play.example.com.
- Velocity og BungeeCord
- Brannmur- og ruterkonfigurasjon
- Automatisk overføring
- UDP-videresending og PROXY-protokoll
- Deling av en UDP-port med Simple Voice Chat
- Feilsøking og feilrapportering
Modutviklere kan bruke pakkeordningsgrensesnittet til å deklarere avhengigheter mellom egendefinerte nyttelast og Minecraft-trafikk.
Raknetify2 bruker MIT-lisensen og beholder de opprinnelige opphavsrettserklæringene. Nettverksimplementeringen bygger på Raknetify og netty-raknet.
Last ned en utgivelse fra GitHub Releases. Sjekk Minecraft-versjon og loader-krav for den utgivelsen 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 |
Lukk klienten eller stopp serveren før du erstatter JAR-filen. Fjern den originale Raknetify JAR-filen og alle eldre Raknetify2 JAR-filer fra samme installasjon før du legger til den nye filen.
Klientmapper tilhører Minecraft-instansen eller modpakken du kjører. Server- og proxymapper tilhører den server- eller proxyinstallasjonen. Opprett den aktuelle mappen hvis lasteren din ennå ikke har opprettet den.
- Installer klientmodden for din loader.
- Installer den matchende servermodden, eller Spigot/Paper-pluginen på en kompatibel server.
- Følg Brannmur- og ruterkonfigurasjon for å tillate UDP-tilkoblinger til serveren.
- Start på nytt klienten og serveren.
- Legg til en serveradresse som
raknet;play.example.comellerraknet;play.example.com:25565.
Adresser uten raknet;-prefiks bruker TCP.
Å installere kun klientmodden legger ikke til RakNet-støtte til en ekstern server. Serveroperatøren må tilby et RakNet-endepunkt. Spillere som kobler til noen annen sin server trenger vanligvis ingen innkommende rutervideresendingsregler.
Installer den tilsvarende proxy-pluginen og klientmodden. Følg Velocity og BungeeCord for innstillinger for lyttere, bakoverretting, tilgangsbegrensninger og adressen spillerne bør bruke.
For en direkte Minecraft-server, sett det aktuelle Java-argumentet nedenfor. Proxy-administratorer bør bruke Velocity- og BungeeCord-lytterinnstillingene.
| Plattform | Java-argument | Aksepterte porter |
|---|---|---|
| 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 bruker delt lytterkode, så egenskapenavnet deres inneholder også fabric. Erstatt 25570 med ønsket UDP-port.
Spigot / Paper ≥ 0.1.0-beta.1.431
Legg til argumentet før -jar i Java-kommandoen, eller i vertens JVM-argumentfelt. Start serveren på nytt og tillat UDP på den valgte lytteporten. Hvis den offentlige porten også er 25570, koble til med raknet;play.example.com:25570. Hvis en ruter oversetter porten, bruk dens offentlige port i klientadressen. TCP-porten forblir på sin eksisterende verdi.
På Spigot/Paper beholder UDP-lytteren den lokale bindeadressen til Minecraft TCP-lytteren. En ugyldig overstyring eller en okkupert UDP-port forhindrer RakNet i å starte. Sjekk oppstartsloggen for den bundne UDP-adressen og porten. Fjern argumentet og start på nytt for å gå tilbake til TCP-lytterens portnummer.
En ruter eller UDP-proxy kan også eksponere en annen offentlig UDP-port og videresende den til den eksisterende lytteren uten å endre serverens Java-argumenter.
Åpne en vellykket main-kjøring i GitHub Actions og last ned arkivet med dens Artifacts. GitHub krever en konto for å laste ned arbeidsflyt-artefakter. Bruk installasjonstabellen ovenfor til å velge en JAR fra arkivet.
Velocity og BungeeCord sitter mellom spillere og backend Minecraft-servere. Installer Raknetify2 på proxyen og på hver klient som skal koble seg til via RakNet.
Raknetify2 klient --UDP--> Velocity eller BungeeCord --TCP--> backend-server
Backend-serverne trenger ikke Raknetify2 for denne tilkoblingsveien. De trenger fortsatt moddene, pluginene og videresendingsstøtten som kreves av nettverket ditt. Raknetify2 oversetter ikke Minecraft-versjoner eller endrer proxyens kontoutentisering.
- Bekreft at vanlige TCP-tilkoblinger gjennom proxyen din fungerer, inkludert autentisering og bytting mellom backend-servere.
- Stopp proxien og last ned den matchende pluginen fra GitHub Releases.
- Plasser
raknetify2-velocity-*-all.jarellerraknetify2-bungee-*-all.jari proxyensplugins-mappe. Fjern alle eldre Raknetify- eller Raknetify2-plugins fra den mappen. - Installer den aktuelle Raknetify2-klientmodden ved hjelp av installasjonsguiden.
- Sjekk lytterinnstillingene nedenfor, start proxyen på nytt, og inspiser loggen for RakNet-lytterfeil.
- Tillat offentlig UDP-trafikk til proxien og begrens bakendespillportene som beskrevet i Brannmur- og ruterkonfigurasjon.
Bruk kompatible Raknetify2-utgivelser på klienten og proxyen. Sjekk Kompatibilitet før du blander utgivelser.
The bind setter inn velocity.toml velger Velocity's Minecraft lytteadresse og TCP port. Raknetify2 Bruker normalt det samme portnummeret for UDP- Den. [servers] Disse oppføringene identifiserer backend-serverne. Hold disse oppføringene pekende mot backend-serveren. TCP Se alle adresser. Velocity's oppsettsreferanse.
Slik bruker du en separat UDP port, legg til dette JVM argument før -jar i Velocity's oppstartskommando:
-Draknetify.velocity.portOverride=25570
Erstatt 25570 med valgt port. Dette endrer RakNet UDP-porten samtidig som det beholder Velocitys TCP-port og bakendadresser. Start Velocity på nytt etter å ha endret argumentet.
Konfigurer spillervideresending på både Velocity og dens bakender. Bruk moderne videresending når bakend-programvaren støtter det, og hold videresendingshemmeligheten privat. Følg bakend-spesifikke instruksjoner i Velocitys guide for videresending av spillerinformasjon. Behold bakend-brannmurrestriksjonene sammen med videresendingen.
I BungeeCords config.yml identifiserer verdien host under hver listeners-oppføring en Minecraft-lytteadresse og TCP-port. Raknetify2 legger vanligvis til UDP på det portnummeret. servers-oppføringene inneholder bakend-TCP-adresser. Disse innstillingene er beskrevet i BungeeCord konfigurasjonsguide.
For en separat UDP port, legg til dette JVM argument før -jar i BungeeCord's oppstartskommando:
-Draknetify.bungee.portOverride=25570
Overstyringen tilhører hele proxy-prosessen. For en konfigurasjon med flere Minecraft-lyttere, sjekk de faktiske RakNet-endepunktene i oppstartsloggen før du legger til brannmurregler. Start BungeeCord på nytt etter å ha endret argumentet.
Behold kontogodkjenning på proxyen. For Spigot motorer, BungeeCord's Veiledning for IP- videresending par ip_forward: true på mellomtjeneren med settings.bungeecord: true Videresending alene hindrer ikke noen fra å koble seg direkte til en backend. Begrens backend-tilgang ved hjelp av Brannmur- instruksjoner.
Begge proxyoverstyringene aksepterer porter fra 1 til 65534. Ugyldige verdier ignoreres, så bekreft den bundne UDP-porten i oppstartsloggen. Fjern argumentet og start på nytt for å returnere til Minecraft-lytterens portnummer.
Spillere kobler til proxyens offentlige vertsnavn og UDP-port, for eksempel raknet;play.example.com:25570. Når en ruter oversetter porter, bruk dens offentlige UDP-port i klientadressen. Adresser uten raknet;-prefiks fortsetter å bruke proxyens TCP-lytter.
La Query, Geyser og andre UDP-tjenester kjøre på separate UDP-porter. En annen TCP-port løser ikke en UDP-sokkelkonflikt.
Simple Voice Chat bruker sin egen proxy-plugin og UDP-port på Velocity og BungeeCord. Følg veiledningen for stemmechat proxy for den oppsettet.
Hvis en separat UDP-relé sitter foran Minecraft-proxyen din og sender PROXY-protokoll v2-hoder, konfigurer Raknetify2 ved hjelp av UDP-videresending og PROXY-protokoll. Å installere Velocity eller BungeeCord alene krever ikke den konfigurasjonen.
Test fra utenfor ditt lokale nettverk med en Raknetify2-klient. Kobl til via proxyen, bytt mellom backend-serverne du bruker, og bekreft at spilleridentitet og tillatelser forblir korrekte.
- Hvis TCP gjennom proxyen fungerer, men RakNet tidsavbrytes, sjekk proxyens UDP-lytter, offentlig port, IPv4- og IPv6-ruter, og brannmurregler.
- Hvis begge transportene feiler når proxyen kobler seg til en backend, sjekk den backendens TCP-adresse, tilgangsregler og spillervideresendingskonfigurasjon.
- Hvis proxyen rapporterer en okkupert UDP-port, sjekk etter Query, Geyser, en stemmeprotokoll eller en annen prosess som er bundet til den.
For rapporter, inkluder både proxy- og backend-logger fra samme tilkoblingsforsøk. Se Feilsøking for versjonsinformasjonen du skal inkludere.
Denne guiden er for serveradministratorer. Raknetify2 trenger en fungerende UDP-rute til serveren eller en proxy som aksepterer RakNet-tilkoblinger. Standardoppsettet bruker samme portnummer som Minecrafters TCP-lytter.
For spillere på samme lokale nettverk, bruk serverens lokale adresse og tillat UDP gjennom vertens brannmur. Ruterportvideresending er nødvendig når internettrafikk må krysse ruterens IPv4 NAT.
Send offentlig UDP-trafikk til maskinen som kjører Minecraft-serveren med Raknetify2. Destinasjonsporten er den serverens RakNet UDP-lytter. Tillat den porten i vertmaskinens brannmur. Behold dens eksisterende TCP-rute for vanlige Minecraft-tilkoblinger.
For eksempel, hvis Raknetify2 lytter på UDP 25570, videresend den offentlige UDP-porten til serverens lokale adresse på port 25570. Serverens TCP-port kan forbli på 25565. Se innstillinger for direkte serverlytter for å velge en annen UDP-port.
Send offentlig UDP-trafikk til maskinen som kjører Velocity eller BungeeCord med Raknetify2-proxy-pluginen. Bruk proxyens RakNet UDP-lytter som videresendingsdestinasjon. Behold proxyens eksisterende offentlige TCP-rute for vanlige Minecraft-tilkoblinger.
Proxyen kobler seg til bakend Minecraft-servere over TCP. Å legge til Raknetify2 i proxyen krever ikke at bakend spill-UDP-porter åpnes for spillere.
| Tilkobling | Tilgang for å tillate |
|---|---|
| Spillere til proxien | Offentlig UDP til RakNet-lytteren, pluss den eksisterende offentlige TCP-lytteren |
| Proxy til bakend-servere | Bakend Minecraft TCP-porter, kun tilgjengelig fra de tiltenkte proxy-vertene |
| Spillere direkte til bakendspillportene | Hold blokkert, inkludert via IPv6 |
Når proxyen og bakendene kjører direkte på en dedikert maskin du kontrollerer, kan bakendlytterne bruke loopback-adresser med proxyen konfigurert til å nå dem der. Mellom maskiner, begrens bakend-TCP-tilgang til proxy-vertene ved hjelp av en brannmur eller et isolert privat nettverk. Containere og administrerte vertskap trenger tilsvarende begrensninger for nettverkslayouten sin. Se Velocity's backend security guide og BungeeCord's firewall guide.
Spillervideresending og brannmurrestriksjoner fungerer sammen. Direkte bakendtilgang kan omgå proxyens påloggingskontroller. For plugin-installasjon, videresendingsinnstillinger og UDP-portoverstyringer, følg Velocity and BungeeCord.
Den offentlige porten og lytterens port kan være forskjellige når en ruter oversetter mellom dem:
| Innstillinger | Port å bruke |
|---|---|
| Klientserveradresse | Offentlig UDP-port |
| Ekstern port for rutervideringsregel | Offentlig UDP-port |
| Intern port for rutervideringsregel | RakNet-lytterens UDP-port |
| Vertsbrannmurens lokal port | RakNet-lytterens UDP-port |
For hosting bak en IPv4-ruter:
- Finn den lokale IPv4-adressen til maskinen som aksepterer RakNet-tilkoblinger. Bruk en DHCP-reservasjon eller en egnet statisk adresse slik at videregelen fortsetter å peke mot den maskinen.
- Legg til en UDP-videregel for den offentlige porten spillerne vil bruke.
- Sett regelens destinasjon til den maskinens lokale adresse og RakNet-lytterens UDP-port.
- Tillat innkommende UDP på lytterens port i vertens brannmur.
For eksempel kan en server som lytter på UDP-porten 25565 bruke en regel med offentlig port 25565, destinasjonsadresse 192.168.1.100 og destinasjonsport 25565. Erstatt eksempeladressen med din servers faktiske lokale adresse.
Behold den eksisterende TCP-regelen for vanlige Minecraft-tilkoblinger. En TCP-videresendelsesregel alene bærer ikke UDP.
Undersøk om en annen ruter eller internettleverandøren bruker NAT før trafikken når ruteren din. Har du to rutere, må begge videresende porten. Bruker leverandøren operatør-NAT, kan du be om en offentlig IPv4-adresse eller bruke en vert eller tunnel som tar imot UDP utenfra. Din egen ruter kan ikke konfigurere leverandørens NAT. TP-Links veiledning om portvideresending forklarer hvorfor du trenger en offentlig WAN-adresse.
Tillat den valgte UDP-porten gjennom både ruterenes IPv6-brannmur og vertens brannmur. Målrett mot maskinens IPv6-adresse som aksepterer RakNet-tilkoblinger.
Sjekk at vertnavnets IPv6-adresse peker til den maskinen. Hvis IPv6-adressen endres, oppdater DNS-oppføringen og eventuelle adresse-spesifikke brannmurregler.
Et vertnavn som publiserer både IPv4- og IPv6-adresser trenger en fungerende rute for hver annonsert adresse. Sjekk begge sett med regler når én spiller kan koble til og en annen ikke kan.
Hvis IPv4-videresending endrer portnummeret, sørg for at porten spillerne taster inn også når IPv6-lytteren. En IPv4-portoversettelse konfigurerer ikke IPv6-ruten.
Leverandøren eller tunnelen må støtte UDP på det offentlige endepunktet du gir til spillerne. Sjekk porttildelingene og nettverksbrannmurreglene samt serverens egen brannmur.
Hvis en tilleggs UDP-proxy videresender klientadresser ved hjelp av PROXY-protokoll v2, følg UDP-videresending og PROXY-protokoll og begrens tilgangen til den mottakende UDP-lytteren til den betrodde proxyen.
Koble til fra utenfor serverens lokale nettverk med en oppdatert Raknetify2-klient, ved å bruke en adresse som raknet;play.example.com:25565. Bruk den offentlige UDP-porten i denne adressen.
Bruk en ekte RakNet-tilkobling for å bekrefte ruten. En UDP-skanning som ikke mottar svar kan rapportere et uavgjort resultat fordi en fungerende tjeneste kan forkaste en ukjent sonde. Nmap's UDP scan documentation forklarer denne oppførselen.
En vellykket TCP-tilkobling bekrefter kun TCP-ruten. Hvis RakNet tidsavbrytes, sjekk lytteren, videresendingsdestinasjonen, UDP-porten og brannmurreglene ved hjelp av feilsøkingsguiden.
Sjekk kompatibiliteten for den spesifikke utgivelsen du laster ned. Utviklingsgrenen kan inneholde støtte som ennå ikke er dukket opp i en utgivelse.
For Fabric, last ned compatibility.json fra samme utgivelse som JAR-filen. Sjekk Minecraft-versjonen din i gameVersions, og sjekk deretter den relevante oppføringen under runtimes for dens depends-krav. Denne JSON-filen er et referansedokument og trenger ikke å legges i mods-mappen.
For Forge, NeoForge og Spigot/Paper, sjekk versjonskravene som er deklarert av artefaktet og dets nedlastingsliste. Støtte på én loader etablerer ikke støtte på en annen.
Java-kravet erklært av Raknetify2 er minimumskravet. Minecraft eller loaderen kan kreve en nyere kjøretid. Velg en Java-versjon som oppfyller alle tre.
Bruk samme Raknetify2-utgivelse på klienten og serveren eller proxyen som aksepterer tilkoblingen. Sjekk utgivelsesnotatene før du blander utgivelser. Krypterte RakNet-tilkoblinger krever støtte for autentisert krypteringsprotokoll på begge sider. Opprinnelige Raknetify- og Raknetify2-bygg fra før denne protokollen ble introdusert, kan ikke etablere disse krypterte tilkoblingene til oppdaterte parter.
Raknetify2 bærer Minecrafters eksisterende spillprotokoll. Å koble sammen forskjellige Minecraft-versjoner krever et kompatibelt protokolloversettelsessett.
Byggearbeidsflyten build workflow inkluderer kompatibilitetskontroller som involverer Polymer, Krypton, PacketFixer og Fast IP Ping. Disse kontrollene dekker versjonene og kombinasjonene som er valgt av arbeidsflyten. Sjekk byggeresultatene til en utgivelse når du undersøker en bestemt kombinasjon.
Ved feil i en større modpakke, følg feilsøkingsguiden. Inkluder de komplette modversjonene i rapporten din.
Normalt lar Raknetify2 uavhengige pakkekanaler fortsette mens én kanal venter på manglende data. Ordnet modus legger alle Minecraft-pakker på én kanal, så en manglende pakke stopper alle senere pakker i den retningen inntil den blir retransmittert. Dette bevarer rekkefølgen som forventes av noe anti-cheat-programvare, men gir fra seg Raknetify2s evne til å holde urelatert spilltrafikk i bevegelse under den ventetiden.
-
Installer en Raknetify2-bygge som støtter ordnet modus på serveren eller proxien som aksepterer RakNet-tilkoblinger og på hver RakNet-klient.
-
Opprett
config/raknetify2-compatibility.jsonrelativt til den serverens eller proxyens arbeidsmappe. Opprettconfig-mappen hvis den ikke eksisterer. -
Legg til følgende:
{"mode": "ordered"} -
Start på nytt serveren eller proxien.
Klienter følger serverens innstilling automatisk. Spillere trenger ikke å opprette en konfigurasjonsfil eller endre sin RakNet-serveradresse.
Alle Minecraft-pakker bruker én pålitelig ordnet kanal i hver retning, inkludert pakkeavgrensere og verdensoverganger.
Når spillere kobler til via Velocity eller BungeeCord, konfigurer ordnet modus på den proxyen, selv om anti-cheaten kjører på en backend-server.
Retningslinjen gjelder på tvers av backend-svitsjer. I ordnet modus videresender proxyen backend keepalive-forespørsler til den virkelige klienten i stedet for å svare lokalt.
Ved den første RakNet-tilkoblingen rapporterer konsollen:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Et vellykket kompatibilitetsutveksling logger også ordered compatibility negotiated, etterfulgt av peerens adresse.
Hold anti-cheat-kontrollene aktivert og valider din spesifikke oppsett.
RakNet-klienter som ikke støtter ordnet modus kan ikke koble til en server som krever det. Oppdater Raknetify2 på disse klientene, eller koble til ved hjelp av serverens eller proxyens normale TCP-adresse og port uten raknet;-prefiks.
Endre filen til:
{"mode": "multichannel"}Start deretter serveren eller proxien på nytt. Å fjerne filen gjenoppretter også flermodus etter en omstart.
Filen må inneholde nøyaktig én innstilling kalt mode, med enten "ordered" eller "multichannel" som verdi. Verdiene er kasusfølsomme.
Ugyldig eller ulestbar konfigurasjon avviser RakNet-tilkoblinger. Korriger filen og start prosessen på nytt.
Hvis konsollen fortsatt rapporterer multichannel, sjekk at filen er i arbeidsmappen til serveren eller proxyen som aksepterer RakNet-tilkoblingen, og start deretter den prosessen på nytt.
Fabric-, Forge- og NeoForge-servere kan velge RakNet ved overføring av en kapabel klient til et konfigurert mål. Dette bruker Minecrafterens innebygde overføringsstøtte, introdusert i Java Edition 1.20.5. Sjekk at din Raknetify2-utgivelse støtter Minecraft-versjonen og loaderen på hver ende.
Installer Raknetify2 på sendeserveren og klienten. Målet må tilby en kompatibel RakNet-lytter og akseptere innkommende Minecraft-overføringer.
Denne konfigurasjonen gjelder for overføringer sendt av de tre mod-loaderne ovenfor. Spigot/Paper-, Velocity- og BungeeCord-pluginene leser ikke denne overføringsfilen.
Opprett config/raknetify2-transfers.json i senderserverens katalog:
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Erstatt eksempelnavnet og portene med verdiene til destinasjonen din, og start deretter senderserveren på nytt. Ytterligere destinasjoner legges til i samme array.
| Felt | Betydning |
|---|---|
host |
Destinasjonsvertnavn eller IP-adresse, uten transportprefiks eller port |
tcpPort |
Destinasjonsport i den opprinnelige overføringsforespørselen |
udpPort |
Offentlig RakNet-port som den overførte klienten skal kontakte |
TCP- og UDP-portnumrene kan være like. Hvis en ruter oversetter UDP-porten, bruk den offentlige porten i denne filen. Skriv portene som JSON-tall.
Send overføringer til destinasjonens vanlige vertsnavn og TCP-port. Raknetify2 sjekker om klienten annonserer støtte for automatisk overføring. For en kapabel klient og en matchende destinasjon velger den den konfigurerte UDP-porten. Andre klienter og ikke-matchende destinasjoner beholder den opprinnelige overføringsadressen.
Matchende bruker vertsnavnet og TCP-porten fra overføringsforespørselen. Kasus på vertsnavn, et avsluttende DNS-punkt og tilsvarende IPv6-skriving normaliseres. DNS-oppslag deltar ikke i matchende, så to forskjellige vertsnavn som løser til samme adresse krever separate oppføringer. Stjerneoppføringer støttes ikke.
For en destinasjon som bruker Minecraft's server.properties, sett accepts-transfers=true En destinasjonsproxy kan ha sine egne overføringsinnstillinger, og det kan hende at du må konfigurere dem. Minecraft's standard avviser innkommende overføringer, selv når en normal direkte sammenføyning fungerer.
Destinasjonens RakNet-lytter, offentlig UDP-videresending og vertens brannmur må allerede være konfigurert. Avsenderserverens overføringsfil velger adressen som sendes til en klient.
Sjekk både destinasjonens IPv4- og IPv6-ruter når vertnavnet publiserer begge adressetypene. Test en vanlig direkte RakNet-tilkobling til destinasjonen før du undersøker automatisk overførselsatferd.
Behold eventuelle destinasjonsinnloggings- eller adgangssjekker på plass. Denne konfigurasjonen gir ikke spillere tilgang eller erstatter serverautentisering.
Manglende felt, ukjente felt, ugyldige porter og dupliserte destinasjoner forårsaker en konfigurasjonsfeil under initialisering. Bruk serverloggen for å identifisere feilen, korriger JSON-en og start på nytt.
For å deaktivere automatisk valg, fjern konfigurasjonsfilen eller bruk {"destinations": []}, deretter start sendingsserveren på nytt. Dens overføringsforespørsler vil beholde sine opprinnelige adresser.
En UDP-proxy kan videresende RakNet-trafikk og bevare den opprinnelige klientadressen ved hjelp av PROXY-protokoll v2. Aktiver denne funksjonen når en oppstrøms UDP-proxy sender disse hodene til lytteren din. Vanlig ruterportvideresending krever det ikke.
På serveren eller Minecraft-proxyen som mottar den videresendte UDP-trafikken, opprett config/raknetify2-proxy-protocol.json:
{
"trustedProxies": ["192.0.2.10"]
}Erstatt eksemplet med UDP-proxyens faktiske kilde-IP-adresse eller et CIDR-område du kontrollerer. Adressen må samsvare med det mottakende lytteren ser etter eventuell mellomliggende NAT. IPv4- og IPv6-literaler aksepteres. DNS-domener avvises. Start på nytt den mottakende serveren eller proxyen.
Konfigurer videresendingsproxyen til å sende PROXY-protokoll v2-hodene for UDP. Raknetify2 aksepterer kun videresendte klientadresser fra de oppførte kildene. Direkte RakNet-tilkoblinger uten disse hodene blir avvist mens denne konfigurasjonen er aktivert. TCP-lytteren beholder sin eksisterende konfigurasjon.
Hver oppført proxy er betrodd å levere klientadresser. Begrens tilgangen til backend UDP-porten i brannmuren slik at kun den tiltenkte proxyen kan nå den. Hold de betrodde områdene så smale som nettverket ditt tillater.
Filen må kun inneholde trustedProxies, med minst én oppføring. En tom array er en feil. En ugyldig fil forhindrer RakNet-lytteren i å starte.
For å gå tilbake til direkte UDP-tilkoblinger, fjern filen og start lyttaren på nytt. Oppdater oppstrømsvideresendelsesatferden og brannmurreglene for den nye ruten samtidig.
Hvis tilkoblinger feiler etter at denne funksjonen er aktivert, sjekk proxyens faktiske kildeadresse på backend, det konfigurerte betrodde området, og om proxyen sender UDP PROXY-protokoll v2-hoder.
Se Velocity og BungeeCord for å installere Minecraft-proxyen og sette opp de bakenforliggende serverne.
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 som ønsker stemmechat. Følg dens serveroppsettguide for resten av konfigurasjonen.
Bruk serverens toppnivå config-mappe for Raknetify2s fil, inkludert på Spigot/Paper. Simple Voice Chats egen fil forblir i plattformspesifikk plassering nedenfor.
-
Opprett
config/raknetify2-voicechat.jsoni servermappen med dette innholdet:{"enabled": true} -
Sett
port=-1i Simple Voice Chat sin serverkonfigurasjon. På moddede servere er detteconfig/voicechat/voicechat-server.properties. På Spigot/Paper er detplugins/voicechat/voicechat-server.properties. -
La
bind_addressvære tom når det er én som samsvarer med RakNet-lytteren. Hvis serveren har flere lyttere på den UDP-porten, sett den til den lokale adressen til lytteren du vil dele. -
Start serveren på nytt og kjør
/voicechat test <PLAYERNAME>for en tilkoblet spiller.
Hvis RakNet-lytteren bruker en annen port enn Minecraft, sett stemme port til den lokale UDP-porten eksplisitt i stedet for å bruke -1. For eksempel, en RakNet-lytter på lokal UDP-port 25570 trenger port=25570.
Sett voice_host når klienter trenger en annen offentlig adresse eller port. For en ruter som videresender offentlig UDP 25580 til lokal UDP 25570, bruk port=25570 og voice_host=play.example.com:25580. Den offentlige adressen hører hjemme i voice_host. bind_address-innstillingen velger en lokal lytter.
Raknetify2 leverer den delte UDP-sokkelen gjennom Simple Voice Chats API. Simple Voice Chat håndterer stemmeautentisering og kryptering. Spillere kan bruke stemmechat med enten TCP eller RakNet spillforbindelser.
Hold Keep Query og Geyser på separate UDP-porter. Den delte sokkelintegrasjonen støtter kun Simple Voice Chat.
Integrasjonen deler ikke en stemmeprotokoll-sokkel på Velocity eller BungeeCord. Følg Simple Voice Chat sin proxy-oppsettguide og gi stemmeprotokollen sin egen UDP-port. Med den offisielle stemmeprotokoll-pluginen, sett enhver offentlig voice_host-overstyring i proxyens stemmekonfigurasjon. Den pluginen ignorerer backend-serverenes voice_host-innstillinger.
For en generell UDP-tunnel, sett voice_host til det offentlige vertsnavnet og UDP-porten som videresender til denne serveren.
Hvis loggen rapporterer No RakNet listener matches the voice bind address and port, bekreft at RakNet startet vellykket og at stemmeporten og bindeadressen samsvarer med dens lokale lytter.
Hvis den rapporterer Multiple RakNet listeners match the voice bind address, velg en spesifikk matchende lokal adresse i bind_address og start på nytt.
Bare én Simple Voice Chat-plugin kan levere sin UDP-sokkel. Hvis oppstarten rapporterer at en annen plugin allerede leverer en sokkel, velg hvilken sokkelintegrasjon du vil bruke.
Å deaktivere Raknetify2's integrasjon, sett {"enabled": false} i stemmekonfigurasjonen, eller fjern den filen. Gi Simple Voice Chat en separat UDP port, oppdater brannmuren eller videresendingsreglene, og start serveren på nytt.
Sjekk disse i rekkefølge:
- Klienten har riktig Raknetify2-mod for sin loader og Minecraft-versjon.
- Serveren eller proxyen som aksepterer tilkoblingen har Raknetify2 installert og startet uten lytterfeil.
- Adressen starter med
raknet;og bruker den offentlige UDP-porten. - Vertsprovideren, ruteren og vertens brannmur tillater alle UDP på den porten.
- Hostnameets IPv4- og IPv6-adresser leder til den tiltenkte verten og har fungerende brannmurregler.
En vellykket TCP-tilkobling bekrefter kun TCP-ruten. Følg Brannmur- og ruterkonfigurasjon for å sjekke UDP-videresending og IPv6-tilgang. Hvis PROXY-protokollen er aktivert, må klienter nå lytteren via en konfigurert betrodd proxy.
Sjekk for andre prosesser som bruker UDP-porten. Query, Geyser og andre UDP-tjenester trenger sine egne porter. Simple Voice Chat kan bruke delt-port-integrasjonen.
Du kan velge en annen lokal UDP-port ved hjelp av direkte-server-lytterinnstillingene eller Velocity- og BungeeCord-innstillingene. Sjekk versjonskravet for Spigot/Paper-innstillingen. Å endre kun en ruteres offentlige port lar den lokale sokkettkonflikten forbli.
Koble direkte til destinasjonen ved hjelp av dens raknet;-adresse. Hvis det mislykkes, fikser først destinasjonslytteren eller nettverksruten.
Hvis direkte tilkoblinger fungerer, sjekk om destinasjonen aksepterer innkommende overføringer. En Minecraft-server som bruker server.properties trenger accepts-transfers=true. Direkte tilkoblinger tester ikke denne innstillingen.
Sammenlign deretter overføringsnavnet og TCP-porten med config/raknetify2-transfers.json på senderserveren. Bekreft at filen ble lastet etter en omstart og at klienten støtter automatisk RakNet-overføring. Se Automatisk overføring.
Sjekk Raknetify2-versjonene på begge ender av tilkoblingen. Oppdater klienten og serveren eller proxyen samtidig når en utgivelse endrer den krypterte protokollen. Bevar serverens autentiseringsinnstillinger mens du undersøker.
Registrer hvilken handling som utløser feilen, for eksempel å åpne et inventar, motta en ressurspakke, bytte verdener eller sponse en enhet. Sammenlign samme handling over TCP og RakNet ved hjelp av en separat testinstallasjon når det er praktisk.
Noen tilpassede nyttelaster avhenger av rekkefølgen av vanillettpakker. Modutviklere kan deklarere disse avhengighetene gjennom pakkeordningsgrensesnittet.
Åpne en oppgave i Raknetify2-oppfølgingssystemet og inkluder:
- Minecraft-, Java-, loader- og Raknetify2-versjoner på begge sider.
- Server- og proxyprogramvareversjoner, inkludert eventuelle UDP-videresendingsproxyer.
- Andre installerte modifikasjoner og deres versjoner.
- Trinn for å reprodusere problemet og hva du forventet skulle skje.
- Om de samme trinnene fungerer over TCP.
- Relevante utdrag fra klient-, server- og proxy-logger fra samme forsøk.
Fjern tilgangstokener, passord og annen privat informasjon før du laster opp logger. Behold unntakmeldinger og stakkspor som er nødvendige for å diagnostisere problemet.
Raknetify2 lar mods deklarere hvilken Minecraft-trafikk som må forbli ordnet med sine egendefinerte nyttelaster. Bruk dette når håndtering av en nyttelast krever en enhet, chunk, inventar eller annen tilstand etablert av tidligere pakker.
| Gruppe | Relatert trafikk |
|---|---|
ui |
Verdensuavhengige menyer og interaksjoner |
entity |
Entitetsskaping, fjerning og bevegelse |
world_interaction |
Lager og andre verdensavhengige interaksjoner |
effects |
Lyder og partikler |
chunk |
Terreng-, blokk- og lysoppdateringer |
Alle grupper beholder pålitelig ordnet levering innenfor sin kanal. Pakker i forskjellige grupper kan ankomme i en annen relativ rekkefølge. Velg gruppen som samsvarer med nyttelastens avhengighet.
Legg til en leverandør under raknetify:packet_channels entrypoint i din mods fabric.mod.json. Leverandøren implementerer Consumer<BiConsumer<String, String>> ved hjelp av JDK-typer. Den mottar en registrar som aksepterer en tilpasset nyttelastidentifikator og en ordningsgruppe.
Slå sammen denne oppføringen i din eksisterende metadata, og erstatt klassenavn med din leverandørs fullt kvalifiserte navn:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Behold resten av din fabric.mod.json, inkludert dens eksisterende inngangspunkter. Dette er et fragment av metadatafilen.
For eksempel kan en utvidelse for enhetsbevegelse registrere example:entity_path med entity-gruppen. PacketOrdering API-dokumentasjonen inkluderer leverandørimplementeringen.
Fabric lar dette inngangspunktet være uanropet når Raknetify2 mangler. Leverandører bør deklarere identifikatorer og grupper under initialisering uten å stole på at en annen mod har fullført sin egen initialisering.
Forge- og NeoForge-mods, samt server- eller proxy-plugins, kan kalle PacketOrdering.register(identifier, group) under initialisering når Raknetify2 er tilgjengelig. Klassen er com.ishland.raknetify.api.PacketOrdering. Registrer før du aksepterer spillerforbindelser, og hold valgfri integrasjonskode fra å laste Raknetify2-klasser når avhengigheten mangler.
Deklarasjoner gjelder for nye tilkoblinger. Eksisterende tilkoblinger beholder reglene de mottok ved oppsett. Å gjenta en identisk deklarasjon er tillatt. Konflikterende grupper for samme identifikator blir avvist.
Payload-identifikatorer må bruke et gyldig tilpasset namespace. minecraft-namespace er reservert. Grensesnittomfattende grense er 128 deklarasjoner, inkludert innebygde regler og registreringer fra andre mods. Identifikatorer kan inneholde opptil 255 ASCII-tegn ved å bruke APIens namespaced identifier-syntaks.
Oppdaterte RakNet-peers utveksler deklarasjoner under tilkoblingsoppsett. En server eller proxy kan bruke en peers deklarasjon når den ikke har en lokal regel for den payloaden. Lokale regler har forrang, og en peers deklarasjoner forblir avgrenset til den tilkoblingen.
Se UDP-videresending og PROXY-protokoll for UDP-reléer og videresendte klientadresser.
For Minecraft-proxyoppsett, se Velocity og BungeeCord.