Repository navigation
Wiki fil ph
- Pangunahing Pahina
- Pag-install
- Velocity at BungeeCord
- Konfigurasyon ng firewall at router
- Kakayahang Magkakasundo
- Mode ng Pagkakasunod-sunod
- Mga awtomatikong paglilipat
- Pag-forward ng UDP at PROXY protocol
- Simple Voice Chat
- Pag-aayos ng mga problema
- Pagsasama ng mod
- UDP proxies
Mga koneksiyon sa network gamit ang RakNet para sa mga kliyente at server ng Minecraft.
| Minecraft | Raknetify2 | Kliyente / Server |
|---|---|---|
| Fabric | mods/raknetify2-fabric-*.jar |
Kliyente / Server |
| Forge | mods/raknetify2-forge-*.jar |
Kliyente / Server |
| NeoForge | mods/raknetify2-neoforge-*.jar |
Kliyente / Server |
| Spigot / Paper | plugins/raknetify2-spigot-*.jar |
Server |
| Velocity | plugins/raknetify2-velocity-*.jar |
Velocity |
| BungeeCord | plugins/raknetify2-bungee-*.jar |
BungeeCord |
-
Pangmaramihang-laro
-
Bagong Server
-
Address ng Server
Address ng Server RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Tapos na
-
Sumali sa Server
| F3 | |
|---|---|
| RakNet · UDP | Aktibo · MTU 1400 |
| TCP | Di-aktibo |
- Kliyente · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- Velocity / BungeeCord → TCP → Server
| Numero ng Port · 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 |
| Address ng Server | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Server · 192.0.2.10
|
25570/udp |
Server / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| Server | Raknetify2 · UDP 25565 | Simple Voice Chat |
|---|---|---|
| Fabric / Forge / NeoForge |
config/raknetify2-voicechat.json · {"enabled":true}
|
config/voicechat/voicechat-server.properties · port=-1
|
| Spigot / Paper |
config/raknetify2-voicechat.json · {"enabled":true}
|
plugins/voicechat/voicechat-server.properties · port=-1
|
Simple Voice Chat · Velocity / BungeeCord
| Address ng Server | trustedProxies |
RakNet |
|---|---|---|
192.0.2.10 · PROXY v2 / UDP |
["192.0.2.10"] |
✓ |
192.0.2.11 · PROXY v2 / UDP |
["192.0.2.10"] |
✗ |
| Kliyente → RakNet / UDP | ["192.0.2.10"] |
✗ |
config/raknetify2-proxy-protocol.json
{"trustedProxies":["192.0.2.10"]}-
Server A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Server B ·
play.example.com·server.properties→accepts-transfers=true -
Server A ·
/transfer play.example.com 25565 Alex→ Kliyente (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Mga Opsiyon |
entity |
Kalansay |
world_interaction |
Imbentaryo |
effects |
Partikula |
chunk |
Bloke |
- Fabric · Minecraft / Java · English
- Forge / NeoForge / Spigot / Paper · GitHub Releases
Ginagamit ng Raknetify2 ang RakNet sa pamamagitan ng UDP para sa multiplayer sa Minecraft. Hinihiwalay nito ang trapiko sa mga channel upang ang pagkawala ng packet sa isang channel ay hindi makapinsala sa pagpapalitan ng data o paglilipat ng chunks. Sa paraang ito, maaaring manatiling maayos ang mga interaksyon habang ang koneksyon ay nagpapagaling ng mga nawawalang datos o naglilipat ng chunks.
Ang Raknetify2 ay isang independiyenteng fork ng Raknetify, na orihinal na binuo ng ishland. Ang fork na ito ay nagdaragdag ng suporta para sa mga mas bagong bersyon ng Minecraft at pinapanatili ang transportasyon, integrasyon sa platform, at mga pagsubok sa kompatibilidad.
- Suriin ang kompatibilidad ng Minecraft at mga mod.
- Piliin ang file na nais mong i-download at i-install ito.
- Kumonekta sa isang address tulad ng
raknet;play.example.com.
- Velocity at BungeeCord
- Konfigurasyon ng Firewall at Router
- Awtomatikong paglilipat
- Pag-forward ng UDP at PROXY protocol
- Isinasagawa ang paggamit ng UDP port kasama ang Simple Voice Chat
- Troubleshooting at Bug Reports
Maaaring gamitin ng mga mod author ang packet ordering interface upang deklarahin ang mga dependency sa pagitan ng mga custom payload at ng trapiko sa Minecraft.
Ang Raknetify2 ay gumagamit ng MIT license at pinapanatili ang orihinal na mga talaan ng karapatang-ari. Ang implementasyon nito sa networking ay nakabatay sa Raknetify at netty-raknet.
I-download ang isang release mula sa GitHub Releases. Suriin ang bersyon ng Minecraft at mga kinakailangan ng loader para sa release na iyon bago ito i-install.
| Saan mo isasagawa ang pag-install | File | Folder |
|---|---|---|
| Fabric client o server | raknetify2-fabric-*.jar |
mods |
| Forge client o server | raknetify2-forge-*.jar |
mods |
| NeoForge client o server | raknetify2-neoforge-*.jar |
mods |
| Ang Spigot o Paper server | raknetify2-spigot-*.jar |
plugins |
| Velocity proxy | raknetify2-velocity-*.jar |
plugins |
| BungeeCord proxy | raknetify2-bungee-*.jar |
plugins |
Isara ang client o itigil ang server bago palitan ang JAR nito. Alisin ang orihinal na Raknetify JAR at anumang mas lumang Raknetify2 JAR mula sa parehong installation bago idagdag ang bagong file.
Ang mga folder ng client ay kabilang sa Minecraft instance o modpack na iyong ginagamit. Ang mga folder ng server at proxy ay kabilang sa installation ng server o proxy na iyon. Lumikha ng angkop na folder kung hindi pa ito nilikha ng iyong loader.
- I-install ang client mod para sa iyong loader.
- I-install ang angkop na server mod, o ang Spigot/Paper plugin sa isang kompatibleng server.
- Sundan ang Firewall at router configuration upang payagan ang mga koneksyon sa UDP sa server.
- I-restart ang client at server.
- Idagdag ang adres ng server, gaya ng
raknet;play.example.comoraknet;play.example.com:25565.
Ang mga address na wala ang prefix na raknet; ay gagamit ng TCP.
Ang pag-install lamang ng client mod ay hindi nagdudulot ng suporta para sa RakNet sa isang remote server. Kailangang magbigay ang operator ng server ng isang RakNet endpoint. Ang mga manlalaro na sumasali sa server ng ibang tao ay karaniwang hindi nangangailangan ng mga patakaran sa pag-forward ng inbound router.
I-install ang angkop na proxy plugin at client mod. Sundin ang Velocity at BungeeCord para sa mga setting ng listener, pag-forward ng backend, mga restriksyon sa access, at ang adres na dapat gamitin ng mga manlalaro.
Para sa isang direktang Minecraft server, itakda ang angkop na Java argument sa ibaba. Ang mga proxy operator ay dapat gamitin ang mga setting ng Velocity at BungeeCord listener.
| Platform | Java argument | Tinatanggap na mga port |
|---|---|---|
| Server na Fabric, Forge, o NeoForge | -Draknetify.fabric.portOverride=25570 |
1 hanggang 65534
|
| Ang Spigot o Paper server | -Draknetify.spigot.portOverride=25570 |
1 hanggang 65535
|
Ginagamit nina Forge at NeoForge ang parehong code para sa pagdinig, kaya ang pangalan ng mga property nila ay naglalaman din ng fabric. Palitan ang 25570 sa nais na UDP port.
Spigot / Paper ≥ 0.1.0-beta.1.431
Idagdag ang argumento na ito bago ang -jar sa command sa Java, o sa field ng mga argumento ng JVM ng iyong host. I-restart ang server at payagan ang UDP sa napiling listener port. Kung ang public port ay 25570 din, kailangang kumonekta gamit ang raknet;play.example.com:25570. Kung ang router ang nagkokonvert sa port, gamitin ang public port nito sa client address. Ang TCP port naman ay manatili sa kasalukuyang halaga nito.
Sa Spigot/Paper, ang UDP listener ay nananatiling mayroong lokal na address ng bind ng Minecraft TCP listener. Ang isang hindi wastong override o isang napakabigat na UDP port ay maaaring makapigil sa pag-uumpisa ng RakNet. Tingnan ang log ng pag-uumpisa para sa address at port ng UDP. Alisin ang argumento at i-restart upang makabalik sa numero ng port ng TCP listener.
Ang router o UDP proxy ay maaari ring magpakita ng ibang public UDP port at ito ay maaaring ilipat sa umiiral na listener nang hindi binabago ang mga argumento ng server sa Java.
Buksan ang matagumpay na main run sa GitHub Actions at i-download ang Artifacts archive nito. Kailangan ng GitHub ang account upang ma-download ang mga artifacts ng workflow. Gamitin ang talahanayan ng pag-install sa itaas upang pumili ng JAR mula sa archive.
Ang Velocity at BungeeCord ay nasa pagitan ng mga manlalaro at ng mga backend na server ng Minecraft. I-install ang Raknetify2 sa proxy at sa bawat kliyente na makikipag-ugnayan sa RakNet.
Raknetify2 client --UDP--> Velocity o BungeeCord --TCP--> backend server
Ang mga backend server ay hindi nangangailangan ng Raknetify2 para sa landas na ito ng koneksyon. Kailangan pa rin nila ang mga mod, plugin, at suporta sa pag-forward na kinakailangan ng iyong network. Hindi naglilipat ng wika ang Raknetify2 sa mga bersyon ng Minecraft o nagbabago sa pag-authenticate ng account ng proxy.
- Siyasatin na ang mga karaniwang koneksyon sa TCP sa pamamagitan ng iyong proxy, kabilang ang autentikasyon at pagpapalit ng server sa pagitan ng mga backend server.
- Itigil ang proxy at i-download ang kaukulang plugin mula sa GitHub Releases.
- Ilagay ang
raknetify2-velocity-*-all.jaroraknetify2-bungee-*-all.jarsa folder napluginsng proxy. Alisin ang anumang mas lumang plugin ng Raknetify o Raknetify2 mula sa folder na iyon. - I-install ang angkop na Raknetify2 client mod gamit ang installation guide.
- Suriin ang mga setting ng listener sa ibaba, i-restart ang proxy, at suriin ang log nito para sa mga error sa RakNet listener.
- Payagan ang publikong trapiko sa UDP para sa proxy at limitahan ang mga port ng paglalaro sa backend ayon sa nakasaad sa Firewall at router configuration.
Gamitin ang mga kompatibong release ng Raknetify2 sa client at proxy. Suriin ang Compatibility bago paghaluin ang iba’t ibang release.
Ang setting na bind sa velocity.toml ay nagtatakda ng adres ng pakikinig ng Minecraft at port ng TCP para sa teknolohiyang Velocity. Karaniwan, ginagamit ng Raknetify2 ang parehong numero ng port para sa UDP. Ang mga entry na [servers] ay tumutukoy sa mga backend server. Panatilihing nakatuon ang mga entry na ito sa mga backend TCP address. Tingnan ang referensyang konfigurasyon ng Velocity.
Upang gamitin ang isang hiwalay na UDP port, idagdag ang argumentong ito sa JVM bago -jar sa command ng pagpapagana ng Velocity:
-Draknetify.velocity.portOverride=25570
Palitan ang 25570 sa iyong napiling port. Ito ay magbabago sa RakNet UDP port habang nananatiling TCP port at mga address ng backend ng Velocity. I-restart ang Velocity matapos baguhin ang argumento.
Ikonfigure ang pag-forward ng mga manlalaro sa parehong Velocity at sa mga backend nito. Gamitin ang modernong pag-forward kapag sinusuportahan ng software ng backend, at panatilihing lihim ang pag-forward na ito. Sundin ang mga tagubilin para sa backend-specific sa player information forwarding guide ng Velocity. Panatilihing nasa lugar ang mga restriksyon ng firewall ng backend kasabay ng pag-forward.
Sa config.yml ng BungeeCord, ang halaga ng host sa ilalim ng bawat entry na listeners ay tumutukoy sa adres ng pagdinig at TCP port ng Minecraft. Karaniwan, idinadagdag ng Raknetify2 ang UDP sa nasabing numero ng port. Ang mga entry na servers naman ay naglalaman ng mga backend TCP address. Ang mga setting na ito ay inilalarawan sa BungeeCord configuration guide.
Para sa isang hiwalay na UDP port, idagdag ang argumentong ito sa JVM bago -jar sa command ng pagpapagana ng BungeeCord:
-Draknetify.bungee.portOverride=25570
Ang override ay nauukol sa buong proseso ng proxy. Para sa konfigurasyon na may maraming Minecraft listener, tingnan ang aktwal na RakNet endpoints sa startup log bago magdagdag ng mga firewall rules. I-restart ang BungeeCord matapos baguhin ang argumento.
Panatilihin ang pag-autentikasyon ng account sa proxy. Para sa mga backend ng Spigot, ang IP forwarding guide ng BungeeCord ay nagpapares ang ip_forward: true sa proxy sa settings.bungeecord: true sa backend. Ang pag-forward lamang ay hindi makakapigil sa isang tao na direktang makakonekta sa backend. Siyasatin ang access sa backend gamit ang instruksyon sa firewall.
Parehong tinatanggap ng mga override na proxy ang mga port mula 1 hanggang 65534. Ang mga hindi wastong halaga ay hindi tinatanggap, kaya suriin ang naka-bound na UDP port sa log ng pag-startup. Alisin ang argumento at i-restart upang makabalik sa numero ng port ng listener ng Minecraft.
Kumokonekta ang mga manlalaro sa pampublikong hostname ng proxy at sa UDP port nito, halimbawa raknet;play.example.com:25570. Kapag ang router ang naglilipat ng mga port, gamitin ang pampublikong UDP port nito sa adres ng kliyente. Ang mga adres na walang prefix na raknet; ay patuloy na gagamit sa TCP listener ng proxy.
Iwanan ang Query, Geyser, at iba pang mga serbisyo ng UDP sa magkahiwalay na mga UDP port. Ang ibang TCP port ay hindi makakapagresolba sa mga conflict sa UDP socket.
Ginagamit ng Simple Voice Chat ang sarili nitong plugin para sa proxy at UDP port sa Velocity at BungeeCord. Sundin ang guidance para sa Voice Chat proxy para sa pag-setup nito.
Kung may hiwalay na UDP relay na nasa harap ng iyong Minecraft proxy at nagpapadala ng mga header ng PROXY protocol v2, i-configure ang Raknetify2 gamit ang UDP forwarding at PROXY protocol. Ang pag-install ng Velocity o BungeeCord nang mag-isa ay hindi nangangailangan ng ganitong pag-configure.
Subukan ito mula sa labas ng iyong lokal na network gamit ang Raknetify2 client. Sumali sa network sa pamamagitan ng proxy, ilipat sa iba’t ibang backend server na iyong ginagamit, at tiyaking tama pa rin ang pagkakakilanlan at mga permiso ng player.
- Kung ang TCP sa pamamagitan ng proxy ay gumagana ngunit nagtatapos ang RakNet, suriin ang UDP listener ng proxy, ang public port, ang mga ruta para sa IPv4 at IPv6, at ang mga patakaran ng firewall.
- Kung parehong hindi makakonekta ang dalawang transport sa pagkakataong subukan ng proxy na makipag-ugnayan sa backend, suriin ang TCP address ng backend, mga patakaran sa pag-access, at konfigurasyon ng pag-forward ng mga manlalaro.
- Kung iniulat ng proxy na mayroong napapagitnaang UDP port, suriin kung mayroong proseso na Query, Geyser, voice proxy, o ibang proseso na nakakonekta dito.
Para sa mga ulat, isama ang parehong mga log ng proxy at backend mula sa parehong pagtatangka sa koneksyon. Tingnan ang Troubleshooting para sa impormasyon tungkol sa bersyon na kailangang isama.
Ang gabay na ito ay para sa mga operator ng server. Kailangan ng Raknetify2 ang isang gumaganang UDP route patungo sa server o proxy na tumatanggap ng mga koneksyon sa RakNet. Ang default na setup ay gumagamit ng parehong numero ng port tulad ng TCP listener ng Minecraft.
Para sa mga manlalaro sa parehong lokal na network, gamitin ang lokal na adres ng server at payagan ang UDP sa pamamagitan ng firewall ng host nito. Kailangan ang port forwarding ng router kapag kinakailangang dumaan ang trapiko sa internet sa IPv4 NAT ng iyong router.
Ipadala ang publikong trapiko sa UDP sa makinang nagpapatakbo ng Minecraft server gamit ang Raknetify2. Ang destinasyong port ay ang RakNet UDP listener ng server na iyon. Payagan ang port na iyon sa firewall ng host ng makinang server. Panatilihin ang umiiral na TCP route para sa mga karaniwang koneksyon sa Minecraft.
Halimbawa, kung ang Raknetify2 ay nakikinig sa UDP 25570, ipadala ang pampublikong UDP port sa lokal na address ng server sa port 25570. Maaaring manatili ang TCP port ng server sa 25565. Tingnan ang direct-server listener settings upang pumili ng ibang UDP port.
Ipadala ang publikong trapiko sa UDP sa makinang tumatakbo ng Velocity o BungeeCord gamit ang Raknetify2 proxy plugin. Gamitin ang RakNet UDP listener ng proxy bilang destinasyon ng pag-forward. Panatilihin ang umiiral na publikong TCP route ng proxy para sa mga karaniwang koneksyon sa Minecraft.
Ang proxy ay kumokonekta sa mga backend na Minecraft server sa pamamagitan ng TCP. Ang pagdaragdag ng Raknetify2 sa proxy ay hindi nangangailangan ng pagbubukas ng mga UDP port para sa paglalaro ng mga manlalaro.
| Koneksyon | Pahintulot sa pag-access |
|---|---|
| Mga manlalaro sa proxy | Pampublikong UDP sa listener ng RakNet, kasama ang umiiral na pampublikong TCP listener. |
| Proxy para sa mga backend server | Mga port sa TCP ng Minecraft backend, na maaari lamang ma-access mula sa mga nabanggit na proxy host. |
| Ang mga manlalaro ay direktang pumunta sa mga port ng paglalaro sa backend. | Panatilihing nakakasara, kahit sa pamamagitan ng IPv6. |
Kapag ang proxy at mga backend ay tumatakbo nang direkta sa isang espesyal na makina na kinokontrol mo, maaaring gamitin ng mga backend listener ang mga loopback address, kung ang proxy ay nakakonfigure upang makarating sa kanila doon. Sa pagitan ng iba’t ibang makina, limitahan ang access ng mga backend TCP sa mga host ng proxy gamit ang firewall o isang isolated na pribadong network. Ang mga container at managed host ay nangangailangan din ng katulad na mga restriksyon para sa kanilang network layout. Tingnan ang Velocity’s backend security guide at BungeeCord’s firewall guide.
Ang pag-forward ng mga manlalaro at mga restriksyon ng firewall ay gumagana nang magkasama. Ang direktang pag-access sa backend ay maaaring makalampas sa mga pag-verify ng login ng proxy. Para sa pag-install ng mga plugin, mga setting ng pag-forward, at pagbabago sa UDP port, sundin ang Velocity at BungeeCord.
Maaaring magkaiba ang public port at listener’s port kapag ang router ang siyang nagkokomunikasyon sa pagitan ng mga ito.
| Pag-setup | Port na gagamitin |
|---|---|
| Adres ng kliyente at server | Pampublikong UDP port |
| Patakaran sa pagpapadala ng data ng router sa external port | Pampublikong UDP port |
| Patakaran sa pagpapadala ng router sa panloob na port | Ang UDP port ng tagapakinig ng RakNet |
| Lokal na port ng firewall ng host | Ang UDP port ng tagapakinig ng RakNet |
Para sa pagho-host sa likod ng isang IPv4 router:
- Hanapin ang lokal na IPv4 address ng makina na tumatanggap ng mga koneksyon sa RakNet. Gamitin ang DHCP reservation o isang angkop na static na address upang ang rule sa pag-forward ay patuloy na tumutok sa makinang iyon.
- Idagdag ang isang patakaran sa pag-forward ng UDP para sa pampublikong port na gagamitin ng mga manlalaro.
- Itakda ang destinasyon ng rule sa lokal na adres ng makina na iyon at sa UDP port ng RakNet listener.
- Payagan ang inbound UDP sa port ng listener sa firewall ng host.
Halimbawa, ang isang server na nakikinig sa UDP port na 25565 ay maaaring gumamit ng patakaran na may pampublikong port na 25565, destinasyong address na 192.168.1.100, at destinasyong port na 25565. Palitan ang halimbawa ng address sa aktwal na lokal na address ng iyong server.
Panatilihin ang umiiral na patakaran sa TCP para sa mga karaniwang koneksyon sa Minecraft. Ang isang patakaran sa TCP forwarding lamang ay hindi kayang magdala ng UDP.
Suriin kung may ibang router o ang iyong ISP ang nagsasagawa ng NAT bago makarating ang trapiko sa iyong router. Kung mayroon kang dalawang router, kailangang kontrolin ang pag-forward ng trapiko sa pareho. Kung ang iyong ISP ay gumagamit ng carrier-grade NAT, tanungin kung maaari nitong magbigay ng public IPv4 address o kung mayroon itong serbisyo sa pag-host o tunnel na sumusuporta sa inbound UDP. Ang mga patakaran sa pag-forward ng iyong router ay hindi makakapag-configure ng NAT ng ISP. Tingnan ang mga tagubilin ng TP-Link para sa port forwarding para sa kinakailangan ng public WAN address.
Payagan ang napiling UDP port sa pamamagitan ng IPv6 firewall ng router at firewall ng host. Targetin ang IPv6 address ng makina na tumatanggap ng RakNet connections.
Suriin kung ang IPv6 address ng hostname ay tumuturo sa nasabing makina. Kung magbabago ang IPv6 address nito, i-update ang DNS record at ang anumang mga patakaran ng firewall na nauugnay sa address na iyon.
Ang hostname na nagpapakita ng parehong IPv4 at IPv6 addresses ay nangangailangan ng isang gumaganang ruta para sa bawat advertised na address. Suriin ang parehong set ng mga patakaran kapag ang isang manlalaro ay maaaring makakonekta habang ang isa ay hindi.
Kung nagbabago ang numero ng port dahil sa IPv4 forwarding, tiyaking ang port na ito ay naaabot din ng IPv6 listener. Ang pag-convert ng port sa IPv4 ay hindi nagtatakda ng ruta para sa IPv6.
Ang provider o tunnel ay kailangang suportahan ang UDP sa public endpoint na ibinigay mo sa mga manlalaro. Suriin ang mga port allocation nito, mga patakaran sa network firewall, pati na rin ang sariling firewall ng server.
Kung may karagdagang UDP proxy na nagpapadala ng mga adres ng kliyente gamit ang PROXY protocol v2, sundin ang UDP forwarding at PROXY protocol at limitahan ang pag-access sa receiving UDP listener sa trusted proxy.
Kumonekta mula sa labas ng lokal na network ng server gamit ang updated na Raknetify2 client, gamit ang adres tulad ng raknet;play.example.com:25565. Gamitin ang public UDP port sa adres na ito.
Gamitin ang tunay na RakNet connection upang makumpirma ang ruta. Ang UDP scan na hindi nakakatanggap ng sagot ay maaaring mag-ulat ng resultang hindi tiyak, dahil maaaring itapon ng gumagana nang serbisyo ang isang hindi pamilyar na probe. Ang dokumentasyon ng Nmap UDP scan ay nagpapaliwanag sa pag-uugaling ito.
Ang matagumpay na koneksyon sa TCP ay nagpapatunay lamang sa ruta ng TCP. Kung lumipas ang oras ng RakNet, suriin ang listener, destinasyon ng pag-forward, UDP port, at mga patakaran ng firewall gamit ang troubleshooting guide.
Suriin ang kompatibilidad para sa partikular na bersyon na iyong na-download. Maaaring mayroong suportang hindi pa lumabas sa anumang bersyon ang sangay ng pag-unlad.
Mga bersyon ng Minecraft at Java · English
Ang kinakailangan sa Java na inihayag ng Raknetify2 ay ang minimum na bersyon nito. Maaaring kailanganin ng Minecraft o ng loader ang mas bagong bersyon ng runtime. Piliin ang bersyon ng Java na sumusunod sa lahat ng mga kinakailangan.
Gamitin ang Raknetify2 release sa client at sa server o proxy na tumatanggap ng koneksyon nito kung posible. Suriin ang mga note sa release bago paghaluin ang mga release. Ang mga naka-encrypt na koneksyon sa RakNet ay nangangailangan ng suporta para sa authenticated encryption protocol sa parehong dulo. Ang mga orihinal na build ng Raknetify at Raknetify2 bago ipinakilala ang protocol na iyon ay hindi makakagawa ng mga naka-encrypt na koneksyon sa mga peer na updated na.
Ang Raknetify2 ay may dala ang umiiral na protocol ng laro ng Minecraft. Ang pagkonekta sa iba’t ibang bersyon ng Minecraft ay nangangailangan ng kompatibong pagtatranslate ng protocol.
Kung may pagkabigo sa isang mas malaking modpack, sundin ang troubleshooting guide. Isama ang mga kumpletong bersyon ng mod sa iyong ulat.
Karaniwan, pinapayagan ng Raknetify2 ang mga independiyenteng packet channel na magpatuloy habang ang isang channel ay naghihintay para sa mga nawawalang datos. Sa mode na ordered, lahat ng packet ng Minecraft ay inilalagay sa iisang channel, kaya ang isang nawawalang packet ay magpapatigil sa mga susunod na packet sa direksyong iyon hanggang sa ito ay muling maipadala. Ito ay nagpapanatili sa pagkakasunod-sunod na inaasahan ng ilang anti-cheat software, ngunit binabalewala nito ang kakayahang ng Raknetify2 na panatilihing umiikot ang trapiko ng laro habang naghihintay.
-
I-install ang build ng Raknetify2 na sumusuporta sa ordered mode sa server o proxy na tumatanggap ng RakNet connections, at sa bawat RakNet client.
-
Lumikha ng
config/raknetify2-compatibility.jsonsa direktoryo ng server o proxy na iyon. Lumikha rin ng direktoryongconfigkung wala pa ito. -
Idagdag ang sumusunod:
{"mode": "ordered"} -
I-restart ang server o proxy.
Ang mga kliyente ay sumusunod nang awtomatiko sa mga setting ng server. Hindi kailangang lumikha ang mga manlalaro ng file ng konfigurasyon o baguhin ang adres ng kanilang RakNet server.
Lahat ng mga packet sa Minecraft ay gumagamit ng isang maaasahang channel na nakaayos sa bawat direksyon, kabilang na ang mga delimitador ng bundle at mga transisyon ng mundo.
Kapag ang mga manlalaro ay nakakonekta sa pamamagitan ng Velocity o BungeeCord, kailangang i-set ang mode na ordered sa nasabing proxy, kahit na ang anti-cheat ay tumatakbo sa isang backend server.
Ang patakaran na ito ay nalalapat sa lahat ng backend switches. Sa mode na ordered, ang proxy ay nagpapadala ng mga request na backend keepalive sa tunay na client, sa halip na sagutin ang mga ito sa lokal.
Sa unang koneksyon sa RakNet, iniulat ng console:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Ang matagumpay na pagpapalitan ng kompatibilidad ay iniuulat din bilang ordered compatibility negotiated, kasunod ng adres ng kabilang partido.
Panatilihing aktibo ang mga pag-verify laban sa panlilinlang, at patunayan ang iyong partikular na setup.
Ang mga RakNet client na hindi sumusuporta sa ordered mode ay hindi makakonekta sa server na nangangailangan nito. I-update ang Raknetify2 sa mga client na iyon, o makipag-ugnayan sa server o proxy gamit ang normal na TCP address at port nito nang wala ang prefix na raknet;.
Baguhin ang file sa:
{"mode": "multichannel"}Kung gayon, muling i-restart ang server o proxy. Ang pagtanggal sa file ay makakabalik din sa mode na multichannel matapos ang pag-restart.
Ang file ay kailangang maglaman ng eksaktong isang setting na may pangalan na mode, kung saan ang halaga nito ay maaaring "ordered" o "multichannel". Ang mga halaga ay sensitibo sa kasarian ng mga titik.
Ang mga hindi wasto o hindi mabasa na konfigurasyon ay nagrereject sa mga koneksyon sa RakNet. Itama ang file at ipagpatuloy ang proseso.
Kung patuloy pa ring iniulat ng console ang multichannel, tiyaking ang file ay nasa working directory ng server o proxy na tumatanggap ng RakNet connection, at pagkatapos ay ipagpatuloy ang proseso.
Ang mga server na Fabric, Forge, at NeoForge ay maaaring piliin ang RakNet kapag inililipat ang isang kliyenteng may kakayahan sa isang naka-configure na destinasyon. Ginagamit dito ang native transfer support ng Minecraft, na inilunsad sa Java Edition 1.20.5. Siguruhing ang iyong Raknetify2 release ay sumusuporta sa bersyon at loader ng Minecraft sa bawat panig.
I-install ang Raknetify2 sa server at client na nagpapadala ng data. Ang destinasyon ay kailangang magkaroon ng kompatibong RakNet listener at tanggapin ang mga papasok na transfer ng Minecraft.
Ang konfigurasyong ito ay naaangkop sa mga paglilipat na ipinadala ng tatlong mod loaders na nabanggit sa itaas. Ang mga plugin na Spigot/Paper, Velocity, at BungeeCord ay hindi binabasa ang file ng mga paglilipat na ito.
Gumawa ng config/raknetify2-transfers.json sa direktoryo ng server na nagpapadala.
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Palitan ang halimbawa ng hostname at mga port sa mga halagang angkop sa iyong destinasyon, pagkatapos ay ipagpatuloy ang pagpapalabas sa server. Ang mga karagdagang destinasyon ay ilagay sa parehong array.
| Lugar/Patlang | Kahulugan |
|---|---|
host |
Ang pangalan ng host o adres ng IP ng destinasyon, nang wala ang prefix ng transportasyon o port. |
tcpPort |
Ang port ng destinasyon sa orihinal na kahilingan sa paglilipat |
udpPort |
Ang publikong RakNet port na kinontak ng kliyenteng nagpadala ng data ay dapat makipag-ugnayan. |
Ang mga numero ng port para sa TCP at UDP ay maaaring magkapareho. Kung ang router ay gagamit ng UDP port, gamitin ang public port na nakasaad sa file na ito. Isulat ang mga port bilang mga numero sa format na JSON.
Ipadala ang mga transfer sa karaniwang hostname at TCP port ng destinasyon. Sinuri ng Raknetify2 kung sinusuportahan ng kliyente ang awtomatikong transfer. Para sa isang kliyenteng may kakayahan at destinasyon na tugma, pinipili nito ang naka-configure na UDP port. Ang ibang kliyente at destinasyon na hindi tugma ay nananatiling may orihinal na address ng transfer.
Ginagamit ang hostname at TCP port mula sa kahilingan sa paglilipat. Ang pagpapalit ng kapital sa hostname, ang huling punto sa DNS, at ang wastong pagbabaybay ng IPv6 ay normalisado. Hindi nakikilahok ang mga paghahanap sa DNS sa proseso ng paghahanap, kaya ang dalawang magkaibang hostname na nagpapahiwatig sa parehong adres ay nangangailangan ng magkahiwalay na mga entry. Ang mga wildcard entry ay hindi sinusuportahan.
Para sa destinasyon na gumagamit ng server.properties ng Minecraft, itakda ang accepts-transfers=true at i-restart ito. Maaaring may sariling setting sa transfer ang proxy ng destinasyon. Karaniwan, tinatanggihan ng Minecraft ang mga paparating na transfer, kahit na normal ang direktang pag-sign in.
Ang listener ng RakNet sa destinasyon, ang public UDP forwarding, at ang firewall ng host ay kailangang nakakonfigure na. Ang file ng transfers ng server na nagpapadala ay siyang pumipili ng adres na ipapadala sa client.
Suriin ang IPv4 at IPv6 na mga ruta ng destinasyon kapag ang hostname nito ay nagpapakita ng parehong mga uri ng adres. Subukan ang isang ordinaryong direktang koneksyon sa RakNet sa destinasyon bago suriin ang pag-uugali ng awtomatikong paglilipat.
Panatilihin ang anumang pag-verify ng login o pagpasok sa sistema. Ang konfigurasyong ito ay hindi nagbibigay ng access sa mga manlalaro o pumapalit sa proseso ng pagpapatunay sa server.
Ang mga nawawalang field, mga hindi kilalang field, mga hindi wastong port, at mga duplicate na destinasyon ay nagiging sanhi ng error sa konfigurasyon sa panahon ng pag-initialize. Gamitin ang log ng server upang makita ang error, ayusin ang JSON, at i-restart ang server.
Upang hindi magkaroon ng awtomatikong pagpili, alisin ang file ng konfigurasyon o gamitin ang {"destinations": []}, pagkatapos ay i-restart ang server na nagpapadala. Ang mga kahilingan sa paglilipat nito ay mananatiling may orihinal na mga address.
Ang isang UDP proxy ay maaaring mag-forward ng RakNet traffic at mapanatili ang orihinal na address ng client gamit ang PROXY protocol v2. Gawing aktibo ang feature na ito kapag ang isang upstream UDP proxy ay nagpapadala ng mga header sa iyong listener. Ang karaniwang port forwarding ng router ay hindi nangangailangan nito.
Sa server o sa Minecraft proxy na tumatanggap ng forwarded UDP traffic, lumikha ng config/raknetify2-proxy-protocol.json:
{
"trustedProxies": ["192.0.2.10"]
}Palitan ang halimbawa ng aktwal na source IP address ng UDP proxy o isang CIDR range na kinokontrol mo. Ang address ay kailangang tumugma sa kung ano ang nakikita ng receiving listener matapos ang anumang NAT. Tinatanggap ang mga literal ng IPv4 at IPv6. Hindi tinatanggap ang mga DNS hostname. I-restart ang receiving server o proxy.
Ikonfigure ang forwarding proxy upang magpadala ng mga header ng PROXY protocol v2 para sa UDP. Tanging ang mga adres ng kliyente na ipinadala mula sa mga nabanggit na pinagmulan ang tatanggapin ng Raknetify2. Ang mga direktang koneksyon sa RakNet nang wala ang mga header na ito ay tatanggihan habang aktibo ang konfigurasyong ito. Ang TCP listener ay nananatiling may kasalukuyang konfigurasyon nito.
Ang bawat nabanggit na proxy ay pinagkakatiwalaang magbigay ng mga adres ng kliyente. Limitahan ang pag-access sa UDP port sa backend sa pamamagitan ng firewall upang tanging ang nais na proxy lamang ang makakarating doon. Panatilihing maliliit ang mga saklaw ng pagkakatiwalaan hangga’t maaari sa iyong network.
Ang file ay kailangang maglaman lamang ng trustedProxies, na may hindi kukulangin sa isang entry. Ang isang empty array ay isang error. Ang isang invalid na file ay maaaring maging dahilan upang hindi makapag-start ang RakNet listener.
Upang makabalik sa direktang UDP connections, alisin ang file at i-restart ang listener. I-update din ang upstream forwarding behavior at mga firewall rules para sa bagong route.
Kung ang mga koneksyon ay hindi nagtatagumpay matapos ma-enable ang feature na ito, suriin ang aktwal na address ng proxy sa backend, ang naka-configure na trusted range, at kung ang proxy ay nagpapadala ng mga UDP PROXY protocol v2 headers.
Para sa pag-install ng proxy at pag-configure ng backend sa Minecraft, sundin ang Velocity at BungeeCord.
Ang Raknetify2 ay maaaring ibahagi ang server UDP listener nito sa Simple Voice Chat sa mga platform na Fabric, Forge, NeoForge, Spigot, at Paper.
I-install ang Simple Voice Chat sa server at sa bawat kliyente na nais mag-chat sa pamamagitan ng boses. Sundin ang server setup guide para sa karagdagang konfigurasyon nito.
Gamitin ang direktoryo na config sa itaas na antas ng server para sa mga file ng Raknetify2, kabilang na sa Spigot/Paper. Ang sariling file ng Simple Voice Chat ay nananatili sa lokasyon na espesipiko sa platform sa ibaba.
-
Gumawa ng
config/raknetify2-voicechat.jsonsa direktoryo ng server na may ganitong nilalaman:{"enabled": true} -
Itakda ang
port=-1sa configuration ng server ng Simple Voice Chat. Sa mga modded na server, ito ay nasaconfig/voicechat/voicechat-server.properties. Sa Spigot/Paper naman, ito ay nasaplugins/voicechat/voicechat-server.properties. -
Huwag lagyan ng laman ang
bind_addresskung mayroong isang tagapakinig na RakNet na naaayon. Kung ang server ay may maraming tagapakinig sa iyon na UDP port, itakda ito sa lokal na adres ng tagapakinig na gusto mong ibahagi. -
I-restart ang server at patakbuhin ang
/voicechat test <PLAYERNAME>para sa player na nakakonekta.
Kung ang RakNet listener ay gumagamit ng ibang port kumpara sa Minecraft, itakda ang port sa lokal na UDP port na iyon nang eksplisito sa halip na gamitin ang -1. Halimbawa, ang RakNet listener sa lokal na UDP port 25570 ay nangangailangan ng port=25570.
Itakda ang voice_host kapag kailangan ng mga kliyente ng ibang public address o port. Para sa router na nagpapadala ng public UDP 25580 patungo sa local UDP 25570, gamitin ang port=25570 at voice_host=play.example.com:25580. Ang public address ay dapat nasa voice_host. Ang setting na bind_address ay ginagamit upang piliin ang local listener.
Ang Raknetify2 ay nagbibigay ng shared UDP socket sa pamamagitan ng API ng Simple Voice Chat. Ang Simple Voice Chat ang humahawak sa authentication at encryption ng boses. Maaaring gamitin ng mga manlalaro ang voice chat sa pamamagitan ng TCP o RakNet gameplay connections.
Iwanan lamang ang mga query at Geyser sa magkahiwalay na UDP ports. Ang shared socket integration ay sumusuporta lamang sa Simple Voice Chat.
Ang integrasyon ay hindi nagbabahagi ng socket para sa voice-proxy sa Velocity o BungeeCord. Sundin ang guide sa pag-setup ng Simple Voice Chat proxy at bigyan ang voice proxy ng sarili nitong UDP port. Gamit ang opisyal na plugin para sa voice-proxy, itakda ang anumang public voice_host override sa configuration ng voice ng proxy. Ang plugin na iyon ay hindi kinikilala ang mga setting na voice_host ng mga backend server.
Para sa isang pangkalahatang UDP tunnel, set ang voice_host sa public hostname at UDP port na nagpapadala sa server na ito.
Kung ang log ay nagpapakita ng No RakNet listener matches the voice bind address and port, kumpirmahin na matagumpay na nagsimula ang RakNet, at na ang voice port at bind address ay tumutugma sa local listener nito.
Kung ang resulta ay Multiple RakNet listeners match the voice bind address, piliin ang tiyak na lokal na adres sa bind_address at subukan muli.
Isang Simple Voice Chat plugin lamang ang maaaring magbigay ng UDP socket nito. Kung sa pag-uumpisa ay nababalitaan na may ibang plugin na nagbibigay na ng socket, piliin kung aling integration ng socket ang gagamitin.
Upang mapigilan ang integrasyon ng Raknetify2, dapat i-set ang {"enabled": false} sa mga setting ng boses nito, o kung hindi naman, alisin ang file na iyon. Bigyan ang Simple Voice Chat ng hiwalay na UDP port, i-update ang mga firewall o mga patakaran sa pag-forward nito, at muling i-start ang server.
Suriin ang mga ito nang sunud-sunod:
- Ang kliyente ay may tamang Raknetify2 mod para sa kanilang loader at bersyon ng Minecraft.
- Ang server o proxy na tumatanggap ng koneksyon ay may na-install na Raknetify2 at naka-start nang walang error sa listener.
- Ang adres ay nagsisimula sa
raknet;at gumagamit ng pampublikong UDP port. - Ang tagapagbigay ng serbisyo, router, at firewall ng host ay lahat nagpapahintulot sa UDP sa nasabing port.
- Ang mga IPv4 at IPv6 na address ng hostname ay humahantong sa nais na host, at ang mga ito ay may gumaganang mga patakaran sa firewall.
Ang matagumpay na koneksyon sa TCP ay nagpapatunay lamang sa ruta ng TCP. Sundin ang Firewall at konfigurasyon ng router upang suriin ang pag-forward ng UDP at pag-access sa IPv6. Kung aktibo ang PROXY protocol, kailangang maabot ng mga kliyente ang listener sa pamamagitan ng isang nakatitiyak na proxy na nakonfigurasyon.
Suriin kung may ibang proseso na ginagamit ang UDP port. Ang Geyser, Simple Voice Chat, at iba pang mga serbisyo sa UDP ay nangangailangan ng sarili nilang mga port. Maaaring gamitin ng Simple Voice Chat ang shared-port integration.
Maaari kang pumili ng ibang lokal na UDP port gamit ang direct-server listener settings o Velocity at BungeeCord settings. Tingnan ang mga kinakailangan sa bersyon para sa Spigot/Paper setting. Ang pagbabago lamang sa public port ng router ay nagpapabaya sa pagkakaroon ng conflict sa local socket.
Konekta ka nang direkta sa destinasyon gamit ang raknet; address nito. Kung hindi ito posible, ayusin muna ang listener ng destinasyon o ang network route nito.
Kung gumagana ang direktang koneksyon, suriin kung tinatanggap ng destinasyon ang mga paglilipat ng data. Ang isang Minecraft server na gumagamit ng server.properties ay kailangang may accepts-transfers=true. Hindi sinusuri ang setting na ito sa direktang pagsali.
Kung gayon, ihambing ang hostname ng paglilipat at TCP port sa config/raknetify2-transfers.json sa server ng nagpapadala. Siyasatin na ang file ay na-load matapos ang pag-restart at na sinusuportahan ng client ang awtomatikong mga paglilipat sa RakNet. Tingnan Mga Awtomatikong Paglilipat.
Suriin ang mga bersyon ng Raknetify2 sa magkabilang dulo ng koneksyon. I-update ang client at server o proxy nang sabay-sabay kapag may pagbabago sa naka-encrypt na protocol. Panatilihin ang mga setting ng authentication ng server habang isinasagawa ang imbestigasyon.
Tandaan kung anong aksyon ang nagiging dahilan sa pagkabigo, tulad ng pagbubukas ng imbentaryo, pagtanggap ng resource pack, pagbabago ng mundo, o paglikha ng isang entidad. Ihambing ang parehong aksyon sa TCP at RakNet gamit ang isang hiwalay na test installation kung posible.
Ang ilang custom na payload ay nakadepende sa pagkakasunod-sunod ng mga vanilla packet. Maaaring ideklara ng mga mod author ang mga depensyong ito sa pamamagitan ng packet ordering interface.
Buksan ang isang isyu sa Raknetify2 issue tracker at isama ang:
- Minecraft, Java, loader, at mga bersyon ng Raknetify2 sa parehong panig.
- Mga bersyon ng software para sa server at proxy, kabilang ang anumang proxy na nagpapadala ng UDP.
- Iba pang mga installed na mod at ang mga bersyon nito.
- Mga hakbang upang maranasan ang problema at kung ano ang inaasahan mong mangyari.
- Kung ang mga parehong hakbang ay epektibo sa TCP.
- Mga halimbawa ng talaan ng kliyente, server, at proxy mula sa parehong pagtatangka.
Alisin ang mga access token, password, at iba pang pribadong impormasyon bago i-upload ang mga log. Panatilihin ang mga mensahe ng eksepsyon at mga stack trace na kinakailangan upang masuri ang problema.
Ang Raknetify2 ay nagpapahintulot sa mga mod na deklarahin kung anong trapiko sa Minecraft ang kailangang manatiling maayos gamit ang kanilang mga custom na payload. Gagamitin ito kapag kinakailangan ng payload na magkaroon ng entidad, chunk, inventory, o ibang estado na itinakda ng mga naunang packet.
| Grupo | Kaugnay na trapiko |
|---|---|
ui |
Mga menu at interaksyon na hindi nakabatay sa mundo |
entity |
Paglikha, pagtanggal, at pagkilos ng mga entidad |
world_interaction |
Mga imbentaryo at iba pang interaksyon na nakadepende sa mundo |
effects |
Mga tunog at partikulo |
chunk |
Mga pag-update sa terreno, mga bloke, at ilaw |
Lahat ng grupo ay nananatiling may maaasahang paghahatid sa loob ng kanilang channel. Ang mga packet sa iba’t ibang grupo ay maaaring dumating sa ibang pagkakasunod-sunod. Piliin ang grupo na angkop sa pagkakabuod ng payload.
Idagdag ang isang provider sa ilalim ng entrypoint na raknetify:packet_channels sa fabric.mod.json ng iyong mod. Ang provider na ito ay nagpapatupad ng Consumer<BiConsumer<String, String>> gamit ang mga JDK types. Tinatanggap nito ang isang registrar na may kasamang custom na identifier ng payload at isang ordering group.
Isumite ang entry na ito sa iyong umiiral na metadata, palitan ang pangalan ng klase sa buong tiyak na pangalan ng iyong provider:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Panatilihin ang natitirang bahagi ng iyong fabric.mod.json, kabilang ang mga umiiral na entrypoints nito. Ito ay isang bahagi ng file ng metadata.
Halimbawa, ang extension para sa pagkilos ng mga entidad ay maaaring magrehistro ng example:entity_path sa grupo na entity. Ang documentasyon ng API para sa PacketOrdering ay naglalaman ng implementasyon ng provider.
Kapag wala ang Raknetify2, ang Fabric ay hindi ginagamit ang entrypoint na ito. Dapat na ideklara ng mga provider ang mga identifier at grupo sa panahon ng initialization nang hindi umaasa sa pagkumpleto ng initialization ng ibang mod.
Ang mga mod na Forge at NeoForge, pati na rin ang mga server o proxy plugin, ay maaaring tawagan ang PacketOrdering.register(identifier, group) sa panahon ng pag-initialize kapag available ang Raknetify2. Ang klase para dito ay com.ishland.raknetify.api.PacketOrdering. I-register ito bago tanggapin ang mga koneksyon ng mga manlalaro, at panatilihing hindi naglo-load ang mga klase ng Raknetify2 kapag wala ang dependency na iyon.
Ang mga deklarasyon ay nalalapat sa mga bagong koneksyon. Ang mga umiiral nang koneksyon ay nananatili sa mga patakaran na kanilang natanggap sa panimulang pag-setup. Pinapayagan ang pag-uulit ng parehong deklarasyon. Ang mga magkasalungat na grupo para sa iisang identifier ay tinatanggihan.
Ang mga identifier ng payload ay kailangang gumamit ng isang valid na custom namespace. Ang namespace na minecraft ay nakalaan na. Ang limitasyon sa buong endpoint ay 128 na deklarasyon, kabilang ang mga built-in na patakaran at mga rehistrasyon mula sa ibang mods. Maaaring maglaman ang mga identifier ng hanggang 255 na karakter sa ASCII gamit ang syntax ng namespace identifier ng API.
Sa RakNet, ang mga peer ay nagpapalitan ng mga deklarasyon sa panahon ng pag-setup ng koneksyon. Maaaring gamitin ng server o proxy ang deklarasyon ng peer kapag wala itong lokal na patakaran para sa nasabing payload. Ang mga lokal na patakaran ang may prayoridad, at ang mga deklarasyon ng peer ay limitado lamang sa nasabing koneksyon.
Tingnan ang UDP forwarding at PROXY protocol para sa mga UDP relay at mga adres ng kliyente na na-forward.
Para sa pag-setup ng proxy sa Minecraft, tingnan ang Velocity at BungeeCord.