Repository navigation
Wiki sq al
- Shtëpia
- Instalimi
- Velocity dhe BungeeCord
- Konfigurimi i routerit
- Përputhshmëria
- Modë e rregulluar
- Transferime automatike
- Përparaqitja UDP dhe protokolli PROXY
- Simple Voice Chat
- Zgjidh
- Mod integrimi
- Proxy UDP
Lidhje rrjeti përmes RakNet për klientët dhe serverët e Minecraft.
| Minecraft | Raknetify2 | Klienti / Serveri |
|---|---|---|
| Fabric | mods/raknetify2-fabric-*.jar |
Klienti / Serveri |
| Forge | mods/raknetify2-forge-*.jar |
Klienti / Serveri |
| NeoForge | mods/raknetify2-neoforge-*.jar |
Klienti / Serveri |
| Spigot / Paper | plugins/raknetify2-spigot-*.jar |
Serveri |
| Velocity | plugins/raknetify2-velocity-*.jar |
Velocity |
| BungeeCord | plugins/raknetify2-bungee-*.jar |
BungeeCord |
-
Shumëlojtarëshe
-
Shto server të ri
-
Adresa e serverit
Adresa e serverit RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
E kryer
-
Hyr në server
| F3 | |
|---|---|
| RakNet · UDP | Aktiv · MTU 1400 |
| TCP | Joaktiv |
- Klienti · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- Velocity / BungeeCord → TCP → Serveri
| Numri i portit · 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 |
| Adresa e serverit | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Serveri · 192.0.2.10
|
25570/udp |
Serveri / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| Serveri | 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
| Adresa e serverit | trustedProxies |
RakNet |
|---|---|---|
192.0.2.10 · PROXY v2 / UDP |
["192.0.2.10"] |
✓ |
192.0.2.11 · PROXY v2 / UDP |
["192.0.2.10"] |
✗ |
| Klienti → RakNet / UDP | ["192.0.2.10"] |
✗ |
config/raknetify2-proxy-protocol.json
{"trustedProxies":["192.0.2.10"]}-
Serveri A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Serveri B ·
play.example.com·server.properties→accepts-transfers=true -
Serveri A ·
/transfer play.example.com 25565 Alex→ Klienti (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Opsionet |
entity |
Skeleti |
world_interaction |
Inventari |
effects |
Grimcat |
chunk |
Blloqet |
- Fabric ·
compatibility.json·gameVersions/runtimes/depends - Forge / NeoForge / Spigot / Paper · GitHub Releases
Për lojën me shumë lojtarë në Minecraft, Raknetify2 përdor RakNet mbi UDP. Trafiku ndahet në kanale, secili me rendin e vet të paketave. Nëse humbet një paketë në një kanal, të dhënat në kanalet e tjera mund të vazhdojnë të kalojnë. Kështu loja mund t’u përgjigjet veprimeve tuaja ndërkohë që ridërgohen të dhënat e humbura ose transferohen pjesë të botës.
Raknetify2 është një fork i pavarur i Raknetify, fillimisht i zhvilluar nga ishland. Forku shtoi mbështetje për versionet më të reja të Minecraft dhe mban transportin, integrimet e platformës dhe testet e përputhshmërisë.
- Kontrollo përputhshmërinë Minecraft dhe mod.
- Zgjidh një shkarkim dhe instaloje.
- Lidhe me një adresë si
raknet;play.example.com.
- Velocity dhe BungeeCord
- Konfigurimi i routerit
- Transferime automatike
- Përparaqitja UDP dhe protokolli PROXY
- Duke ndarë një portë UDP me Simple Voice Chat
- Zgjidhja e problemeve dhe raportet e gabimeve
Autorët e mod mund të përdorin Interfaqja e rregullimit të paketave për të deklaruar varësitë midis ngarkesave të personalizuara dhe trafikut Minecraft.
Raknetify2 përdor Liçenca MIT dhe ruan njoftimet origjinale të të drejtave të autorit. Zbatimi i saj i rrjetit bazohet në Raknetify dhe netty-raknet.
Shkarko një version nga GitHub Releases. Kontrollo versionin Minecraft dhe kërkesat e ngarkuesit për atë version para instalimit.
| Ku po instaloni | File | Kartela |
|---|---|---|
| Klient apo server Fabric | raknetify2-fabric-*.jar |
mods |
| Klient apo server Forge | raknetify2-forge-*.jar |
mods |
| Klient apo server NeoForge | raknetify2-neoforge-*.jar |
mods |
| Serveri Spigot ose Paper | raknetify2-spigot-*.jar |
plugins |
| Proxy Velocity | raknetify2-velocity-*.jar |
plugins |
| Proxy BungeeCord | raknetify2-bungee-*.jar |
plugins |
Mbylle klientin ose ndalo serverin para se të zëvendësosh JAR e tij. Hiq Raknetify JAR origjinal dhe çdo Raknetify2 JAR të vjetër nga e njëjta instalim para se të shtosh file të ri.
Kartelat e klientëve i përkasin instancës Minecraft apo modpack që nisni. Kartelat e serverit dhe të proxy i përkasin atij serveri apo instalimit të proxy. Krijoni kartelën e duhur nëse ngarkuesi nuk e ka krijuar atë ende.
- Instalo mod-in e klientit për ngarkuesin tënd.
- Instalo mod-in e serverit të përshtatshëm, ose plugin Spigot/Paper në një server të përshtatshëm.
- Ndiq Konfigurimi i routerit për të lejuar lidhjet UDP me serverin.
- Rinis klientin dhe serverin.
- Shto një adresë serveri si
raknet;play.example.comoseraknet;play.example.com:25565.
Adresat pa parashtesën raknet; përdorin TCP.
Instalimi i vetëm i mod-it të klientit nuk shton suportin RakNet tek një server remote. Operatori i serverit duhet të sigurojë një pikë përfundimtare RakNet. Lojtarët që bashkohen me serverin e dikujt tjetër zakonisht nuk kanë nevojë për rregulla të routerit të përcjelljes në hyrje.
Instalo plugin e përshtatshëm proxy dhe mod-in e klientit. Ndiq Velocity dhe BungeeCord për rregullimet e dëgjuesve, përcjelljen e backend, kufizimet e hyrjes dhe adresën që duhet të përdorin lojtarët.
Për një server të drejtpërdrejtë Minecraft, vendos argumentin e duhur Java më poshtë. Operatorët e proxy duhet të përdorin Rregullimet e dëgjuesve Velocity dhe BungeeCord.
| Platforma | Argument Java | Portat e pranuara |
|---|---|---|
| Serveri Fabric, Forge ose NeoForge | -Draknetify.fabric.portOverride=25570 |
1 tek 65534
|
| Serveri Spigot ose Paper | -Draknetify.spigot.portOverride=25570 |
1 tek 65535
|
Forge dhe NeoForge përdorin kodin e përbashkët të dëgjuesve, kështu që emri i pronësisë së tyre përmban gjithashtu fabric. Zëvendëso 25570 me portën e dëshiruar UDP.
Spigot / Paper ≥ 0.1.0-beta.1.431
Shto argumentin përpara -jar në komandën Java, ose në fushën e argumenteve JVM të host. Rinis serverin dhe lejo UDP në portën e zgjedhur të dëgjuesve. Nëse porta publike është gjithashtu 25570, lidhu me raknet;play.example.com:25570. Nëse një router e përkthen portën, përdore portën publike në adresën e klientit. Porta TCP mbetet në vlerën e saj ekzistuese.
Në Spigot/Paper, dëgjuesi UDP mban adresën lokale të lidhur të dëgjuesve Minecraft TCP. Një mbishkrim i pavlefshëm ose një portë UDP e zënë pengon RakNet nga nisja. Kontrollo log-in e nisjes për adresën dhe portën e lidhur UDP. Hiq argumentin dhe rinis për t'u kthyer tek numri i portës së dëgjuesve të TCP.
Një router ose UDP proxy mund gjithashtu të ekspozojë një portë të ndryshme publike UDP dhe ta përcjellë atë tek dëgjuesi ekzistues pa ndryshuar argumentet Java të serverit.
Hap një main të kryer me sukses në GitHub Actions dhe shkarko arkivin e tij Artifacts. GitHub kërkon një llogari për të shkarkuar artefaktet e fluksit të punës. Përdor tabelën e instalimit më lart për të zgjedhur një JAR nga arkivi.
Velocity dhe BungeeCord janë ndërmjet lojtarëve dhe serverëve backend Minecraft. Instalo Raknetify2 në proxy dhe në çdo klient që do të lidhet nëpërmjet RakNet.
Raknetify2 · Klienti --UDP--> Velocity / BungeeCord --TCP--> Serveri
Serverët backend nuk kanë nevojë për Raknetify2 për këtë lidhje. Ata ende kanë nevojë për mods, plugins dhe mbështetjen e përcjelljes të kërkuar nga rrjeti juaj. Raknetify2 nuk përkthen versionet Minecraft apo ndryshon autentifikimin e llogarisë së proxy.
- Konfirmo që lidhjet e zakonshme TCP nëpërmjet proksit tënd punojnë, duke përfshirë autentifikimin dhe ndërrimin midis serverave backend.
- Ndalo proxy dhe shkarko plugin e përshtatshëm nga GitHub Releases.
- Vendos
raknetify2-velocity-*-all.jaroseraknetify2-bungee-*-all.jarnë kartelënpluginstë proxy. Hiq çdo plugin të vjetër Raknetify ose Raknetify2 nga kjo kartelë. - Instalo mod-in e duhur të klientit Raknetify2 duke përdorur Udhëzues instalimi.
- Kontrollo rregullimet e dëgjuesve më poshtë, rinis proxy dhe kontrollo log-in e tij për gabime të dëgjuesve RakNet.
- Lejo trafikun publik UDP tek proxy dhe kufizoje portat e lojës backend siç përshkruhet në Konfigurimi i routerit.
Përdor versionet e përshtatshme Raknetify2 në klient dhe proxy. Kontrollo Përputhshmëria para përzierjes së versioneve.
Rregullimi bind në velocity.toml zgjedh adresën e dëgjimit Minecraft të Velocity dhe portën TCP. Raknetify2 zakonisht përdor të njëjtin numër porte për UDP. Hyrja [servers] identifikon serverat backend. Mbaji këto hyrje të drejtuara drejt adresave backend TCP. Shiko referenca e konfigurimit të Velocity.
Për të përdorur një portë të veçantë UDP, shto këtë argument JVM para -jar në komandën e nisjes së Velocity:
-Draknetify.velocity.portOverride=25570
Zëvendëso 25570 me portën e zgjedhur. Kjo ndryshon portën RakNet UDP ndërsa ruan portën TCP të Velocity dhe adresat e backend. Rinis Velocity pas ndryshimit të argumentit.
Konfiguro përcjelljen e lojtarit si tek Velocity ashtu edhe tek backend-ët e tij. Përdor përcjelljen moderne kur software backend e suporton atë, dhe mbaje sekretin e përcjelljes private. Ndiq udhëzimet specifike të backend-it në udhëzues i përcjelljes së informacioneve të lojtarit të Velocity. Mbaj kufizimet e firewall-it të backend në vend së bashku me përcjelljen.
Në config.yml të BungeeCord, vlera host nën çdo hyrje listeners identifikon një adresë dëgjimi Minecraft dhe një portë TCP. Raknetify2 zakonisht shton UDP në atë numër porte. Hyrja servers mban adresat backend TCP. Këto rregullime janë përshkruar në Udhëzues i konfigurimit të BungeeCord.
Për një portë të veçantë UDP, shto këtë argument JVM para -jar në komandën e nisjes së BungeeCord:
-Draknetify.bungee.portOverride=25570
Mbishkrimi i përket të gjithë procesit të proxy. Për një konfigurim me dëgjues të shumtë Minecraft, kontrolloni pikat përfundimtare aktuale RakNet në log e nisjes para se të shtoni rregullat e firewall. Rinis BungeeCord pas ndryshimit të argumentit.
Ruaj autentifikimin e llogarisë tek proxy. Për backend-ët Spigot, Udhëzues i përcjelljes IP i BungeeCord-së lidh ip_forward: true në proxy me settings.bungeecord: true në backend. Vetëm përcjellja nuk e pengon dikë nga lidhja drejtpërsëdrejti me një backend. Kufizo hyrjen tek backend duke përdorur Instruksionet e firewall.
Të dy mbishkrimet e proxy pranojnë porta nga 1 tek 65534. Vlerat e pavlefshme injorohen, prandaj verifiko portën e lidhur UDP në log e nisjes. Hiq argumentin dhe rinis për t'u kthyer tek numri i portës së dëgjuesit Minecraft.
Lojtarët lidhen me emrin publik të host të proxy dhe portën UDP, për shembull raknet;play.example.com:25570. Kur një router përkthen portat, përdor portën publike UDP në adresën e klientit. Adresat pa parashtesën raknet; vazhdojnë të përdorin dëgjuesin TCP të proxy.
Lë Query, Geyser dhe shërbimet e tjera UDP në porta të veçanta UDP. Një portë e ndryshme TCP nuk zgjidh konfliktin e socket UDP.
Simple Voice Chat përdor plugin e vet proxy dhe portin UDP në Velocity dhe BungeeCord. Ndiq Udhëzim për proxy të chat-it zëror për këtë konfigurim.
Nëse një relay UDP i veçantë qëndron përpara proxy Minecraft dhe dërgon headers e protokollit PROXY v2, konfiguroni Raknetify2 duke përdorur Përparaqitja UDP dhe protokolli PROXY. Instalimi i Velocity ose BungeeCord në vetvete nuk kërkon këtë konfigurim.
Provo jashtë rrjetit lokal me një klient Raknetify2. Bashkohu nëpërmjet proxy, ndërro serverat backend që përdor dhe konfirmo që identiteti dhe të drejtat e lojtarit mbeten korrekte.
- Nëse TCP nëpërmjet proxy punon por RakNet ka kaluar kohën, kontrollo dëgjuesin UDP të proxy, portën publike, rrugët IPv4 dhe IPv6 dhe rregullat e firewall.
- Nëse të dy transportimet dështojnë kur proxy lidhet me një backend, kontrollo adresën TCP të backend, rregullat e aksesit dhe konfigurimin e përcjelljes së lojtarit.
- Nëse proxy raporton një portë UDP të zënë, kontrollo për Query, Geyser, një proxy zëri apo një proces tjetër të lidhur me të.
Për raportet, përfshij të dy log-et proxy dhe backend nga e njëjta përpjekje lidhjeje. Shiko Zgjidh për informacionet e versionit që duhet përfshirë.
Ky udhëzues është për operatorët e serverit. Raknetify2 ka nevojë për një rrugë funksionuese UDP tek serveri ose proxy që pranon lidhje RakNet. Konfigurimi i paracaktuar përdor të njëjtin numër porte si dëgjuesi TCP i Minecraft.
Për lojtarët në të njëjtin rrjet lokal, përdor adresën lokale të serverit dhe lejo UDP të kalojë nëpër firewall e host. Përcjellja e porteve të routerit është e nevojshme kur trafiku interneti duhet të kalojë nëpër IPv4 NAT të routerit tuaj.
Dërgo trafikun publik UDP tek makina që po përdor serverin Minecraft me Raknetify2. Porta e destinacionit është dëgjuesi RakNet UDP i serverit. Lejo këtë portë në firewall e serverit. Mbaje rrugën ekzistuese TCP për lidhjet e zakonshme Minecraft.
Për shembull, nëse Raknetify2 dëgjon në UDP 25570, përcjellë portën publike UDP në adresën lokale të serverit në portën 25570. Porta TCP e serverit mund të qëndrojë në 25565. Shiko Rregullimet e dëgjuesve të serverit për të zgjedhur një portë të ndryshme UDP.
Dërgo trafikun publik UDP tek kompjuteri që po kryen Velocity ose BungeeCord me plugin e proxy Raknetify2. Përdor dëgjuesin RakNet UDP të proxy si destinacion të përcjelljes. Ruaj rrugën ekzistuese publike TCP të proxy për lidhjet e zakonshme Minecraft.
Proxy lidhet me serverat backend Minecraft nëpërmjet TCP. Shtimi i Raknetify2 tek proxy nuk kërkon hapjen e portave UDP të backend të lojës për lojtarët.
| Lidhja | Aksesi për t'u lejuar |
|---|---|
| Lojtarët tek proxy | Publiko UDP tek dëgjuesi RakNet, plus dëgjuesi ekzistues publik TCP |
| Proxy tek serverët backend | Backend Minecraft TCP portat, arrihet vetëm nga proxy hosts e synuar |
| Lojtarët drejtpërsëdrejti tek portat e backend të lojës | Mbaje të bllokuar, duke përfshirë nëpërmjet IPv6 |
Kur proxy dhe backend-et ekzekutohen drejtpërsëdrejti në një makinë të dedikuar që ju kontrolloni, dëgjuesit e backend-it mund të përdorin adresa loopback me proxy-n e konfiguruar për t'i arritur atje. Në mesin e makinave, kufizoni aksesin backend TCP tek host-et proxy duke përdorur një firewall ose një rrjet privat të izoluar. Kontejnerët dhe host-ët e menazhuar kanë nevojë për kufizime ekvivalente për strukturën e tyre të rrjetit. Shiko Udhëzues i sigurisë së backend të Velocity dhe Udhëzues i firewall të BungeeCord.
Përcjellja e lojtarit dhe kufizimet e firewall punojnë së bashku. Hyrja e drejtpërdrejtë në backend mund të anashkalojë kontrollet e hyrjes në proxy. Për instalimin e plugin, rregullimet e përcjelljes dhe mbishkrimet e porteve UDP, ndjek Velocity dhe BungeeCord.
Porta publike dhe porta e dëgjuesit mund të ndryshojnë kur një router përkthen mes tyre:
| Rregullimi | Porta për tu përdorur |
|---|---|
| Adresa e serverit klient | Porti publik UDP |
| Porta e jashtme e rregullit të përcjelljes router | Porti publik UDP |
| Porta e brendshme e rregullit të përcjelljes router | Portë UDP e dëgjuesit RakNet |
| Porta lokale e firewall-it të host | Portë UDP e dëgjuesit RakNet |
Për hosting pas një router IPv4:
- Gjej adresën lokale IPv4 të makinës që pranon lidhje RakNet. Përdor një rezervim DHCP ose një adresë statike të përshtatshme që rregulli i përcjelljes të vazhdojë të synojë atë makinë.
- Shto një rregull përcjelljeje UDP për portën publike që lojtarët do të përdorin.
- Vendos destinacionin e rregullit në adresën lokale të asaj makine dhe portën UDP të dëgjuesve RakNet.
- Lejo UDP në hyrje në portën e dëgjuesit në firewall e host.
Për shembull, një server që dëgjon në portin UDP 25565 mund të përdorë një rregull me portin publik 25565, adresën e destinacionit 192.168.1.100 dhe portin e destinacionit 25565. Zëvendësoni adresën shembulli me adresën lokale reale të serverit tuaj.
Mbaj rregullin ekzistues TCP për lidhjet e zakonshme Minecraft. Një rregull i vetëm i përcjelljes TCP nuk mban UDP.
Kontrollo nëse një router tjetër apo ISP juaj kryen NAT para se trafiku të arrijë tek routeri juaj. Me dy routerë që kontrolloni, përcjellja duhet të mbulojë të dyja. Nëse ISP juaj përdor carrier-grade NAT, pyetni nëse mund të ofrojë një adresë publike IPv4 ose të përdorë një shërbim host ose tunel që suporton UDP në hyrje. Rregulli i përcjelljes i routerit tuaj nuk mund të konfigurohet me NAT të ISP. Shiko Udhëzues për përcjelljen e portave të TP-Link për kërkesën e adresës publike WAN.
Lejo portën UDP të zgjedhur nëpërmjet firewall-it IPv6 të router-it dhe firewall-it të host. Syno adresën IPv6 të makinës që pranon lidhje RakNet.
Kontrollo që adresa IPv6 e host-it të tregojë atë makinë. Nëse adresa IPv6 e tij ndryshon, përditëso regjistrin DNS dhe çdo rregull të firewall-it specifik për adresën.
Një hostname që publikon të dy adresat IPv4 dhe IPv6 ka nevojë për një rrugë funksionuese për çdo adresë të njoftuar. Kontrollo të dy grupet e rregullave kur një lojtar mund të lidhet dhe tjetri jo.
Nëse përcjellja IPv4 ndryshon numrin e portës, sigurohu që portat që luajnë arrijnë edhe tek dëgjuesi IPv6. Një përkthim i portës IPv4 nuk konfiguron rrugën IPv6.
Provideri apo tuneli duhet të suportojë UDP në pikën e fundit publike që ju jepni lojtarëve. Kontrolloni ndarjen e portave dhe rregullat e firewall-it të rrjetit si dhe firewall-in e serverit.
Nëse një proxy shtesë UDP dërgon adresat e klientëve duke përdorur protokollin PROXY v2, ndjek Përparaqitja UDP dhe protokolli PROXY dhe kufizojë hyrjen në dëgjuesin UDP pranues tek proxy i besuar.
Lidhu nga jashtë rrjetit lokal të serverit me një klient të përditësuar Raknetify2, duke përdorur një adresë si raknet;play.example.com:25565. Përdor portën publike UDP në këtë adresë.
Përdor një lidhje reale RakNet për të verifikuar rrugën. Një skanim UDP që nuk merr përgjigje mund të raportojë një rezultat jo përfundimtar sepse një shërbim funksionues mund të heqë një sondë të panjohur. Dokumentacioni i skanimit UDP i Nmap shpjegon këtë sjellje.
Një lidhje e suksesshme TCP konfirmon vetëm rrugën TCP. Nëse RakNet ka kaluar kohën, kontrollo dëgjuesin, destinacionin e përcjelljes, portën UDP dhe rregullat e firewall duke përdorur troubleshooting guide.
Kontrollo përputhshmërinë për lëshimin e veçantë që po shkarkon. Dega e zhvillimit mund të përmbajë mbështetje që nuk është shfaqur ende në një lëshim.
Për Fabric, shkarko compatibility.json nga e njëjta lëshim si JAR. Kontrollo versionin tënd Minecraft në gameVersions, pastaj kontrollo hyrjen përkatëse nën runtimes për kërkesat e depends. Ky file JSON është një dokument referues dhe nuk ka nevojë të shkojë në kartelën mods.
Për Forge, NeoForge dhe Spigot/Paper, kontrollo kërkesat e versionit të deklaruar nga artifakti dhe lista e shkarkimeve të tij. Mbështetja në një ngarkues nuk vendos mbështetjen në një tjetër.
Kërkesa Java e deklaruar nga Raknetify2 është minimumi i saj. Minecraft ose ngarkuesi mund të kërkojë një runtime më të ri. Zgjidh një version Java që përmbush të treja.
Përdor të njëjtin version Raknetify2 në klient dhe server ose proxy që pranon lidhjen e tij kur të jetë e mundur. Kontrollo shënimet e versionit para se të përziesh versionet. Lidhjet e kriptuara RakNet kërkojnë suport për protokollin e kriptimit të autentifikuar në të dyja anët. Ndërtimet origjinale Raknetify dhe Raknetify2 para se të futet ky protokoll nuk mund t'i bëjnë këto lidhje të kriptuara me partnerët e përditësuar.
Raknetify2 mban protokollin ekzistues të lojës Minecraft. Lidhja e versioneve të ndryshme Minecraft kërkon një konfigurim të përkthimit të protokollit të përshtatshëm.
ndërto rrjedhën e punës përfshin kontrollet e përputhshmërisë që përfshijnë Polymer, Krypton, PacketFixer, dhe Fast IP Ping. Këto kontrolle mbulojnë versionet dhe kombinimet e zgjedhura nga rrjedha e punës. Kontrollo rezultatet e ndërtimit të një lëshimi kur heton një kombinim të veçantë.
Për një dështim në një modpack më të madh, ndjek troubleshooting guide. Përfshi versionet e plotë të mod në raportin tënd.
Normalisht, Raknetify2 lejon që kanalet e pavarur të paketave të vazhdojnë ndërsa një kanal pret për të dhënat që mungojnë. Modë e rregulluar vendos të gjitha paketat Minecraft në një kanal, kështu që një paketë që mungon mban çdo paketë të mëvonshme në atë drejtim deri sa të ritransmetohet. Kjo ruan rendin e pritur nga disa programe anti-truajtje, por heq aftësinë e Raknetify2 për të mbajtur trafikun e pa-lidhur të lojës në lëvizje gjatë pritjes.
-
Instalo një build Raknetify2 që suporton modalitetin e rregulluar në server ose proxy që pranon lidhje RakNet dhe në çdo klient RakNet.
-
Krijo
config/raknetify2-compatibility.jsonnë lidhje me directory e serverit apo proxy. Krijo directoryconfignëse nuk ekziston. -
Shto në vijim:
{"mode": "ordered"} -
Rinis serverin apo proxy.
Klientët ndjekin automatikisht rregullimet e serverit. Lojtarët nuk kanë nevojë të krijojnë një file konfigurimi apo të ndryshojnë adresën e serverit RakNet.
Të gjitha paketat Minecraft përdorin një kanal të besueshëm të rregulluar në çdo drejtim, duke përfshirë delimiters bundle dhe tranzicionet botërore.
Kur lojtarët lidhen nëpërmjet Velocity ose BungeeCord, konfiguroni modalitetin e rregulluar në atë proxy, edhe nëse anti-cheat është në serverin backend.
Politika zbatohet në të gjithë switch-et e backend. Në modalitetin e rregulluar, backend i proxy i përcjell kërkesat tek klienti i vërtetë në vend që t'i përgjigjet atyre lokalisht.
Në lidhjen e parë RakNet, konsola raporton:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Një shkëmbim i suksesshëm i përputhshmërisë gjithashtu logs ordered compatibility negotiated, e ndjekur nga adresa e peer.
Mbaje aktive kontrollet anti-truajtje dhe valido konfigurimin tënd të veçantë.
Klientët RakNet që nuk mbështesin modalitetin e rregulluar nuk mund të lidhen me një server që kërkon këtë. Përditëso Raknetify2 në këta klientë, ose lidhu duke përdorur adresën normale TCP të serverit apo të proxy dhe portën pa parashtesën raknet;.
Ndrysho file në:
{"mode": "multichannel"}Pastaj rinis serverin apo proxy. Duke hequr file, rivendos modalitetin me kanale të shumta pas rinisjes.
File duhet të përmbajë saktësisht një rregullim të quajtur mode, me "ordered" ose "multichannel" si vlerë. Vlerat janë të ndjeshme ndaj shkronjave të mëdha/të vogla.
Konfigurimi i pavlefshëm apo i palexueshëm refuzon lidhjet RakNet. Korrigjo file dhe rinis procesin.
Nëse konsola ende raporton multichannel, kontrollo që file është në directory punuese të serverit apo proxy që pranon lidhjen RakNet, pastaj rinis atë proces.
Serverët Fabric, Forge dhe NeoForge mund të zgjedhin RakNet kur transferojnë një klient të aftë në një destinacion të konfiguruar. Kjo përdor suportin e transferimit nativ të Minecraft, të paraqitur në Java Edition 1.20.5. Kontrolloni që versioni juaj Raknetify2 suporton versionin Minecraft dhe ngarkuesin në çdo fund.
Instalo Raknetify2 në serverin dërgues dhe klientin. Destinacioni duhet të ofrojë një dëgjues të përshtatshëm RakNet dhe të pranojë transferimet në hyrje Minecraft.
Ky konfigurim aplikohet tek transferat e dërguar nga tre mod loaders e mësipërme. Plugin-et Spigot/Paper, Velocity dhe BungeeCord nuk e lexojnë këtë file transferash.
Krijo config/raknetify2-transfers.json në directory e serverit dërgues:
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Zëvendëso shembullin e emrit të host dhe portave me vlerat e destinacionit tënd, pastaj rinis serverin dërgues. Destinacionet shtesë shkojnë në të njëjtin array.
| Fusha | Kuptimi |
|---|---|
host |
Emri i host apo adresa IP e destinacionit, pa parashtesë transporti apo portë |
tcpPort |
Destinacioni i portës në kërkesën origjinale të transferimit |
udpPort |
Portë publike RakNet që klienti i transferuar duhet të kontaktojë |
Numrat e portave TCP dhe UDP mund të jenë të njëjtë. Nëse një router përkthen portën UDP, përdore portën publike në këtë file. Shkruaj portat si numra JSON.
Dërgo transferimet tek emri i zakonshëm i host dhe porta TCP e destinacionit. Raknetify2 kontrollon nëse klienti njofton mbështetjen e transferimit automatik. Për një klient të aftë dhe një destinacion të përshtatshëm, zgjedh portën UDP të konfiguruar. Klientët e tjerë dhe destinacionet e papërshtatshme mbajnë adresën origjinale të transferimit.
Përshtatja përdor emrin e host dhe portën TCP nga kërkesa e transferimit. Emri i host me shkronja të mëdha, një pikë përfundimtare DNS dhe ortografia ekvivalente IPv6 janë normalizuar. Kërkimet DNS nuk marrin pjesë në përshtatje, kështu që dy emra të ndryshëm host që zgjidhen në të njëjtën adresë kanë nevojë për hyrje të veçanta. Hyrja me shenja të përshtatshme nuk suportohet.
Për një destinacion që përdor server.properties të Minecraft, vendos accepts-transfers=true dhe rinis atë. Proxy i destinacionit mund të ketë rregullimin e vet të transferimit. Minecraft e paracaktuar refuzon transferimet në hyrje, edhe kur një bashkim i drejtpërdrejtë normal punon.
Dëgjuesi RakNet i destinacionit, përcjellja publike UDP dhe firewall i host duhet të jenë konfiguruar. File i transferimit i serverit dërgues zgjedh adresën e dërguar tek një klient.
Kontrollo të dy rutat IPv4 dhe IPv6 të destinacionit kur emri i tij host publikon të dy llojet e adresave. Testo një lidhje të zakonshme të drejtpërdrejtë RakNet me destinacionin para se të hetosh sjelljen e transferimit automatik.
Mbaj në vend të gjitha kontrollimet e hyrjes apo pranimit të destinacionit. Ky konfigurim nuk i jep lojtarëve mundësinë e hyrjes apo zëvendëson autentifikimin e serverit.
Fushat e munguara, fushat e panjohura, portat e pavlefshme dhe destinacionet e dyfishtë shkaktojnë një gabim konfigurimi gjatë fillimit. Përdor log e serverit për të identifikuar gabimin, korrigjo JSON dhe rinis.
Për të çaktivizuar zgjedhjen automatike, hiq file e konfigurimit ose përdor {"destinations": []}, pastaj rinis serverin dërgues. Kërkesat e transferimit do të mbajnë adresat origjinale.
Një proxy UDP mund të përcjellë trafikun RakNet dhe të ruajë adresën origjinale të klientit duke përdorur protokollin PROXY v2. Aktivo këtë funksion kur një proxy UDP i dërgon këto headers dëgjuesve tuaj. Përcjellja e zakonshme e portave të routerit nuk e kërkon këtë.
Në server ose Minecraft proxy duke marrë trafikun UDP, krijo config/raknetify2-proxy-protocol.json:
{
"trustedProxies": ["192.0.2.10"]
}Zëvendëso shembullin me adresën IP të burimit aktual të proxy UDP ose një interval CIDR që ju kontrolloni. Adresa duhet të përputhej me atë që dëgjuesi pranues sheh pas çdo ndërhyrjeje NAT. Literaturat IPv4 dhe IPv6 pranohen. Emrat e host DNS refuzohen. Rinis serverin apo proxy pranues.
Konfiguro proxy-n e përcjelljes për të dërguar header-ët e protokollit PROXY v2 për UDP. Raknetify2 pranon adresat e klientëve të përcjellura vetëm nga burimet e listuara. Lidhjet e drejtpërdrejta RakNet pa këto header-ë refuzohen ndërsa ky konfigurim është aktivuar. Dëgjuesi TCP ruan konfigurimin e tij ekzistues.
Çdo proxy në listë është i besuar për të furnizuar adresat e klientëve. Kufizo hyrjen tek porta backend UDP në firewall e tij në mënyrë që vetëm proxy e synuar të arrijë tek ajo. Mbaj intervalet e besuar sa më të ngushta që të lejojë rrjeti yt.
File duhet të përmbajë vetëm trustedProxies, me të paktën një hyrje. Një array bosh është një gabim. Një file i pavlefshëm e pengon dëgjuesin RakNet nga nisja.
Për t'u kthyer tek lidhjet e drejtpërdrejta UDP, hiq file dhe rinis dëgjuesin. Përditëso sjelljen e përcjelljes dhe rregullat e firewall për rrugën e re në të njëjtën kohë.
Nëse lidhja dështon pas aktivizimit të këtij funksioni, kontrollo adresën aktuale të burimit të proxy në backend, intervalin e konfiguruar të besueshëm dhe nëse proxy lëshon headers e protokollit UDP PROXY v2.
Për instalimin e Minecraft proxy dhe konfigurimin e backend, ndjek Velocity dhe BungeeCord.
Raknetify2 mund të ndajë serverin e tij UDP dëgjues me Simple Voice Chat në Fabric, Forge, NeoForge, Spigot, dhe Paper.
Instalo Simple Voice Chat në server dhe në çdo klient që dëshiron bisedë me zë. Ndiq serveri për pjesën tjetër të konfigurimit.
Përdor directory config të nivelit të lartë të serverit për file të Raknetify2, duke përfshirë Spigot/Paper. File i Simple Voice Chat mbetet në pozicionin e platformës specifike më poshtë.
-
Krijo
config/raknetify2-voicechat.jsonnë directory e serverit me këtë përmbajtje:{"enabled": true} -
Vendos
port=-1në konfigurimin e serverit Simple Voice Chat. Në serverat e modifikuar, ky ështëconfig/voicechat/voicechat-server.properties. Në Spigot/Paper, ky ështëplugins/voicechat/voicechat-server.properties. -
Lëre
bind_addressbosh kur ekziston një dëgjues RakNet i përshtatshëm. Nëse serveri ka dëgjues të shumtë në atë portë UDP, vendose atë në adresën lokale të dëgjuesit që dëshiron të ndash. -
Rinis serverin dhe kryej
/voicechat test <PLAYERNAME>për një lojtar të lidhur.
Nëse dëgjuesi RakNet përdor një portë të ndryshme nga Minecraft, vendos zërin port në atë portë lokale UDP në vend të përdorimit të -1. Për shembull, një dëgjues RakNet në portën lokale UDP 25570 ka nevojë për port=25570.
Vendos voice_host kur klientët kanë nevojë për një adresë apo portë të ndryshme publike. Për një router që përcjell UDP 25580 publik tek UDP 25570 lokal, përdor port=25570 dhe voice_host=play.example.com:25580. Adresa publike i takon voice_host. Vendosja bind_address zgjedh një dëgjues lokal.
Raknetify2 furnizon socket e përbashkët UDP nëpërmjet API të Simple Voice Chat. Simple Voice Chat trajton autentifikimin e zërit dhe kriptimin. Lojtarët mund të përdorin bisedën me zë me lidhjet TCP ose RakNet.
Mbaj Query dhe Geyser në porta të veçanta UDP. Integrimi i socket të përbashkët suporton vetëm Simple Voice Chat.
Integrimi nuk ndan një socket proxy zëri në Velocity apo BungeeCord. Ndiq Udhëzues i konfigurimit të proxy të Simple Voice Chat dhe jep proxy zërit portën e vet UDP. Me plugin zyrtar të proxy zërit, vendos çdo mbishkrim publik voice_host në konfigurimin e zërit të proxy. Ky plugin injoron rregullimet voice_host të serverëve backend.
Për një tunel të përgjithshëm UDP, vendos voice_host në emrin publik të host dhe portën UDP që përcjell në këtë server.
Nëse log raporton No RakNet listener matches the voice bind address and port, konfirmo që RakNet filloi me sukses dhe që porta e zërit dhe adresa e lidhjes përputhen me dëgjuesin e saj lokal.
Nëse raporton Multiple RakNet listeners match the voice bind address, zgjedh një adresë lokale të përshtatshme në bind_address dhe rinis.
Vetëm një plugin Simple Voice Chat mund të furnizojë socket UDP të tij. Nëse nisja raporton se një plugin tjetër furnizon tashmë një socket, zgjedh se cili integrim socket do të përdoret.
Për të ç'aktivuar integrimin e Raknetify2, vendos {"enabled": false} në konfigurimin e zërit të tij ose hiq atë file. Jepi Simple Voice Chat një portë të veçantë UDP, përditëso firewall-in apo rregullat e përcjelljes dhe rinis serverin.
Kontrollo këto në këtë renditje:
- Klienti ka mod korrekt Raknetify2 për ngarkuesin e tij dhe versionin Minecraft.
- Serveri ose proxy që pranon lidhjen ka Raknetify2 të instaluar dhe të nisur pa një gabim dëgjuesi.
- Adresa fillon me
raknet;dhe përdor portin publik UDP. - Host provider, router, dhe host firewall të gjitha lejojnë UDP në atë portë.
- IPv4 dhe IPv6 adresat e emrit të host-it të çojnë në host-in e synuar dhe kanë rregullat e firewall-it që punojnë.
Një lidhje e suksesshme TCP konfirmon vetëm rrugën TCP. Ndiq Konfigurimi i routerit për të kontrolluar përcjelljen UDP dhe hyrjen IPv6. Nëse protokolli PROXY është aktivuar, klientët duhet të arrijnë dëgjuesin nëpërmjet një proxy të konfiguruar të besuar.
Kontrollo për një proces tjetër duke përdorur portin UDP. Query, Geyser dhe shërbimet e tjera UDP kanë nevojë për portat e tyre. Simple Voice Chat mund të përdorë integrimi i portës së përbashkët.
Mund të zgjedhësh një portë tjetër lokale UDP duke përdorur Rregullimet e dëgjuesve të serverit ose Rregullimet e Velocity dhe BungeeCord. Kontrollo kërkesat e versionit për rregullimin Spigot/Paper. Ndryshimi i vetëm i portës publike të routerit do të lërë konfliktin e socket lokale në vend.
Lidhu drejtpërsëdrejti me destinacionin duke përdorur adresën raknet; të tij. Nëse kjo dështon, rregullo së pari dëgjuesin e destinacionit ose rrugën e rrjetit.
Nëse funksionojnë lidhjet e drejtpërdrejta, kontrollo nëse destinacioni pranon transferimet në hyrje. Një server Minecraft që përdor server.properties ka nevojë për accepts-transfers=true. Bashkëpunimet e drejtpërdrejtë nuk e testojnë këtë rregullim.
Pastaj krahaso emrin e host-it të transferimit dhe portën TCP me config/raknetify2-transfers.json në serverin dërgues. Konfirmo që file është ngarkuar pas një rinisjeje dhe që klienti suporton transferimet automatike RakNet. Shiko Transferime automatike.
Kontrollo versionet Raknetify2 në të dyja anët e lidhjes. Përditëso klientin dhe serverin ose proxy së bashku kur një lëshim ndryshon protokollin e kriptuar. Ruaj rregullimet e autentifikimit të serverit gjatë hetimit.
Regjistro veprimin që shkakton dështimin, si hapja e një inventari, marrja e një paketë burimesh, ndryshimi i botës apo krijimi i një entiteti. Krahaso të njëjtin veprim mbi TCP dhe RakNet duke përdorur një instalim të veçantë testimi kur është praktike.
Disa nga ngarkimet e personalizuara varen nga renditja e paketave vanilla. Autorët e mod mund t'i deklarojnë këto varësi nëpërmjet Interfaqja e rregullimit të paketave.
Hape një çështje në Raknetify2 issue tracker dhe përfshi:
- Minecraft, Java, loader, dhe Raknetify2 versionet në të dyja anët.
- Serveri dhe versionet e softuerit proxy, duke përfshirë çdo UDP forwarding proxy.
- Mods të tjerë të instaluar dhe versionet e tyre.
- Hapat për të riprodhuar problemin dhe atë që pritej të ndodhte.
- Nëse të njëjtat hapa funksionojnë mbi TCP.
- Klient i përshtatshëm, server dhe proxy log përmbledhje nga e njëjta përpjekje.
Hiq token e hyrjes, fjalëkalimin dhe informacionet e tjera private para se të ngarkosh log-in. Ruaj mesazhet e përjashtimit dhe gjurmët e stivës të nevojshme për të diagnostikuar problemin.
Raknetify2 lejon mods të deklarojnë se trafiku Minecraft duhet të mbetet i rregulluar me ngarkesat e tyre të personalizuara. Përdor këtë kur trajtimi i një ngarkese kërkon një entitet, copë, inventarë, ose gjendje tjetër të vendosur nga paketat e mëparshme.
| Grupi | Traffic i lidhur |
|---|---|
ui |
Menu dhe ndërveprime të pavarura nga bota |
entity |
Shfaqja, heqja dhe lëvizja e entitetit |
world_interaction |
Inventari dhe ndërveprime të tjera të varura nga bota |
effects |
Zërat dhe grimcat |
chunk |
Përditësimi i terrenit, bllokut dhe dritës |
Të gjithë grupet mbajnë një dërgim të besueshëm të rregulluar brenda kanalit të tyre. Paketat në grupe të ndryshme mund të arrijnë në një renditje të ndryshme relative. Zgjidh grupin që përputhet me varësinë e ngarkesave.
Shto një furnizues nën pikën e hyrjes raknetify:packet_channels në fabric.mod.json të mod-it tënd. Furnizuesi implementon Consumer<BiConsumer<String, String>> duke përdorur llojet JDK. Ai merr një regjistër që pranon një identifikues të personalizuar të ngarkesave dhe një grup renditjesh.
Bashko këtë hyrje me metatë dhënat ekzistuese, duke zëvendësuar emrin e klasës me emrin e plotë të ofruesit:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Ruaj pjesën tjetër të fabric.mod.json, duke përfshirë pikat e hyrjes ekzistuese. Ky është një fragment i file të metatë dhënave.
Për shembull, një zgjerim i lëvizjes së entitetit mund të regjistrojë example:entity_path me grupin entity. Dokumentacioni i PacketOrdering API përfshin zbatimin e ofruesit.
Fabric e lë këtë pikën e hyrjes të pa thirrur kur Raknetify2 është në mungesë. Providerët duhet të deklarojnë identifikuesit dhe grupet gjatë inicializimit pa mbështetur në një mod tjetër që ka përfunduar inicializimin e vet.
Mods Forge dhe NeoForge, dhe server apo proxy plugins, mund të thërrasin PacketOrdering.register(identifier, group) gjatë inicializimit kur Raknetify2 është në dispozicion. Klasa është com.ishland.raknetify.api.PacketOrdering. Regjistrohu para se të pranosh lidhjet e lojtarit, dhe mbaj kodin opcional të integrimit nga ngarkimi i klasave Raknetify2 kur varësia mungon.
Deklaratat aplikohen tek lidhjet e reja. Lidhjet ekzistuese mbajnë rregullat që kanë marrë gjatë konfigurimit. Përsëritja e një deklarate identike është e lejuar. Grupet në konflikt për të njëjtin identifikues refuzohen.
Identifikuesit e ngarkesave duhet të përdorin një hapësirë të vlefshme emrash të personalizuara. Hapësira e emrave minecraft është rezervuar. Kufiri i gjerë i pikës së fundit është deklaratat 128, duke përfshirë rregullat e ndërlidhura dhe regjistrimet nga mods të tjerë. Identifikuesit mund të përmbajnë deri në karakterët 255 ASCII duke përdorur sintaksën e identifikuesit të hapësirës së emrave të API.
Përditësuar deklaratat e shkëmbimit të peers RakNet gjatë konfigurimit të lidhjes. Një server apo proxy mund të përdorë një deklaratë peer kur nuk ka rregulla lokale për atë ngarkese. Rregullat lokale marrin përparësi dhe deklaratat e peers mbeten të kufizuara tek ajo lidhje.
Shiko Përparaqitja UDP dhe protokolli PROXY për UDP relay dhe adresat e klientëve të përcjellë.
Për instalimin e Minecraft proxy, shih Velocity dhe BungeeCord.