Skip to content

Wiki lt lt

pjscruggs edited this page Nov 11, 2026 · 2 revisions

Raknetify2 · Lietuvių (Lietuva)

Kalba

Žaidimas tinkle

„RakNet“ tinklo ryšiai „Minecraft“ klientams ir serveriams.

Atsisiųsti · GitHub

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

Pridėti serverį

  1. Žaidimas tinkle

  2. Pridėti serverį

  3. Serverio adresas

    Serverio adresas
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Atlikta

  5. Prisijungti

F3 · Raknetify2

F3
RakNet · UDP Aktyvus · MTU 1400
TCP Neaktyvus

Velocity / BungeeCord

  1. Klientas · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. Velocity / BungeeCord → TCP → Serveris
Prievado numeris · 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

Susisiekimas užtruko per ilgai

Serverio adresas UDP
raknet;play.example.com:25580 play.example.com:25580 → NAT → 192.0.2.10:25570
Serveris · 192.0.2.10 25570/udp

config/raknetify2-compatibility.json

Serveris / Velocity / BungeeCord

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

Simple Voice Chat

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

Simple Voice Chat · Velocity / BungeeCord

PROXY protocol v2 · UDP

Serverio adresas trustedProxies RakNet
192.0.2.10 · PROXY v2 / UDP ["192.0.2.10"] ✓
192.0.2.11 · PROXY v2 / UDP ["192.0.2.10"] ✗
Klientas → RakNet / UDP ["192.0.2.10"] ✗

config/raknetify2-proxy-protocol.json

{"trustedProxies":["192.0.2.10"]}

Minecraft ≥ 1.20.5 · /transfer

  1. Serveris A · Fabric / Forge / NeoForge · config/raknetify2-transfers.json

    {"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]}
  2. Serveris B · play.example.com · server.properties → accepts-transfers=true

  3. Serveris A · /transfer play.example.com 25565 Alex → Klientas (Alex) → RakNet · play.example.com:25570

PacketOrdering

Minecraft
ui Nustatymai
entity Skeletas
world_interaction Inventorius
effects Dalelyčių
chunk Blokai

PacketOrdering.java

Nesuderinama versija!

Pranešti klaidas

Pagrindinis

Raknetify2

„Raknetify2“ daugelio žaidėjų „Minecraft“ žaidime perduoda duomenis protokolu „RakNet“ per UDP. Srautas padalijamas į kanalus, kurių kiekvienas išlaiko savo paketų eilės tvarką. Jei viename kanale paketas dingsta, kitais kanalais duomenys gali keliauti toliau. Todėl žaidimas gali reaguoti į jūsų veiksmus, kol prarasti duomenys siunčiami iš naujo arba perduodamos pasaulio dalys.

Raknetify2 yra nepriklausomai palaikoma Raknetify šaka, kurią iš pradžių sukūrė ishland. Ši šaka prideda palaikymą naujesnėms Minecraft versijoms ir palaiko transportą, platformos integraciją ir suderinamumo testavimą.

Pradėkite naudotis

  1. Patikrinkite Minecraft ir mod suderinamumą.
  2. Pasirinkite atsisiuntimą ir įdiekite jį.
  3. Prisijunkite su adresu, pvz., raknet;play.example.com.

Serverio vadovai

Mod autoriai gali naudoti paketų užsakymo sąsaja deklaruoti priklausomybes tarp pasirinktinių naudingų krovinių ir Minecraft srauto.

Projekto nuorodos

Raknetify2 naudoja MIT licencija ir išlaiko originalius autorių teisių pranešimus, o tinklo įgyvendinimas remiasi Raknetify ir netty-raknet.

Įrengimas

Atsisiųskite išleidimo versiją iš GitHub Releases. Patikrinkite Minecraft versiją ir krautuvo reikalavimus tam leidimui prieš įdiegdami.

Kur įdiegiate Failas Aplankas
Fabric klientas arba serveris raknetify2-fabric-*.jar mods
Forge klientas arba serveris raknetify2-forge-*.jar mods
NeoForge klientas arba serveris raknetify2-neoforge-*.jar mods
Spigot arba Paper serveris raknetify2-spigot-*.jar plugins
Velocity proxy raknetify2-velocity-*.jar plugins
BungeeCord proxy raknetify2-bungee-*.jar plugins

Prieš pakeisdami JAR, uždarykite klientą arba sustabdykite serverį.Prieš pridėdami naują failą, pašalinkite originalų Raknetify JAR ir bet kokį senesnį Raknetify2 JAR iš to paties įdiegimo.

Kliento aplankai priklauso Minecraft egzemplioriui arba modpack, kurį paleidote. Serverio ir proxy aplankai priklauso serveriui arba proxy įdiegimui. Sukurkite atitinkamą aplanką, jei jūsų įkėlėjas jo dar nesukurė.

Tiesioginis serverio ryšys

  1. Įdiekite kliento mod savo krautuvui.
  2. Įdiekite atitinkamą serverio mod arba Spigot / Paper įskiepį suderinamame serveryje.
  3. Sekite Užkardos ir maršrutizatoriaus konfigūracija, kad leistumėte UDP prisijungti prie serverio.
  4. Iš naujo paleiskite klientą ir serverį.
  5. Įtraukite serverio adresą, pvz., raknet;play.example.com arba raknet;play.example.com:25565.

Adresai be raknet; prefikso naudoja TCP.

Kliento mod įdiegimas neprideda RakNet palaikymo nuotoliniam serveriui, serverio operatorius turi suteikti RakNet galinį tašką. Žaidėjai prisijungę prie kažkieno kito serverio paprastai neturi įeinančios maršrutizatoriaus persiuntimo taisyklės.

Velocity ir BungeeCord

Įdiekite atitinkamą proxy įskiepį ir kliento mod.Sekite Velocity ir BungeeCord klausytojų nustatymams, backend persiuntimui, prieigos apribojimams ir adresui, kurį žaidėjai turėtų naudoti.

Atskiras UDP klausytuvo prievadas

Tiesioginiam Minecraft serveriui nustatykite atitinkamą Java argumentą žemiau. Proxy operatoriai turėtų naudoti Velocity ir BungeeCord klausytojų nustatymai.

Platforma Java argumentas Priimami prievadai
Fabric, Forge arba NeoForge serveris -Draknetify.fabric.portOverride=25570 nuo 1 iki 65534
Spigot arba Paper serveris -Draknetify.spigot.portOverride=25570 nuo 1 iki 65535

Forge ir NeoForge naudoja bendrą klausytuvo kodą, todėl jų savybės pavadinimas taip pat turi fabric, pakeiskite 25570 su pageidaujamu UDP prievadu.

Spigot / Paper ≥ 0.1.0-beta.1.431

Pridėkite argumentą prieš -jar Java komandoje, arba jūsų kompiuterio JVM argumentų lauke. Iš naujo paleiskite serverį ir leiskite UDP pasirinktame klausymo prievade. Jei viešasis prievadas taip pat yra 25570, prisijunkite prie raknet;play.example.com:25570. Jei maršrutizatorius išverčia prievadą, naudokite jo viešąjį prievadą kliento adresu. TCP prievadas lieka esamos reikšmės.

Spigot/Paper, UDP klausytojas išlaiko Minecraft TCP klausytojo vietinį prijungimo adresą. Negaliojantis perrašymas arba užimtas UDP prievadas neleidžia RakNet paleisti. Patikrinkite paleidimo žurnalą dėl prijungto UDP adreso ir prievado. Pašalinkite argumentą ir paleiskite iš naujo, kad grįžtumėte į TCP klausytojo prievado numerį.

Maršrutizatorius arba UDP proxy taip pat gali atskleisti kitą viešą UDP prievadą ir persiųsti jį į esamą klausytuvą nekeičiant serverio Java argumentų.

Plėtros kūrimo darbai

Atidarykite sėkmingą main paleidimą GitHub Actions ir atsisiųskite jo Artifacts archyvą. GitHub reikalauja paskyros, kad atsisiųstų darbo eigos artefaktus. Naudokite aukščiau pateiktą diegimo lentelę, kad pasirinktumėte JAR iš archyvo.

Velocity ir BungeeCord

Velocity ir BungeeCord sėdi tarp žaidėjų ir backend Minecraft serverių.Įdiekite Raknetify2 proxy ir kiekvienam klientui, kuris prisijungs per RakNet.

Raknetify2 · Klientas --UDP--> Velocity / BungeeCord --TCP--> Serveris

Pagrindiniams serveriams nereikia Raknetify2 šiam ryšio maršrutui, jiems vis tiek reikia modifikacijų, įskiepių ir persiuntimo palaikymo, reikalingų jūsų tinklui. Raknetify2 neverčia Minecraft versijų ir nekeičia tarpinio serverio paskyros autentifikavimo.

Įdiekite proxy įskiepį

  1. Patikrinkite, ar veikia įprasti TCP ryšiai per tarpinį serverį, įskaitant autentifikavimą ir perjungimą tarp užpakalinių serverių.
  2. Sustabdyti proxy ir atsisiųsti atitinkamą įskiepį iš GitHub Releases.
  3. Įdėkite raknetify2-velocity-*-all.jar arba raknetify2-bungee-*-all.jar į tarpinio serverio plugins aplanką ir pašalinkite visus senesnius Raknetify arba Raknetify2 įskiepius iš šio aplanko.
  4. Įdiekite atitinkamą Raknetify2 kliento mod naudojant montavimo vadovas.
  5. Patikrinkite toliau pateiktus klausytuvo nustatymus, iš naujo paleiskite tarpinį serverį ir patikrinkite, ar jo žurnale nėra RakNet klausytuvo klaidų.
  6. Leisti viešą UDP srautą į proxy ir apriboti backend žaidimo prievadus, kaip aprašyta Užkardos ir maršrutizatoriaus konfigūracija.

Naudokite suderinamus Raknetify2 leidimus kliente ir proxy. Patikrinkite Suderinamumas prieš maišant leidimus.

Velocity

bind nustatymas velocity.toml parenka Velocity Minecraft klausymosi adresą ir TCP prievadą. Raknetify2 paprastai naudoja tą patį prievado numerį UDP. [servers] įrašai identifikuoja backend serverius. Laikykite šiuos įrašus nukreiptus į backend TCP adresus. Žiūrėkite Velocity konfigūracijos nuoroda.

Norėdami naudoti atskirą UDP prievadą, pridėkite šį JVM argumentą prieš -jar Velocity paleidimo komandoje:

-Draknetify.velocity.portOverride=25570

Pakeiskite 25570 į pasirinktą prievadą. Tai pakeis RakNet UDP prievadą išlaikant Velocity TCP prievadą ir backend adresus. Iš naujo paleiskite Velocity pakeitus argumentą.

Konfigūruoti grotuvo persiuntimo tiek Velocity ir jos backends.Naudokite modernų persiuntimo, kai backend programinė įranga jį palaiko, ir išlaikyti savo persiuntimo slaptažodį privatus.Sekite backend specifinių instrukcijų Velocity Žaidėjo informacijos persiuntimo vadovas.Laikykite backend ugniasienės apribojimus vietoje kartu su persiuntimo.

BungeeCord

BungeeCord config.yml, host reikšmė po kiekvienu listeners įrašu identifikuoja Minecraft klausymosi adresą ir TCP prievadą. Raknetify2 paprastai prideda UDP prie to prievado numerio. servers įrašai turi backend TCP adresus. Šie nustatymai aprašyti BungeeCord konfigūravimo vadovas.

Norėdami atskirti UDP prievadą, pridėkite šį JVM argumentą prieš -jar BungeeCord paleidimo komandoje:

-Draknetify.bungee.portOverride=25570

Perkėlimas priklauso visam tarpinio serverio procesui. Jei konfigūruojama su keliais Minecraft klausytojais, prieš pridėdami užkardos taisykles patikrinkite faktinius RakNet galutinius taškus paleidimo žurnale. Pakeitus argumentą, iš naujo paleiskite BungeeCord.

Išsaugoti sąskaitos autentifikavimą proxy serveryje. Spigot backends, BungeeCord IP peradresavimo vadovas poruoja ip_forward: true proxy serveryje su settings.bungeecord: true backend serveryje. Persiuntimas vien neužkerta kelio kam nors prisijungti tiesiogiai prie backend serverio. Apriboti backend prieigą naudojant Užkardos instrukcijos.

Pasirinkite adresą, kurį naudoja žaidėjai

Abu proxy perrašymai priima prievadus nuo 1 iki 65534. Netinkamos reikšmės ignoruojamos, todėl patikrinkite susietą UDP prievadą paleidimo žurnale. Pašalinkite argumentą ir paleiskite iš naujo, kad grįžtumėte prie Minecraft klausytuvo prievado numerio.

Žaidėjai prisijungia prie proxy viešojo kompiuterio vardo ir UDP prievado, pavyzdžiui raknet;play.example.com:25570. Kai maršrutizatorius išverčia prievadus, kliento adrese naudojamas jo viešasis UDP prievadas. Adresai be raknet; prefikso ir toliau naudoja proxy TCP klausytuvą.

Palikite Query, Geyser ir kitas UDP paslaugas atskiruose UDP prievaduose.Skirtingas TCP prievadas neišsprendžia UDP lizdo konflikto.

Balso pokalbiai ir papildomas UDP persiuntimas

Simple Voice Chat naudoja savo proxy įskiepį ir UDP prievadą Velocity ir BungeeCord.Sekite Balso pokalbių proxy vadovas nustatymus.

Jeigu prieš Minecraft proxy yra atskiras UDP relay ir jis siunčia PROXY protokolo v2 antraštes, sukonfigūruokite Raknetify2 naudodami UDP persiuntimas ir PROXY protokolas.Velocity arba BungeeCord įdiegimui nereikia tokios konfigūracijos.

Patikrinkite ryšį

Išbandykite iš išorės savo vietinio tinklo su Raknetify2 klientu. Prisijunkite per proxy, perjunkite tarp backend serverių, kuriuos naudojate, ir patikrinkite, ar žaidėjo tapatybė ir teisės išlieka teisingos.

  • Jei TCP per tarpinį serverį veikia, bet RakNet baigėsi laikas, patikrinkite tarpinio serverio UDP klausytuvą, viešąjį prievadą, IPv4 ir IPv6 maršrutus ir užkardos taisykles.
  • Jei abu transportai nepavyksta, kai proxy prisijungia prie backend, patikrinkite to backend TCP adresą, prieigos taisykles ir grotuvo persiuntimo konfigūraciją.
  • Jei tarpinis serveris praneša apie užimtą UDP prievadą, patikrinkite, ar nėra Query, Geyser, balso tarpinio serverio ar kito proceso, susieto su juo.

Ataskaitose įtraukite ir tarpinio serverio, ir užpakalinės sistemos žurnalus iš to paties bandymo prisijungti.Žr. Trikčių šalinimas versijos informaciją, kurią reikia įtraukti.

Užkardos ir maršrutizatoriaus konfigūracija

Šis vadovas skirtas serverio operatoriams. Raknetify2 reikia veikiančio UDP maršruto į serverį arba proxy, priimantį RakNet ryšius. Numatytasis nustatymas naudoja tą patį prievado numerį kaip Minecraft TCP klausytojas.

Žaidėjams tame pačiame vietiniame tinkle, naudokite serverio vietinį adresą ir leiskite UDP per savo šeimininko ugniasienę.Maršrutizatoriaus prievadų persiuntimas reikalingas, kai interneto srautas turi pereiti jūsų maršrutizatorius IPv4 NAT.

Pasirinkite paskirties vietą ir uostą

Tiesioginis serveris

Siųsti viešą UDP srautą į mašiną, kurioje veikia Minecraft serveris su Raknetify2. Paskirties prievadas yra to serverio RakNet UDP klausytuvas. Leisti tą prievadą serverio mašinos pagrindiniame užkardoje. Išlaikyti esamą TCP maršrutą įprastiems Minecraft ryšiams.

Pavyzdžiui, jei Raknetify2 klausosi UDP 25570, persiųskite viešą UDP prievadą į serverio vietinį adresą 25570 prievade. Serverio TCP prievadas gali likti 25565. Žiūrėkite direct-server klausytuvo nustatymai, kad pasirinktumėte kitą UDP prievadą.

Velocity arba BungeeCord

Siųsti viešą UDP srautą į mašiną, kurioje veikia Velocity arba BungeeCord su Raknetify2 proxy įskiepiu. Naudokite proxy RakNet UDP klausytuvą kaip persiuntimo vietą. Išlaikyti proxy esamą viešą TCP maršrutą įprastiems Minecraft ryšiams.

Proxy prisijungia prie Minecraft serverių per TCP, o pridėdamas Raknetify2 prie proxy nereikia atidaryti UDP prievadų žaidėjams.

Ryšys Prieiga leisti
Žaidėjai į proxy Viešasis UDP į RakNet klausytuvą, plius esamas viešasis TCP klausytuvas
Proxy į backend serverius Backend Minecraft TCP prievadai, pasiekiami tik iš numatytų proxy kompiuterių
Žaidėjai tiesiogiai į backend žaidimo prievadus Laikykite užblokuotas, įskaitant per IPv6

Kai proxy ir backend veikia tiesiogiai jūsų valdomame specialiame kompiuteryje, backend klausytojai gali naudoti loopback adresus su proxy, sukonfigūruotu pasiekti juos ten. Visuose kompiuteriuose apribokite backend TCP prieigą prie proxy kompiuterių naudodami ugniasienę arba izoliuotą privatų tinklą. Konteineriai ir valdomi kompiuteriai turi atitikti tinklo išdėstymo apribojimus. Žiūrėkite Velocity backend saugumo vadovas ir BungeeCord užkardos vadovas.

Žaidėjo peradresavimas ir ugniasienės apribojimai veikia kartu. Tiesioginė prieiga gali apeiti proxy prisijungimo patikras. Įskiepių diegimui, peradresavimo nustatymams ir UDP prievado pakeitimams sekite Velocity ir BungeeCord.

Viešųjų ir vietinių prievadų numeriai

Viešasis prievadas ir klausytojo prievadas gali skirtis, kai maršrutizatorius verčia tarp jų:

Nustatymas Naudoti prievadas
Kliento serverio adresas Viešasis UDP prievadas
Maršrutizatoriaus peradresavimo taisyklės išorinis prievadas Viešasis UDP prievadas
Maršrutizatoriaus peradresavimo taisyklės vidinis prievadas RakNet klausytuvo UDP prievadas
Pagrindinio kompiuterio užkardos vietinis prievadas RakNet klausytuvo UDP prievadas

IPv4 prievado peradresavimas

Hostingui už IPv4 maršrutizatoriaus:

  1. Suraskite vietinį IPv4 adresą kompiuteryje, priimančiame RakNet ryšius.Naudokite DHCP rezervaciją arba tinkamą statinį adresą, kad persiuntimo taisyklė ir toliau būtų nukreipta į tą kompiuterį.
  2. Pridėkite UDP persiuntimo taisyklę viešajam prievadui, kurį naudosis žaidėjai.
  3. Nustatykite taisyklės paskirties vietą į to kompiuterio vietinį adresą ir RakNet klausytuvo UDP prievadą.
  4. Leisti įeinantį UDP klausytojo prievade pagrindinio kompiuterio užkardoje.

Pavyzdžiui, serveris, klausantis UDP prievado 25565, gali naudoti taisyklę su viešuoju prievadu 25565, paskirties adresu 192.168.1.100 ir paskirties prievadu 25565.Pakeiskite pavyzdinį adresą į faktinį serverio vietinį adresą.

Išlaikyti esamą TCP taisyklę įprastoms Minecraft jungtims. Vien TCP persiuntimo taisyklė neperduoda UDP.

Kai peradresavimas vis tiek nepavyksta

Patikrinkite, ar kitas maršrutizatorius arba jūsų IPT atlieka NAT prieš srautą pasiekiant jūsų maršrutizatorių. Jei valdote du maršrutizatoriumi, persiuntimas turi apimti abu. Jei jūsų IPT naudoja vežėjo lygio NAT, paklauskite, ar jis gali pateikti viešą IPv4 adresą arba naudoti prieglobos paslaugą ar tunelį, palaikantį gaunamą UDP. Jūsų maršrutizatoriaus persiuntimo taisyklė negali sukonfigūruoti IPT NAT. Žr. TP-Link uosto persiuntimo vadovas dėl viešojo WAN adreso reikalavimo.

IPv6 užkardos taisyklės

Leiskite pasirinktą UDP prievado per tiek routerio IPv6 apsaugos sienos ir vartotojo apsaugos sienos. Tikslas yra mašinos IPv6 adresas, kuri priima RakNet ryšius.

Patikrinkite, ar pagrindinio kompiuterio vardo IPv6 adresas nukreipia į tą kompiuterį.Jei jo IPv6 adresas pasikeičia, atnaujinkite DNS įrašą ir visas adreso specifines užkardos taisykles.

Pagrindinio kompiuterio vardas, kuris skelbia ir IPv4 ir IPv6 adresus, turi veikti kiekvienam skelbiamam adresui.Patikrinkite abu taisyklių rinkinius, kai vienas žaidėjas gali prisijungti, o kitas negali.

Jei IPv4 persiuntimas pakeičia prievado numerį, įsitikinkite, kad prievado grotuvai taip pat pasiekia IPv6 klausytuvą.IPv4 prievado vertimas nekonfigūruoja IPv6 maršruto.

Hostingo paslaugų teikėjai ir tuneliai

Teikėjas arba tunelis turi palaikyti UDP viešame galutiniame taške, kurį suteikiate žaidėjams, patikrinkite jo prievadų paskirstymą ir tinklo ugniasienės taisykles, taip pat serverio ugniasienę.

Jei papildomas UDP tarpinis serveris persiunčia kliento adresus naudodamas PROXY protokolo v2 versiją, vykdykite UDP persiuntimas ir PROXY protokolas ir apribokite prieigą prie gaunamo UDP klausyklės patikimam tarpiniam serveriui.

Patikrinkite ryšį

Prisijunkite iš serverio vietinio tinklo su atnaujintu Raknetify2 klientu, naudodami adresą, pvz., raknet;play.example.com:25565.Naudokite viešą UDP prievadą šiame adrese.

Naudokite tikrą RakNet ryšį, kad patikrintumėte maršrutą. UDP nuskaitymas, kuris negauna atsakymo, gali pranešti neįtikinamą rezultatą, nes veikianti tarnyba gali atmesti nežinomą zondą. Nmap UDP nuskaitymo dokumentacija paaiškina šį elgesį.

Sėkmingas TCP ryšys patvirtina tik TCP maršrutą.Jei RakNet laikas baigiasi, patikrinkite klausytuvą, persiuntimo tikslą, UDP prievadą ir užkardos taisykles naudodami Trikčių šalinimo vadovas.

Suderinamumas

Patikrinkite suderinamumą su konkrečia laida, kurią atsisiuntėte.Vystymo šaka gali turėti palaikymą, kuris dar nebuvo pasirodęs laidoje.

Minecraft ir Java versijos

Minecraft ir Java versijos · English

Java reikalavimai, kuriuos deklaruoja Raknetify2, yra minimalūs. Minecraft arba įkėlėjui gali reikėti naujesnės vykdyklės. Pasirinkite Java versiją, kuri atitinka visus tris reikalavimus.

Kliento ir serverio versijos

Naudokite tą pačią Raknetify2 versiją klientui ir serveriui arba tarpiniam serveriui, priimančiam jo ryšį, kai įmanoma. Prieš maišant versijas, patikrinkite versijos pastabas. Šifruotiems RakNet ryšiams reikia autentifikuoto šifravimo protokolo palaikymo abiejuose galuose. Originalios Raknetify ir Raknetify2 versijos, sukurtos prieš protokolo pristatymą, negali sukurti šifruotų ryšių su atnaujintais partneriais.

Raknetify2 naudoja Minecraft žaidimų protokolą, o norint prijungti skirtingas Minecraft versijas reikia suderinamo protokolo vertimo.

Kitos mods

Kitos mods · English

Dėl gedimo didesniame modpack, sekite Trikčių šalinimo vadovas. Įtraukite visas mod versijas į savo ataskaitą.

Užsakytas režimas

Užsakytas režimas

Paprastai Raknetify2 leidžia nepriklausomiems paketų kanalams tęstis, kol vienas kanalas laukia trūkstamų duomenų, o tvarkingas režimas pateikia visus Minecraft paketus viename kanale, todėl trūkstamas paketas sulaiko kiekvieną vėlesnį paketą ta kryptimi, kol jis yra persiunčiamas iš naujo. Tai išsaugo tvarką, kurios tikisi kai kurios anti-cheat programos, bet praranda Raknetify2 galimybę išlaikyti nesusijusių žaidimo srautų judėjimą laukimo metu.

Įgalinti užsakytą režimą

  1. Įdiekite Raknetify2 sukūrimą, kuris palaiko užsakytą režimą serveryje arba tarpiniame serveryje, priimančiame RakNet ryšius, ir kiekviename RakNet kliente.

  2. Sukurkite config/raknetify2-compatibility.json susijusį su tuo serveriu ar proxy dirbojančioji kataloge. Sukurkite config katalogą, jei jis neturime.

  3. Pridėkite šiuos:

    {"mode": "ordered"}
  4. Iš naujo paleiskite serverį arba tarpinį serverį.

Klientai automatiškai seka serverio nustatymus, žaidėjams nereikia kurti konfigūracijos failo ar keisti savo RakNet serverio adreso.

Visi Minecraft paketai naudoja vieną patikimą užsakytą kanalą kiekviena kryptimi, įskaitant paketų atskirtuvus ir pasaulio perėjimus.

Proxy nustatymai

Kai žaidėjai jungiasi per Velocity arba BungeeCord, konfigūruokite užsakytą režimą tame proxy, net jei anti-cheat veikia backend serveryje.

Ši strategija taikoma visiems užpakalinės dalies jungikliams. Užsakytu režimu tarpinis serveris persiunčia užpakalinę dalį, kad išlaikytų gyvas užklausas realiam klientui, o ne atsakytų į jas vietoje.

Nustatymo tikrinimas

Pirmą kartą prijungus RakNet, konsolė praneša:

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

Sėkmingas suderinamumo mainai taip pat registruoja ordered compatibility negotiated, po kurio seka peer adresą.

Laikykite anti-cheat patikras įjungtas ir patvirtinkite savo konkrečią nuostatą.

Vyresnio amžiaus klientai

RakNet Klientai, kurie nepalaiko užsakyto režimo, negali prisijungti prie serverio, kuriam jis reikalingas. Atnaujinti Raknetify2 klientuose arba prisijungti naudojant įprastą serverio arba tarpinio serverio TCP adresą ir prievadą be raknet; prefiksas.

Grįžimas į daugiakanalį režimą

Pakeiskite failą į:

{"mode": "multichannel"}

Tada iš naujo paleiskite serverį arba tarpinį serverį.Pašalinus failą taip pat atkuriamas daugiakanalis režimas po perkrovimo.

Konfigūravimo problemos

Faile turi būti tik vienas nustatymas, pavadintas mode, kurio reikšmė yra "ordered" arba "multichannel".Reikšmės skiriasi nuo didžiųjų ir mažųjų raidių.

Netinkama arba neįskaitoma konfigūracija atmeta RakNet ryšius. Ištaisykite failą ir paleiskite procesą iš naujo.

Jei konsolė vis dar praneša multichannel, patikrinkite, ar failas yra serverio arba tarpinio serverio, priimančio RakNet ryšį, darbo kataloge, tada iš naujo paleiskite šį procesą.

Automatiniai pervedimai

Fabric, Forge ir NeoForge serveriai gali pasirinkti RakNet, kai perkelia klientą į sukonfigūruotą paskirties vietą. Tai naudoja Minecraft vietinį perkėlimo palaikymą, pristatytą Java leidimas 1.20.5. Patikrinkite, ar jūsų Raknetify2 laida palaiko Minecraft versiją ir įkėlėją kiekviename gale.

Įdiekite Raknetify2 siunčiančiame serveryje ir kliente, o paskirties vieta turi pateikti suderinamą RakNet klausytuvą ir priimti gaunamus Minecraft pervedimus.

Ši konfigūracija taikoma perkėlimams, siunčiamiems trijų aukščiau minėtų mod įkėlėjų.Spigot/Paper, Velocity ir BungeeCord įskiepiai neskaito šio perkėlimo failo.

Konfigūruoti siuntimo serverį

Sukurkite config/raknetify2-transfers.json siunčiančio serverio kataloge:

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

Pakeiskite pavyzdinį kompiuterio vardą ir prievadus savo paskirties vietos reikšmėmis, tada iš naujo paleiskite siunčiantį serverį.Papildomi tikslai patenka į tą patį masyvą.

Laukas Reikšmė
host Paskirties kompiuterio vardas arba IP adresas be transporto priešdėlio ar prievado
tcpPort Paskirties uostas pradiniame pervedimo prašyme
udpPort Viešasis RakNet prievadas, prie kurio perkeliamas klientas turėtų prisijungti

TCP ir UDP prievadų numeriai gali būti vienodi. Jeigu maršrutizatorius konvertuoja UDP prievadą, naudokite viešąjį prievadą šiame faile. Įrašykite prievadus kaip JSON numerius.

Siųsti perdavimus į įprastą paskirties kompiuterio vardą ir TCP prievadą. Raknetify2 tikrina, ar klientas skelbia automatinio perdavimo palaikymą. Jei klientas gali ir atitinka paskirties vietą, jis pasirenka sukonfigūruotą UDP prievadą. Kiti klientai ir nesuderintos paskirties vietos išlaiko pradinį perdavimo adresą.

Atitikimas naudoja kompiuterio vardą ir TCP prievadą iš perdavimo užklausos. Kompiuterio vardo didžiosios raidės, paskutinis DNS taškas ir atitinkama IPv6 rašyba yra normalizuojami. DNS paieška nedalyvauja atitikime, todėl du skirtingi kompiuterio vardai, kurie išsprendžia į tą patį adresą, turi atskirus įrašus.

Paskirties vietos nustatymas

Jei paskirties vieta naudoja Minecraft server.properties, nustatykite accepts-transfers=true ir paleiskite jį iš naujo. Paskirties proxy gali turėti savo perdavimo nustatymą. Minecraft numatytasis nustatymas atmeta įeinančius perdavimus, net jei veikia įprastas tiesioginis sujungimas.

Tikslinės RakNet klausytojas, viešasis UDP perjungimas ir vartotojo sienos apsauga turi būti jau nustatyti. Siunčiantys serverio perjungimai pasirinko adresą, siunčiantį klientui.

Patikrinkite tiek paskirties IPv4, tiek IPv6 maršrutus, kai jo kompiuterio vardas skelbia abu adresų tipus.Prieš tiriant automatinio perdavimo elgesį, išbandykite įprastą tiesioginį RakNet ryšį su paskirties vieta.

Išlaikyk bet kokius tikslinės prisijungimo ar įėjimo patikrinimus. Ši konfigūracija neleidžia žaidėjams prieigos ar nepakeičia serverio autentifikacijos.

Konfigūravimo klaidos ir išjungimas

Trūkstantys laukai, nežinomi laukai, netinkami prievadai ir pasikartojančios paskirties vietos sukelia konfigūracijos klaidą inicializavimo metu.Naudokite serverio žurnalą, kad nustatytumėte klaidą, ištaisytumėte JSON ir paleiskite iš naujo.

Norėdami išjungti automatinį pasirinkimą, pašalinkite konfigūracijos failą arba naudokite {"destinations": []}, tada iš naujo paleiskite siunčiantį serverį, kurio perdavimo užklausos išlaikys savo pradinius adresus.

UDP persiuntimas ir PROXY protokolas

UDP tarpinis serveris gali persiųsti RakNet srautą ir išsaugoti pradinį kliento adresą, naudodamas PROXY protokolo v2 versiją. Įjunkite šią funkciją, kai aukštesnio lygio UDP tarpinis serveris siunčia šias antraštes jūsų klausytojui. Įprastas maršrutizatoriaus prievadų persiuntimas to nereikalauja.

Serveryje arba Minecraft proxy, gaunančiam persiunčiamą UDP srautą, sukurkite config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Pakeiskite pavyzdį į faktinį UDP tarpinio serverio IP adresą arba CIDR diapazoną, kurį kontroliuojate. Adresas turi atitikti tai, ką gaunantis klausytojas mato po bet kokio tarpinio NAT. Priimami IPv4 ir IPv6 literalai. DNS kompiuterio vardai atmetami. Iš naujo paleiskite gaunantį serverį arba tarpinį serverį.

Konfigūruoti persiuntimo tarpinį serverį, kad jis siųstų PROXY protokolo v2 antraštes UDP. Raknetify2 priima persiunčiamus kliento adresus tik iš išvardytų šaltinių. Tiesioginiai RakNet ryšiai be šių antraščių yra atmetami, kol ši konfigūracija įjungta. TCP klausytuvas išlaiko esamą konfigūraciją.

Pasitikėjimas ir prieiga

Kiekvienas sąraše esantis tarpinis serveris yra patikimas, kad galėtų pateikti kliento adresus. Užkardoje apribokite prieigą prie vidinio UDP prievado, kad jį galėtų pasiekti tik numatytas tarpinis serveris. Patikimi intervalai turi būti tokie siauri, kiek leidžia jūsų tinklas.

Failas turi turėti tik trustedProxies, su bent vienu įrašu. Tuščias masyvas yra klaida. Netinkamas failas neleidžia RakNet klausyklei paleisti.

Norėdami grįžti prie tiesioginių UDP ryšių, pašalinkite failą ir iš naujo paleiskite klausytuvą.Tuo pačiu metu atnaujinkite viršutinio persiuntimo elgesį ir užkardos taisykles naujam maršrutui.

Jei įgalinus šią funkciją ryšiai nepavyksta, patikrinkite faktinį tarpinio serverio šaltinio adresą užpakalinėje dalyje, sukonfigūruotą patikimą diapazoną ir ar tarpinis serveris siunčia UDP PROXY protokolo v2 antraštes.

Norėdami įdiegti Minecraft proxy ir konfigūruoti backend, sekite Velocity ir BungeeCord.

Simple Voice Chat

Raknetify2 gali pasidalinti savo serverio UDP klausytoju su Simple Voice Chat Fabric, Forge, NeoForge, Spigot ir Paper.

Įdiekite Simple Voice Chat serveryje ir kiekviename kliente, kuris nori balso pokalbių.Sekite jo serverio sąrankos vadovas likusią jo konfigūraciją.

Naudokite serverio aukščiausio lygio config katalogą Raknetify2 failui, įskaitant Spigot / Paper.Simple Voice Chat paties failo lieka konkrečioje platformos vietoje žemiau.

Pasidalinkite žaidimo prievadu

  1. Sukurkite config/raknetify2-voicechat.json serverio kataloge su šiuo turiniu:

    {"enabled": true}
  2. Nustatykite port=-1 Simple Voice Chat serverio konfigūracijoje. Modifikuotuose serveriuose tai yra config/voicechat/voicechat-server.properties, o Spigot/Paper serveriuose tai plugins/voicechat/voicechat-server.properties.

  3. Palikite bind_address tuščią, kai yra vienas atitinkantis RakNet klausytojas.Jei serveris turi kelis klausytojus tame UDP prievade, nustatykite jį į klausytojo, kurį norite bendrinti, vietinį adresą.

  4. Iš naujo paleiskite serverį ir paleiskite /voicechat test <PLAYERNAME> prijungtam grotuvui.

Jei RakNet klausytojas naudoja kitą prievadą nei Minecraft, nustatykite balso port į tą vietinį UDP prievadą aiškiai, o ne naudojant -1.Pavyzdžiui, RakNet klausytojas vietiniame UDP prievade 25570 turi port=25570.

Nustatykite voice_host, kai klientams reikia kito viešojo adreso ar prievado. Jei maršrutizatorius persiunčia viešąjį UDP 25580 į vietinį UDP 25570, naudokite port=25570 ir voice_host=play.example.com:25580. Viešasis adresas priklauso voice_host. bind_address nustatymas parenka vietinį klausytuvą.

Raknetify2 tiekia bendrą UDP lizdą per Simple Voice Chat API. Simple Voice Chat valdo balso autentifikavimą ir šifravimą. Žaidėjai gali naudoti balso pokalbį su TCP arba RakNet žaidimo ryšiais.

Kitos UDP paslaugos ir proxy serveriai

Laikykite "Query" ir "Geyser" atskiruose UDP prievaduose. Bendra lizdo integracija palaiko tik Simple Voice Chat.

Integracija neturi balso proxy lizdo Velocity ar BungeeCord. Sekite Simple Voice Chat proxy nustatymo vadovas ir suteikite balso proxy savo UDP prievadą. Su oficialiu balso proxy įskiepiu, nustatykite bet kokį viešą voice_host perkėlimą proxy balso konfigūracijoje. Šis įskiepis ignoruoja užpakalinių serverių voice_host nustatymus.

Bendrojo UDP tuneliui nustatykite voice_host kaip viešąjį kompiuterio vardą ir UDP prievadą, kuris persiunčia į šį serverį.

Išjungti bendrinimą arba išspręsti lizdo konfliktą

Jei žurnalas praneša No RakNet listener matches the voice bind address and port, patikrinkite, ar RakNet pradėjo sėkmingai ir ar balso prievadas ir susiejimo adresas atitinka vietinį klausytuvą.

Jei jis praneša Multiple RakNet listeners match the voice bind address, pasirinkite konkretų atitinkantį vietinį adresą bind_address ir paleiskite iš naujo.

Tik vienas Simple Voice Chat įskiepis gali tiekti savo UDP lizdą.Jei paleidimo pranešimas praneša, kad kitas įskiepis jau tiekia lizdą, pasirinkite, kurią lizdo integraciją naudoti.

Norėdami išjungti Raknetify2 integraciją, nustatykite {"enabled": false} balso konfigūracijoje arba pašalinkite tą failą, suteikite Simple Voice Chat atskirą UDP prievadą, atnaujinkite savo ugniasienę arba persiuntimo taisykles ir iš naujo paleiskite serverį.

Trikčių šalinimas

TCP veikia, bet RakNet kartais išeina

Patikrinkite juos tokia tvarka:

  1. Klientas turi teisingą Raknetify2 mod jo krautuvas ir Minecraft versija.
  2. Ryšį priimančiame serveryje arba tarpiniame serveryje įdiegta Raknetify2 ir jis paleistas be klausymo klaidos.
  3. Adresas prasideda raknet; ir naudoja viešą UDP prievadą.
  4. Hostingo teikėjas, maršrutizatorius ir pagrindinio kompiuterio užkarda leidžia UDP naudoti tą prievadą.
  5. Pagrindinio kompiuterio vardo IPv4 ir IPv6 adresai nukreipia į numatytą pagrindinį kompiuterį ir turi veikiančias užkardos taisykles.

Sėkmingas TCP ryšys patvirtina tik TCP maršrutą. Sekti Užkardos ir maršrutizatoriaus konfigūracija patikrinti UDP persiuntimo ir IPv6 prieigą. Jei PROXY protokolas yra įjungtas, klientai turi pasiekti klausytuvą per sukonfigūruotą patikimą proxy.

Adresas jau naudojamas

Patikrinkite, ar yra kitas procesas, naudojantis UDP prievadą. Query, Geyser ir kitos UDP paslaugos turi savo prievadus. Simple Voice Chat gali naudoti shared-port integracija.

Galite pasirinkti kitą vietinį UDP prievadą, naudodami direct-server klausytuvo nustatymai arba Velocity ir BungeeCord nustatymai. Patikrinkite Spigot/Paper nustatymo versijos reikalavimus. Pakeitus tik maršrutizatoriaus viešąjį prievadą, vietos lizdo konfliktas liks vietoje.

Prisijungimas veikia, bet perkėlimas nepavyksta

Prisijunkite tiesiogiai prie paskirties vietos naudodami jos raknet; adresą.Jei tai nepavyksta, pirmiausia ištaisykite paskirties klausyklę arba tinklo maršrutą.

Jei veikia tiesioginiai ryšiai, patikrinkite, ar paskirties serveris priima gaunamus perdavimus. Minecraft serveriui, naudojančiam server.properties, reikia accepts-transfers=true. Tiesioginės jungtys netikrina šio parametro.

Tada palyginkite perdavimo kompiuterio vardą ir TCP uostas su config/raknetify2-transfers.json Patikrinkite, ar failas buvo įkeltas po paleidimo iš naujo ir ar klientas palaiko automatinį failo įkėlimą. RakNet pervedimai. Žr. Automatiniai pervedimai.

Šifravimo arba protokolo klaidos

Patikrinkite Raknetify2 versijas abiejuose ryšio galuose. Atnaujinkite klientą ir serverį arba tarpinį serverį kartu, kai laida pakeičia užšifruotą protokolą. Išsaugokite serverio autentifikavimo nustatymus, kol atliekate tyrimą.

Mod-specifiniai gedimai

Įrašykite, koks veiksmas sukėlė klaidą, pavyzdžiui, inventoriaus atidarymas, resursų paketo gavimas, pasaulių keitimas ar subjekto atsiradimas.Palyginkite tą patį veiksmą per TCP ir RakNet, naudodami atskirą testinę įdiegtį, kai tai praktiška.

Kai kurios modifikacijos priklauso nuo paketų tvarkos, o modifikacijų autoriai gali deklaruoti šias priklausomybes per paketų užsakymo sąsaja.

Pranešti apie klaidą

Atidarykite problemą Raknetify2 problemų sekimo priemonė ir įtraukite:

  • Minecraft, Java, krautuvas, ir Raknetify2 versijos abiejuose galuose.
  • Serverio ir proxy programinės įrangos versijos, įskaitant bet UDP persiuntimo proxy.
  • Kiti įdiegti mods ir jų versijos.
  • Veiksmai, kaip atkurti problemą ir tai, ko tikėjotės.
  • Ar tie patys žingsniai veikia per TCP.
  • Atitinkami kliento, serverio ir tarpinio serverio žurnalo ištraukos iš to paties bandymo.

Prieš nusiųsdami žurnalus pašalinkite prieigos raktus, slaptažodžius ir kitą asmeninę informaciją, išsaugokite išimties pranešimus ir stegoselius, reikalingus problemai diagnozuoti.

Mod integracija

Raknetify2 leidžia mods deklaruoti, kuris Minecraft srautas turi likti užsakytas su savo pasirinktiniais naudingomis apkrovomis.Naudokite tai, kai apdorojant naudingą apkrovą reikia subjekto, gabalėlio, inventoriaus ar kitos būsenos, nustatytos ankstesniais paketais.

Grupių užsakymas

Grupė Susijęs srautas
ui Nepriklausomi nuo pasaulio meniu ir sąveika
entity Subjekto atsiradimas, pašalinimas ir judėjimas
world_interaction Inventoriai ir kitos nuo pasaulio priklausomos sąveikos
effects Garsai ir dalelės
chunk Reljefo, blokų ir apšvietimo atnaujinimai

Visos grupės išlaiko patikimą tvarkingą pristatymą savo kanale. Paketai skirtingose grupėse gali atvykti skirtinga santykine tvarka. Pasirinkite grupę, atitinkančią naudingosios apkrovos priklausomybę.

Pasirenkama Fabric integracija

Pridėkite teikėją po raknetify:packet_channels įėjimo tašku jūsų mod fabric.mod.json. Teikėjas įgyvendina Consumer<BiConsumer<String, String>> naudodamas JDK tipus. Jis gauna registratorių, kuris priima pasirinktinį naudingos apkrovos identifikatorių ir užsakymo grupę.

Sujungti šį įrašą į savo esamus metaduomenis, pakeičiant klasės pavadinimą su savo teikėjo pilnai kvalifikuotu pavadinimu:

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

Išsaugokite likusią savo fabric.mod.json dalį, įskaitant jo esamus įėjimo taškus. Tai metaduomenų failo fragmentas.

Pavyzdžiui, subjekto judėjimo plėtinys gali registruoti example:entity_path su entity grupe, o PacketOrdering API dokumentacija apima tiekėjo įgyvendinimą.

Fabric palieka šį entrypoint nenurodytą, kai Raknetify2 Teikėjai turėtų deklaruoti identifikatorius ir grupes inicializavimo metu, nepasikliaudami kitu modu, kuris baigė savo inicializavimą.

Registracijos elgesys

Forge ir NeoForge mods, ir serverio ar proxy įskiepiai, gali skambinti PacketOrdering.register(identifier, group) per inicijavimą, kai Raknetify2 yra prieinamas. klasė yra com.ishland.raknetify.api.PacketOrdering. Registruotis prieš priimant grotuvo jungtis, ir išlaikyti pasirinktinį integracijos kodą nuo įkėlimo Raknetify2 klases, kai priklausomybė nėra.

Deklaracijos taikomos naujiems ryšiams. Esami ryšiai išlaiko taisykles, kurias jie gavo nustatymo metu. Leidžiama kartoti identišką deklaraciją. Konfliktuojančios to paties identifikatoriaus grupės atmetamos.

Naudingosios apkrovos identifikatoriai turi naudoti galiojančią pasirinktinę vardų erdvę. minecraft vardų erdvė yra rezervuota. Galutinio taško riba yra 128 deklaracijos, įskaitant įtaisytąsias taisykles ir registravimą iš kitų modifikacijų. Identifikatoriuose gali būti iki 255 ASCII simbolių, naudojant API vardų erdvės identifikatoriaus sintaksę.

Atnaujinta RakNet lygiaverčiai keičiasi deklaracijomis ryšio nustatymo metu. Serveris arba tarpinis serveris gali naudoti lygiavertį deklaravimą, kai jis neturi vietinės taisyklės tam naudingumui.Vietinės taisyklės turi pirmenybę, o lygiaverčių deklaracijos išlieka to ryšio srityje.

UDP tarpiniai serveriai

Žr. UDP persiuntimas ir PROXY protokolas dėl UDP relės ir persiųstų kliento adresų.

Dėl Minecraft proxy nustatymo, žiūrėkite Velocity ir BungeeCord.

English (US)

Clone this wiki locally