Repository navigation
Wiki tl ph
- Pangunahing Pahina
- Pag-install
- Velocity at BungeeCord
- Firewall at router configuration
- Kakayahang Magkakasundo
- Ordinado na mode
- Automatikong paglilipat
- UDP forwarding at PROXY protocol
- Simple Voice Chat
- Pag-aayos ng mga problema
- Pag-iintegrayon sa 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 |
-
Pakikipaglaro
-
Bagong Panlingkod
-
Tinitirhan ng Panlingkod
Tinitirhan ng Panlingkod RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Tapos
-
Sumali sa Panlingkod
| F3 | |
|---|---|
| RakNet · UDP | Aktibo · MTU 1400 |
| TCP | Di-aktibo |
- Kliyente · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- Velocity / BungeeCord → TCP → Server
| Pamilang ng Duongan · 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 |
| Tinitirhan ng Panlingkod | 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
| Tinitirhan ng Panlingkod | 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 Pagpipilian |
entity |
Kalansay |
world_interaction |
Talatinggalan |
effects |
Tipik |
chunk |
Bloke |
- Fabric · Minecraft / Java · English
- Forge / NeoForge / Spigot / Paper · GitHub Releases
Ang Raknetify2 ay gumagamit ng RakNet sa pamamagitan ng UDP para sa multiplayer sa Minecraft. Ito ay naghihiwalay sa trapiko sa mga espesipikong channel upang ang pagkawala ng packet sa isang channel ay makapagpahintulot sa trapiko na hindi nauugnay na magpatuloy. Ito ay makakatulong upang mapanatili ang pagiging responsibo ng mga interaksyon habang ang koneksyon ay nagre-recover ng data o nagpapadala 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.
- Tingnan ang kompatibilidad ng Minecraft at mga mod.
- Piliin ang download at i-install ito.
- Konekhin sa isang adres tulad ng
raknet;play.example.com.
- Velocity at BungeeCord
- Firewall at configuration ng router
- Awtomatikong paglilipat
- UDP forwarding at PROXY protocol
- Pagbabahagi ng UDP port sa Simple Voice Chat
- Mga Problema sa Pagtugon at Mga Ulat ng Bug
Mga mod author ay maaaring gamitin 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 nanatili ang orihinal na mga tala ng karapatang-ari. Ang pagpapatupad 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 mag-install.
| Saan mo itinatayo ang iyong installation? | 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 |
| Spigot o Paper server | raknetify2-spigot-*.jar |
plugins |
| Velocity proxy | raknetify2-velocity-*.jar |
plugins |
| BungeeCord proxy | raknetify2-bungee-*.jar |
plugins |
Isara ang kliyente 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 ang iyong loader ay hindi pa ito lumikha.
- I-install ang client mod para sa iyong loader.
- I-install ang naaangkop na server mod, o ang Spigot/Paper plugin sa isang kompatibleng server.
- Sundan ang Firewall at router configuration upang payagan ang mga UDP koneksyon sa server.
- Muling i-restart ang client at server.
- Idagdag ang adres ng server, gaya ng
raknet;play.example.comoraknet;play.example.com:25565.
Ang mga adres na walang prefix na raknet; ay gumagamit ng TCP.
Ang pag-install lamang ng client mod ay hindi nagdaragdag 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 naaangkop na proxy plugin at client mod. Sundin ang Velocity at BungeeCord para sa mga setting ng listener, backend forwarding, 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 |
|---|---|---|
| Fabric, Forge, o NeoForge server | -Draknetify.fabric.portOverride=25570 |
1 hanggang 65534
|
| Spigot o Paper server | -Draknetify.spigot.portOverride=25570 |
1 hanggang 65535
|
Ang Forge at NeoForge ay gumagamit ng parehong code para sa pagdinig ng mga mensahe, 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 bago ang -jar sa command na Java, o sa field ng JVM arguments ng iyong host. I-restart ang server at payagan ang UDP sa napiling listener port. Kung ang public port ay 25570 din, kumonekta sa raknet;play.example.com:25570. Kung ang router ang naglilipat ng port, gamitin ang public port nito sa client address. Ang TCP port ay mananatili sa kasalukuyang halaga nito.
Sa Spigot/Paper, ang UDP listener ay nananatiling may lokal na bind address ng Minecraft TCP listener. Ang isang hindi wastong override o punong UDP port ay nakakahadlang sa pag-uumpisa ng RakNet. Tingnan ang startup log para sa bound UDP address at port. Alisin ang argumento at i-restart upang makabalik sa port number 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 Java arguments ng server.
Buksan ang matagumpay na main run sa GitHub Actions at i-download ang Artifacts archive nito. Kinakailangan ng GitHub ang account upang i-download ang mga artifact 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 backend Minecraft servers. I-install ang Raknetify2 sa proxy at sa bawat client 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. Ang Raknetify2 ay hindi naglilipat ng mga bersyon ng Minecraft o nagbabago sa pag-authenticize ng account ng proxy.
- Siguradong gumagana ang mga karaniwang TCP koneksyon sa pamamagitan ng iyong proxy, kabilang ang autentikasyon at pagpapalit sa pagitan ng mga backend server.
- Tigilan ang proxy at i-download ang naaangkop na 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. - Isinagawa ang angkop na Raknetify2 client mod gamit ang installation guide.
- Tingnan ang mga setting ng listener sa ibaba, muling i-restart ang proxy, at suriin ang log nito para sa mga error sa RakNet listener.
- Pinapayagan ang pampublikong UDP trapiko sa proxy at kinokontrol ang mga port ng paglalaro sa backend ayon sa mga detalyeng nakasaad sa Firewall at router configuration.
Gamitin ang mga kompatibleng Raknetify2 release sa client at proxy. Suriin ang Compatibility bago paghaluin ang iba’t ibang release.
Ang bind setting sa velocity.toml ay pumipili ng listening address at TCP port ng Velocity para sa Minecraft. Karaniwan, ginagamit ng Raknetify2 ang parehong port number para sa UDP. Ang mga entry na [servers] ay tumutukoy sa mga backend server. Ang mga ito ay dapat na nakatuon sa mga backend TCP address. Tingnan ang configuration reference ng Velocity.
Upang gamitin ang isang hiwalay na UDP port, idagdag ang argumentong ito sa JVM bago -jar sa command na ginagamit sa pagpapagana ng Velocity:
-Draknetify.velocity.portOverride=25570
Palitan ang 25570 ng port na gusto mong gamitin. UDP port lang ng RakNet ang mababago. Mananatili ang TCP port ng Velocity at ang mga address ng mga server sa likod nito. I-restart ang Velocity pagkatapos baguhin ang argumento.
Ikonahin ang pag-forward ng mga manlalaro sa parehong Velocity at ang mga backend nito. Gamitin ang modernong pag-forward kapag ang software ng backend ay sumusuporta dito, at panatilihing lihim ang pag-forward na ito. Sundin ang mga tagubilin na espesipiko sa backend 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 pakikinig at TCP port ng Minecraft. Karaniwan, ang Raknetify2 ay nagdaragdag ng UDP sa nasabing port number. Ang mga entry na servers 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 kabilang sa buong proseso ng proxy. Para sa mga configuration na may maraming Minecraft listeners, tingnan ang aktwal na RakNet endpoints sa startup log bago magdagdag ng mga firewall rules. I-restart ang BungeeCord matapos baguhin ang argumento.
Ipinapanatili ang pag-authenticasyon 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 nakakahadlang sa isang tao na direktang makakonekta sa backend. Irestraktuhin ang pag-access sa backend gamit ang instruksyon sa firewall.
Parehong pagbabago sa proxy ay tumatanggap ng mga port mula 1 hanggang 65534. Ang mga hindi wastong halaga ay hindi tinatanggap, kaya suriin ang naka-attach na UDP port sa log ng pag-start. Alisin ang argumento at muling simulan upang makabalik sa numero ng port ng listener ng Minecraft.
Ang mga manlalaro ay konektado sa pampublikong hostname ng proxy at UDP port nito, halimbawa raknet;play.example.com:25570. Kapag ang isang 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 UDP mga port. Ang ibang TCP port ay hindi makakapagresolba sa alitan sa mga UDP socket.
Ang Simple Voice Chat ay gumagamit ng sarili nitong proxy plugin at UDP port sa Velocity at BungeeCord. Sundin ang guidance para sa Voice Chat proxy para sa pag-setup na ito.
Kung may isang hiwalay na UDP relay na nasa harap ng iyong Minecraft proxy at nagpapadala ng mga PROXY protocol v2 header, 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 mula sa labas ng iyong lokal na network gamit ang Raknetify2 client. Sumali sa pamamagitan ng proxy, ilipat sa pagitan ng mga backend server na iyong ginagamit, at tiyaking tama pa rin ang pagkakakilanlan at mga permiso ng manlalaro.
- Kung ang TCP sa pamamagitan ng proxy ay gumagana ngunit ang RakNet ay nagtatapos, suriin ang UDP listener ng proxy, public port, mga ruta para sa IPv4 at IPv6, at mga patakaran ng firewall.
- Kung parehong hindi makakonekta ang mga transport sa pagkakataong ang proxy ay sumusubok makipagkonekta sa backend, suriin ang TCP address ng backend, mga patakaran sa pag-access, at mga konfigurasyon sa pag-forward ng mga manlalaro.
- Kung ang proxy ay nag-ulat na may naka-occupy na UDP port, suriin kung mayroong Query, Geyser, voice proxy, o ibang proseso na nakakonekta dito.
Para sa mga ulat, isama ang parehong proxy at backend logs 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. Kailangang may gumaganang UDP route patungo sa server o proxy na tumatanggap ng RakNet connections ang Raknetify2. Ang default na setup ay gumagamit ng parehong port number 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 host firewall nito. Kailangan ang port forwarding ng router kapag ang internet traffic ay kailangang dumaan sa IPv4 NAT ng iyong router.
Ipadala ang pampublikong UDP traffic 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 host firewall ng makinang server. Panatilihin ang umiiral na TCP route para sa mga karaniwang Minecraft connection.
Halimbawa, kung ang Raknetify2 ay nakikinig sa UDP 25570, ipadala ang pampublikong UDP port sa lokal address ng server sa port 25570. Maaaring manatili ang TCP port ng server sa 25565. Tingnan direct-server listener settings upang pumili ng ibang UDP port.
Ipadala ang pampublikong UDP traffic 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 pampublikong TCP route ng proxy para sa mga karaniwang Minecraft connection.
Ang proxy ay kumokonekta sa mga backend Minecraft servers gamit ang TCP. Ang pagdaragdag ng Raknetify2 sa proxy ay hindi nangangailangan ng pagbubukas ng mga UDP port para sa paglalaro ng mga manlalaro.
| Koneksyon | Pag-access na pinapayagan |
|---|---|
| Mga manlalaro sa proxy | Pampublikong UDP para sa tagapakinig ng RakNet, pati na rin ang umiiral na pampublikong TCP tagapakinig. |
| Proxy para sa mga backend server | Mga port ng TCP sa backend ng Minecraft, na maaaring ma-access lamang mula sa mga itinakdang proxy host. |
| Mga manlalaro, pumunta na kayo sa mga backend gameplay ports. | Patuloy na haranganin, kahit sa pamamagitan ng IPv6. |
Kapag ang proxy at mga backend ay tumatakbo direkta sa isang dedikadong makina na kinokontrol mo, maaaring gamitin ng mga backend listener ang mga loopback address na may proxy na nakakonfigurashin para maabot sila doon. Sa pagitan ng iba’t ibang makina, limitahan ang TCP access ng mga backend sa proxy hosts gamit ang firewall o isang isolated private network. Ang mga container at managed hosts ay nangangailangan din ng katumbas 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 nagtatrabaho nang magkasama. Ang direktang pag-access sa backend ay maaaring lampasan ang mga pag-verify sa 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.
Ang pampublikong port at ang port ng listener ay maaaring magkaiba kapag ang router ay nagkokomunikasyon sa pagitan ng mga ito.
| Pagtatakda | Ginagamit na Port |
|---|---|
| Alamat ng kliyente at server | Pampublikong UDP port |
| Mga patakaran sa pagpapadala ng data ng router para sa external port | Pampublikong UDP port |
| Ang panloob na port ng mga patakaran sa pagpapadala ng router | Ang UDP port ng RakNet listener |
| Lokal na port ng firewall ng host | Ang UDP port ng RakNet listener |
Para sa pagho-host sa likod ng isang IPv4 router:
- Hanapin ang lokal na IPv4 address ng makina na tumatanggap ng RakNet koneksyon. Gamitin ang DHCP reservation o isang angkop na static na address upang ang rule ng forwarding ay patuloy na target ang makina na iyon.
- Idagdag ang isang UDP forwarding rule para sa public port na gagamitin ng mga player.
- Itak ang destinasyon ng rule sa lokal na adres ng makinang iyon at sa UDP port ng RakNet listener.
- Payagan ang inbound UDP sa port ng listener sa firewall ng host.
Halimbawa, ang 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.
Kailangang 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 maabot ng trapiko ang iyong router. Kung mayroon kang dalawang router, kailangang sakupin ng forwarding ang pareho. Kung ang iyong ISP ay gumagamit ng carrier-grade NAT, tanungin kung maaari nitong magbigay ng public IPv4 address o gumamit ng hosting service o tunnel na sumusuporta sa inbound UDP. Ang forwarding rule ng iyong router ay hindi makakapag-configure ng NAT ng ISP. Tingnan ang TP-Link’s port forwarding guidance 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 na ang IPv6 address ng hostname ay tumutukoy sa makinang iyon. Kung ang IPv6 address nito ay nagbabago, i-update ang DNS record at ang anumang address-specific na firewall rules.
Ang hostname na nagpapakita ng 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 ang IPv4 forwarding ay nagbabago sa numero ng port, tiyaking ang port na ito ay naaabot din ng IPv6 listener. Ang IPv4 port translation ay hindi nagkokonfigure sa IPv6 route.
Ang provider o tunnel ay kailangang suportahan ang UDP sa public endpoint na ibinibigay mo sa mga manlalaro. Suriin ang mga port allocation nito, mga patakaran sa network firewall, pati na rin ang sariling firewall ng server.
Kung ang isang karagdagang UDP proxy ay 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 pampublikong UDP port sa adres na ito.
Gamitin ang tunay na RakNet koneksyon upang makumpirma ang ruta. Ang UDP scan na hindi nakakatanggap ng sagot ay maaaring mag-ulat ng resultang hindi tiyak dahil ang gumaganang serbisyo ay maaaring itakwil ang isang hindi pamilyar na probe. Ang dokumentasyon ng Nmap UDP scan ay nagpapaliwanag sa pag-uugaling ito.
Ang matagumpay na TCP connection ay nagpapatunay lamang sa TCP route. Kung ang RakNet ay timeout, suriin ang listener, forwarding destination, UDP port, at firewall rules 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 branch ng pag-unlad.
Minecraft at mga bersyon ng 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 runtime. Piliin ang bersyon ng Java na sumusuporta sa lahat ng tatlo.
Gamitin ang Raknetify2 release sa kliyente at server, o proxy na tumatanggap ng koneksyon nito kung posible. Suriin ang release notes bago paghaluin ang iba’t ibang release. Ang mga naka-encrypt na RakNet koneksyon ay nangangailangan ng suporta para sa authenticated encryption protocol sa parehong dulo. Ang mga orihinal na build ng Raknetify at Raknetify2 bago inilunsad ang protocol na iyon ay hindi makakagawa ng mga naka-encrypt na koneksyon sa mga updated na peer.
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 kompatibleng pag-convert ng protocol.
Kung may pagkabigo sa isang mas malaking modpack, sundin ang troubleshooting guide. Ilagay ang buong bersyon ng mga mod sa iyong ulat.
Karaniwan, ang Raknetify2 ay pinapayagan ang mga independiyenteng packet channel na magpatuloy habang ang isang channel ay naghihintay para sa mga nawawalang datos. Sa mode na ordered, lahat ng Minecraft packet ay inilalagay sa isang channel, kaya ang isang nawawalang packet ay magpapatigil sa lahat ng packet sa direksyong iyon hanggang sa ito ay muling maipadala. Ito ay nagpapanatili sa pagkakasunod-sunod na inaasahan ng ilang anti-cheat software, ngunit iniiwan nito ang kakayahang ng Raknetify2 na panatilihing umusad ang hindi nauugnay na trapiko sa laro habang naghihintay.
-
I-install ang Raknetify2 build na sumusuporta sa ordered mode sa server o proxy na tumatanggap ng RakNet connections, pati na rin sa bawat RakNet client.
-
Lumikha ng
config/raknetify2-compatibility.jsonsa lugar kung saan naroon ang working directory ng server o proxy na iyon. Lumikha rin ng direktoryongconfigkung ito ay wala pang umiiral. -
Idagdag ang sumusunod:
{"mode": "ordered"} -
Muling 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 configuration file o baguhin ang kanilang RakNet server address.
Lahat ng mga packet sa Minecraft ay gumagamit ng isang maaasahan at maayos na channel sa bawat direksyon, kabilang ang mga delimitador ng bundle at mga paglipat ng mundo.
Kapag ang mga manlalaro ay nakakonekta sa pamamagitan ng Velocity o BungeeCord, kailangang i-set ang ordered mode sa proxy na iyon, 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 backend keepalive request sa tunay na kliyente sa halip na sagutin ang mga ito sa lokal.
Sa unang RakNet koneksyon, iniulat ng console:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Ang matagumpay na pagpapalitan ng kompatibilidad ay iniraralala rin bilang ordered compatibility negotiated, kasunod ng adres ng peer.
Panatilihing aktibo ang mga pag-verify sa pag-iwas 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 makipagkonek sa server o proxy gamit ang normal na TCP address at port nang wala ang raknet; prefix.
Baguhin ang file sa:
{"mode": "multichannel"}Kung gayon, muling i-start ang server o proxy. Ang pagtanggal sa file ay makakabalik din sa multichannel mode 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 wastong o hindi mabasa na konfigurasyon ay nagrereject sa mga koneksyon sa RakNet. Itama ang file at muling simulan ang proseso.
Kung ang console ay patuloy na nagrereport ng multichannel, tiyaking ang file ay nasa working directory ng server o proxy na tumatanggap ng RakNet connection, pagkatapos ay muling simulan ang proseso na iyon.
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. Ito ay ginagamit ang native transfer support ng Minecraft, na inilunsad sa Java Edition 1.20.5. Tiyaking ang iyong Raknetify2 release ay sumusuporta sa bersyon at loader ng Minecraft sa bawat panig.
I-install ang Raknetify2 sa sending server at client. Ang destinasyon ay kailangang magkaroon ng kompatibleng RakNet listener at tanggapin ang mga incoming Minecraft transfer.
Ang konfigurasyong ito ay nalalapat sa mga transfer 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 transfer na ito.
Lumikha ng config/raknetify2-transfers.json sa direktoryo ng server na magpapadala.
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Palitan ang halimbawa ng hostname at ports sa mga halaga ng iyong destinasyon, pagkatapos ay muling i-start ang server na nagpapadala. Ang mga karagdagang destinasyon ay ilagay sa parehong array.
| Lugar/Field | Kahulugan |
|---|---|
host |
Ang pangalan ng host o IP address ng destinasyon, nang wala ang prefix ng transportasyon o port. |
tcpPort |
Ang destinasyonal na port sa orihinal na transfer request |
udpPort |
Ang pampublikong RakNet port ng kliyenteng nakatanggap ay kailangang makipag-ugnayan. |
Ang mga TCP at UDP port numbers ay maaaring magkapareho. Kung ang router ay naglilipat ng UDP port, gamitin ang public port sa file na ito. Isulat ang mga port bilang JSON numbers.
Ipadala ang mga transfer sa karaniwang hostname at TCP port ng destinasyon. Ang Raknetify2 ay tinitiyak kung ang kliyente ay nagpapahayag ng suporta para sa automatic-transfer. Para sa isang kliyenteng may kakayahan at isang destinasyon na tugma, pipiliin nito ang naka-configure na UDP port. Ang ibang kliyente at mga destinasyon na hindi tugma ay mananatiling may orihinal na address ng transfer.
Ang Matching ay gumagamit ng hostname at TCP port mula sa transfer request. Ang pagpapalit ng kapital sa hostname, ang huling DNS dot, at ang katumbas na pagbabaybay ng IPv6 ay normalisado. Ang DNS lookups ay hindi kasama sa proseso ng matching, kaya ang dalawang magkaibang hostname na nagpapahiwatig sa parehong adres ay nangangailangan ng magkahiwalay na entry. Ang mga wildcard entry ay hindi sinusuportahan.
Para sa destinasyon na gumagamit ng server.properties ng Minecraft, set ang accepts-transfers=true at i-restart ito. Maaaring may sariling setting sa transfer ang proxy ng destinasyon. Ang default na setting ng Minecraft ay hindi tinatanggap ang mga incoming transfer, kahit na normal ang direct join.
Ang RakNet listener ng destinasyong iyon, ang public UDP forwarding, at ang host firewall ay kailangang nakakonfigure na. Ang transfers file ng sending server ang pumipili ng adres na ipapadala sa client.
Kailangang 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 karaniwang direktang RakNet koneksyon sa destinasyon bago suriin ang pag-uugali ng awtomatikong paglilipat.
Panatilihin ang anumang pag-verify ng pag-log in o pagpasok sa sistema. Ang konfigurasyong ito ay hindi nagbibigay ng access sa mga manlalaro o pumapalit sa proseso ng pag-autentikasyon ng server.
Ang mga nawawalang field, hindi kilalang field, hindi wastong mga port, at mga duplikadong destinasyon ay nagiging sanhi ng pagkakamali sa konfigurasyon sa panahon ng pagpapasigla. Gamitin ang log ng server upang makilala ang pagkakamali, ayusin ang JSON, at mag-restart.
Upang hindi magamit ang awtomatikong pagpili, alisin ang file ng konfigurasyon o gamitin ang {"destinations": []}, pagkatapos ay i-restart ang server ng pagpapadala. 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 mapangalagaan ang orihinal na address ng kliyente 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"]
}Ang IP address ng UDP proxy ay dapat na katumbas ng aktwal na source IP address o CIDR range na kinokontrol mo. Ang address ay kailangang tumugma sa kung ano ang nakikita ng receiving listener matapos ang anumang NAT. Tatanggapin ang mga IPv4 at IPv6 literals. Hindi tatanggapin ang DNS hostnames. I-restart ang receiving server o proxy.
Ikonahin ang forwarding proxy upang magpadala ng PROXY protocol v2 headers para sa UDP. Ang Raknetify2 ay tanging tatanggapin ang mga forwarded client address mula sa mga nabanggit na pinagmulan. Ang mga direktang RakNet connection na walang mga header na ito ay tatanggihan habang aktibo ang konfigurasyon na ito. Ang TCP listener ay nananatiling mayroong 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 firewall nito upang tanging ang nais na proxy lamang ang makarating doon. Panatilihing makitid ang mga saklaw ng pagtitiwala hangga’t maaari sa iyong network.
Ang file ay dapat lamang maglaman ng trustedProxies, na may hindi kukulangin sa isang entry. Ang isang walang laman na array ay isang pagkakamali. Ang isang hindi wastong file ay makakapigil sa pag-uumpisa ng RakNet listener.
Upang makabalik sa direktang UDP koneksyon, alisin ang file at i-restart ang listener. I-update din ang upstream forwarding behavior at firewall rules para sa bagong ruta.
Kung ang mga koneksyon ay hindi nagtatagumpay matapos ma-enable ang feature na ito, suriin ang aktwal na source address ng proxy sa backend, ang naka-configure na trusted range, at kung ang proxy ay nagpapakita ng 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 nagnanais ng voice chat. Sundin ang server setup guide para sa natitirang konfigurasyon nito.
Gamitin ang config directory sa pinakamataas 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.
-
Lagyan ang
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, ito ay nasaplugins/voicechat/voicechat-server.properties. -
Kung mayroong isang RakNet listener na tumutugma, hayaan ang
bind_addressna walang laman. Kung ang server ay may maraming listener sa UDP port na iyon, itakda ito sa lokal na adres ng listener na gusto mong ibahagi. -
I-restart ang server at patakbuhin ang
/voicechat test <PLAYERNAME>para sa isang konektadong manlalaro.
Kung ang RakNet listener ay gumagamit ng ibang port kumpara sa Minecraft, itakda ang port sa lokal na UDP port na iyon nang direkta, sa halip na gamitin ang -1. Halimbawa, ang RakNet listener sa lokal na UDP port 25570 ay kailangang may port=25570.
Itakda ang voice_host kapag ang mga kliyente ay nangangailangan ng ibang public address o port. Para sa isang 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.
Ang Query at Geyser ay kailangang magkaroon ng kani-kanilang UDP port. Ang shared socket integration ay suportahan lamang ang 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, itakda ang voice_host sa pampublikong 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, kumpirmahing matagumpay na nagsimula ang RakNet, at ang voice port at bind address ay naaayon sa local listener nito.
Kung ang ulat ay Multiple RakNet listeners match the voice bind address, piliin ang tiyak na lokal na adres na katumbas ng bind_address at subukan muli.
Isang Simple Voice Chat plugin lamang ang maaaring magbigay ng UDP socket nito. Kung sa pag-uumpisa ay lumabas na may ibang plugin na nagbibigay na ng socket, piliin kung aling socket integration ang gagamitin.
Upang mapigilan ang integrasyon ng Raknetify2, kailangan mong baguhin 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 ng trapiko nito, at muling i-start ang server.
Suriin ang mga ito ayon sa pagkakasunod-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 naka-install na Raknetify2 at nagsimula nang walang error sa listener.
- Ang adres ay nagsisimula sa
raknet;at gumagamit ng pampublikong UDP port. - Ang tagapagbigay ng serbisyo, router, at host firewall ay lahat nagpapahintulot sa UDP sa port na iyon.
- Ang IPv4 at IPv6 mga address ng hostname ay humahantong sa ninanais na host at may gumaganang mga firewall rules.
Ang matagumpay na TCP connection ay nagpapatunay lamang sa TCP route. Sundin ang Firewall at router configuration upang suriin ang UDP forwarding at IPv6 access. Kung enabled ang PROXY protocol, kailangang maabot ng mga kliyente ang listener sa pamamagitan ng isang nakonfigururang trusted proxy.
Suriin kung may ibang proseso na ginagamit ang UDP port. Ang Geyser 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. Suriin ang kinakailangang bersyon para sa Spigot/Paper setting. Ang pagbabago lamang sa public port ng router ay nagpapabaya sa lokal na socket conflict.
Konekhin direktang sa destinasyon gamit ang raknet; address nito. Kung hindi ito posible, ayusin muna ang listener ng destinasyon o ang network route.
Kung maaaring magkaroon ng 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. Ang direktang pag-attach sa server ay hindi sinusuri ang setting na ito.
Kung gayon, ikumpara 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 ang client ay sumusuporta sa awtomatikong RakNet transfers. Tingnan Awtomatikong paglilipat.
Tingnan ang mga bersyon ng Raknetify2 sa kapwa panig ng koneksyon. I-update ang client at server o proxy nang sabay-sabay kapag ang isang release ay nagbabago sa naka-encrypt na protocol. Panatilihin ang mga setting ng authentication ng server habang isinasagawa ang imbestigasyon.
Talaan 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 payloads 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 Raknetify2 mga bersyon sa kapwa panig.
- Mga bersyon ng software ng server at proxy, kabilang ang anumang UDP forwarding proxy.
- Iba pang naka-install na mods at ang mga bersyon ng mga ito.
- Mga hakbang upang makita ang problema at kung ano ang inaasahan mong mangyari.
- Kung ang mga parehong hakbang ay gagana sa TCP.
- Mga halimbawa ng talaan ng kliyente, server, at proxy mula sa parehong pagtatangka.
Alisin ang mga access tokens, passwords, at iba pang pribadong impormasyon bago i-upload ang mga log. Panatilihin ang mga mensahe ng eksepsyon at stack trace na kinakailangan upang makita ang problema.
Ang Raknetify2 ay nagpapahintulot sa mga mod na ideklara kung anong trapiko sa Minecraft ay kailangang manatiling maayos gamit ang kanilang mga custom na payloads. Gamitin ito kapag ang paghawak sa isang payload ay nangangailangan ng isang 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 teritoryo, bloke, at ilaw |
Lahat ng grupo ay may maaasahang at maayos na 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 naaayon sa pagkakabuo ng payload.
Idagdag ang isang provider sa 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. Ito ay tumatanggap ng isang registrar na tumatanggap ng custom na payload identifier at isang ordering group.
Ilagay ang entry na ito sa iyong kasalukuyang metadata. Palitan ang pangalan ng klase sa pangalan na eksaktong ibinigay ng iyong provider.
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Kailangang panatilihin ang natitirang bahagi ng iyong fabric.mod.json, kabilang ang mga umiiral na entrypoints nito. Ito ay isang bahagi ng metadata file.
Halimbawa, ang isang entity movement extension ay maaaring magrehistro ng example:entity_path sa entity group. Ang PacketOrdering API documentation ay naglalaman ng implemenasyon 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 inisialisasyon, nang hindi umaasa sa pagkumpleto ng inisialisasyon 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 ang Raknetify2 ay available. Ang klase ay com.ishland.raknetify.api.PacketOrdering. Magrehistro bago tanggapin ang mga koneksyon ng mga manlalaro, at panatilihing hindi naglo-load ang mga klase ng Raknetify2 kapag ang dependency ay wala.
Ang mga deklarasyon ay nalalapat sa mga bagong koneksyon. Ang mga umiiral nang koneksyon ay nananatiling sumusunod sa mga patakaran na kanilang natanggap noong sila ay itinatag. 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 reserved. Ang limitasyon sa buong endpoint ay 128 declaration, kabilang ang mga built-in na patakaran at mga registration mula sa ibang mods. Maaaring maglaman ang mga identifier ng hanggang 255 ASCII character gamit ang syntax ng namespace identifier ng API.
Sa RakNet, ang mga peer ay nagpapalitan ng mga deklarasyon sa panahon ng pag-set up ng koneksyon. Maaaring gamitin ng isang server o proxy ang deklarasyon ng peer kung 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 UDP forwarding at PROXY protocol para sa UDP relays at forwarded client addresses.
Para sa pag-setup ng Minecraft proxy, tingnan ang Velocity at BungeeCord.