Repository navigation
Wiki mn mn
- Нүүр хуудас
- Тайлбарлах
- Velocity ба BungeeCord
- Гал ашиглах болон роутерын тохиргоо
- Тусгай хувилбараа шалгах
- Дараалсан горим
- Автоматаар шилжүүлэх
- UDP дамжуулалт ба PROXY протокол
- Simple Voice Chat
- Асуудлыг шийдвэрлэх
- Мод нэгтгэл
- UDP проксиуд
Minecraft клиент болон серверт зориулсан RakNet сүлжээний холболт.
| Minecraft | Raknetify2 | Клиент / Сервер |
|---|---|---|
| Fabric | mods/raknetify2-fabric-*.jar |
Клиент / Сервер |
| Forge | mods/raknetify2-forge-*.jar |
Клиент / Сервер |
| NeoForge | mods/raknetify2-neoforge-*.jar |
Клиент / Сервер |
| Spigot / Paper | plugins/raknetify2-spigot-*.jar |
Сервер |
| Velocity | plugins/raknetify2-velocity-*.jar |
Velocity |
| BungeeCord | plugins/raknetify2-bungee-*.jar |
BungeeCord |
-
Олуулаа тоглох
-
Сервер нэмэх
-
Серверийн хаяг
Серверийн хаяг RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Болсон
-
Серверт орох
| F3 | |
|---|---|
| RakNet · UDP | Идэвхтэй · MTU 1400 |
| TCP | Идэвхгүй |
- Клиент · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- Velocity / BungeeCord → TCP → Сервер
| Портын дугаар · 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 |
| Серверийн хаяг | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Сервер · 192.0.2.10
|
25570/udp |
Сервер / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| Сервер | 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
| Серверийн хаяг | trustedProxies |
RakNet |
|---|---|---|
192.0.2.10 · PROXY v2 / UDP |
["192.0.2.10"] |
✓ |
192.0.2.11 · PROXY v2 / UDP |
["192.0.2.10"] |
✗ |
| Клиент → RakNet / UDP | ["192.0.2.10"] |
✗ |
config/raknetify2-proxy-protocol.json
{"trustedProxies":["192.0.2.10"]}-
Сервер A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Сервер B ·
play.example.com·server.properties→accepts-transfers=true -
Сервер A ·
/transfer play.example.com 25565 Alex→ Клиент (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Тохиргоо |
entity |
Араг яс |
world_interaction |
Эд зүйлс |
effects |
Тоосонцорууд |
chunk |
Блокууд |
- Fabric ·
compatibility.json·gameVersions/runtimes/depends - Forge / NeoForge / Spigot / Paper · GitHub Releases
Raknetify2 нь Minecraft тоглоомын олон тоглогчийн горимд RakNet протоколоор өгөгдлийг UDP ашиглан дамжуулдаг. Урсгалыг хэд хэдэн сувагт хуваадаг тул нэг сувгийн пакет алдагдсан ч бусад сувгаар өгөгдөл хэвийн дамжина. Ингэснээр дутуу өгөгдлийг дахин илгээх эсвэл ертөнцийн хэсгүүдийг дамжуулах үед тоглоом тоглогчийн үйлдэлд хариулах боломжтой.
Raknetify2 нь ishland-аар анх хөгжүүлсэн Raknetify-ийн бие даасан хувилбар юм. Энэхүү хувилбар нь шинэ Minecraft хувилбаруудад дэмжлэг нэмж, тээвэрлэлт, платформ интеграци, болон нийцтэй байдлын туршилтыг хадгалдаг.
- Minecraft болон модны нийцтэй байдлыг шалгах.
- Татаж авахыг сонгож суулгах.
-
raknet;play.example.comгэх мэт хаягаар холбогдох.
- Velocity болон BungeeCord
- Батлагч ба роутер тохиргоо
- Автоматаар шилжүүлэх
- UDP дамжуулалт ба PROXY протокол
- Simple Voice Chat-тай UDP портыг хуваалцах
- Асуудал шийдвэрлэх ба алдааны тайлант
Мод зохиолчид тусгай ачааллууд болон Minecraft-ийн трафикийн хоорондын хамаарлыг зарлахын тулд пакетын дарааллын интерфэйс-ийг ашиглаж болно.
Raknetify2 нь MIT лиценз-ийг ашигладаг бөгөөд анхны зохиогчийн эрхийн мэдэгдлүүдийг хадгална. Түүний сүлжээний хэрэгжилт нь Raknetify болон netty-raknet-д тулгуурладаг.
GitHub Releases-аас хувилбар татаж авах. Татаж авахын өмнө тухайн хувилбарын Minecraft-ийн хувилбар болон loader-ийн шаардлагыг шалгана уу.
| Та хаана суулгаж байгаа | Файл | Хавтас |
|---|---|---|
| Fabric клиент эсвэл сервер | raknetify2-fabric-*.jar |
mods |
| Forge клиент эсвэл сервер | raknetify2-forge-*.jar |
mods |
| NeoForge клиент эсвэл сервер | raknetify2-neoforge-*.jar |
mods |
| Spigot эсвэл Paper сервер | raknetify2-spigot-*.jar |
plugins |
| Velocity прокси | raknetify2-velocity-*.jar |
plugins |
| BungeeCord прокси | raknetify2-bungee-*.jar |
plugins |
JAR-аа солихын өмнө клиентээ хаах эсвэл серверийг зогсоох. Шинэ файлыг нэмэхээс өмнө анхны Raknetify JAR болон ижил суурилуулалтаас хуучин Raknetify2 JAR-уудыг арилгана.
Клиентийн фолдерууд таны ажиллуулсан Minecraft инстанс эсвэл модпактай холбоотой. Сервер болон проксийн фолдерууд нь тэр сервер эсвэл проксийн суурилуулалтад хамаатай. Хэрэв таны loader хараахан үүсгээгүй бол тохирох фолдерыг үүсгэнэ.
- Өөрийн loader-д зориулсан клиент mod-ыг суулгана уу.
- Тохирох сервер mod-ыг эсвэл нийцтэй сервер дээр Spigot/Paper plugin-ийг суулгана уу.
- Firewall and router configuration-ийг дагаж, сервер рүү UDP холболтыг зөвшөөрнө.
- Клиент болон серверийг дахин ачаалах.
-
raknet;play.example.comэсвэлraknet;play.example.com:25565гэх мэт серверийн хаягийг нэмнэ үү.
raknet; префиксгүй хаягууд TCP-г ашиглана.
Зөвхөн клиент мод суулгах нь алс дахь серверт RakNet дэмжлэг нэмэхгүй. Серверийн оператор RakNet төгсгөлийн цэгийг өгөх ёстой. Бусдын сервэр рүү орох тоглогчдод ихэвчлэн орох маршрутийн дамжуулалтын дүрмүүд хэрэггүй.
Тохирох прокси плагиныг болон клиент модыг суулгана уу. Сонгодог сонсогчийн тохиргоо, сүүлийн хэсэг рүү дамжуулалт, хандалтын хязгаарлалт, болон тоглогчид ашиглах ёстой хаяг зэргээр Velocity ба BungeeCord-ийг дагана уу.
Шууд Minecraft серверт зориулж, доорх тохирох Java аргументийг тохируулна. Прокси операторууд Velocity болон BungeeCord-ийн сонсогчийн тохиргоо-г ашиглах ёстой.
| Платформ | Java аргумент | Хүлээн авах портууд |
|---|---|---|
| Fabric, Forge эсвэл NeoForge сервер | -Draknetify.fabric.portOverride=25570 |
1 -аас 65534 хүртэл |
| Spigot эсвэл Paper сервер | -Draknetify.spigot.portOverride=25570 |
1 -аас 65535 хүртэл |
Forge болон NeoForge нь нийтлэг сонсогч кодыг ашигладаг тул тэдгээрийн шинж чанарын нэрэнд fabric багтана. 25570-ийг хүссэн UDP портын дугаараар орлуулна уу.
Spigot / Paper ≥ 0.1.0-beta.1.431
Java командыг -jar-аас өмнө, эсвэл хостийн JVM аргумент хэсэгт нэмнэ. Серверийг дахин ажиллуулж, сонгосон UDP портыг зөвшөөрнө. Хэрэв нийтийн порт ч мөн 25570 бол raknet;play.example.com:25570 -ээр холбогдоно. Хэрэв роутер портыг орчуулж байгаа бол клиент хаягт түүний нийтийн портыг ашиглана. TCP порт өмнөх утгаараа байна.
Spigot/Paper дээр UDP сонсогч Minecraft TCP сонсогчийн орон нутгийн холбогдох хаягийг хадгална. Буруу давхардах эсвэл эзлэгдсэн UDP порт RakNet-ийг эхлэхээс сэргийлнэ. Холбогдсон UDP хаяг болон портыг эхлэх логигоос шалгана. Аргументийг арилгаж дахин ажиллуулснаар TCP сонсогчийн порт дугаар руу буцна.
Роутер эсвэл UDP прокси нь серверийн Java аргументийг өөрчлөхгүйгээр өөр нийтийн UDP портыг ил гаргаж, одоо байгаа сонсогчид дамжуулж болно.
GitHub Actions-д амжилттай main гүйцэтгэлийг нээж, түүний Artifacts архивыг татаж аваарай. GitHub нь ажлын урсгалын артефактнуудыг татаж авахын тулд данс шаарддаг. Архив дахь JAR-ыг сонгохын тулд дээрх суурилуулах хүснэгтийг ашиглана.
Velocity болон BungeeCord нь тоглогчид болон сүүлийн Minecraft сервэрүүдийн дунд байрлана. RakNet-ээр холбогдох бүх клиент дээр болон прокси дээр Raknetify2-г суулгана уу.
Raknetify2 клиент --UDP--> Velocity эсвэл BungeeCord --TCP--> сүүлийн сервэр
Сүүлийн сервэрүүдэд энэ холболтын замд Raknetify2 хэрэггүй. Тэдний сүлжээнд шаардлагатай мод, плагин, болон дамжуулах дэмжлэг хэвээрээ хэрэгтэй. Raknetify2 нь Minecraft хувилбарыг орчуулах эсвэл проксийн дансны баталгаажуулалтыг өөрчлөхгүй.
- Проксийнхөө дамжуулан ердийн TCP холболтууд, баталгаажуулалт болон сүүлийн сервэрүүд хоорондоо шилжих зэрэг ажиллаж байгаа эсэхийг баталгаажуулна уу.
- Проксиг зогсоож, GitHub Releases-ээс тохирох плагиныг татаж аваарай.
-
raknetify2-velocity-*-all.jarэсвэлraknetify2-bungee-*-all.jar-ийг проксийнpluginsфолдерт хийнэ. Тухайн фолдер доторх хуучин Raknetify эсвэл Raknetify2 плагинуудыг устгана. - Installation guide-ийг ашиглан тохирох Raknetify2 клиент мод суулгана уу.
- Доорх сонсогчийн тохиргоог шалгана уу, проксиг дахин эхлүүлээд, RakNet сонсогчийн алдааг түүний логт шалгана уу.
- Проксид нийтийн UDP трафикийг зөвшөөрч, Firewall and router configuration-д тодорхойлсон байдлаар сүүлийн хэсгийн тоглоомын портуудыг хязгаарлаарай.
Клиент болон прокси дээр нийцтэй Raknetify2 хувилбарыг ашиглана уу. Хувилбаруудыг холихын өмнө Тусгаарлалт-ыг шалгана уу.
velocity.toml-ийн bind тохиргоо нь Velocity-ийн Minecraft сонсох хаяг болон TCP портыг сонгодог. Raknetify2 ихэвчлэн UDP-д ижил портын дугаарыг ашигладаг. [servers] хэсгүүд нь арын серверүүдийг тодорхойлдог. Эдгээр хэсгүүдийг арын TCP хаягуудад чиглүүлэн байлгана уу. Velocity-ийн тохиргооны ашиглалтын тайлбар-ыг үзнэ үү.
Тусад нь UDP порт ашиглахын тулд Velocity-ийн эхлэлт команд дотор -jar-аас өмнө энэ JVM аргументийг нэмнэ үү:
-Draknetify.velocity.portOverride=25570
25570-ыг сонгосон портоор орлуулна уу. Энэ нь RakNet UDP портыг өөрчилдөг боловч Velocity-ийн TCP порт болон арын хаягуудыг хадгална. Аргументийг өөрчилсний дараа Velocity-г дахин эхлүүлнэ.
Velocity болон түүний сүүлийн системүүдэд тоглогчийн дамжуулалтыг тохируулах. Сүүлийн систем програм хангамж дэмждэг үед орчин үеийн дамжуулалтыг ашиглаж, түүний дамжуулалтын нууцг хэвээр үлдээх. Velocity-ийн тоглогчийн мэдээлэл дамжуулах гарын авлага-д заасан сүүлийн систем тусгай зааврыг дагаж мөрдөнө. Дамжуулалтыг хадгалахын зэрэгцээ сүүлийн системийн гал түймрийн хязгаарлалтыг хадгална.
BungeeCord-ийн config.yml-д, listeners бүрийн доорх host утга нь Minecraft-ийн сонсогч хаяг болон TCP портыг тодорхойлдог. Raknetify2 ихэвчлэн тэрхүү портын дугаар дээр UDP-г нэмдэг. servers бүрт сүүлийн системийн TCP хаягууд багтана. Эдгээр тохиргоог BungeeCord-ийн тохиргооны гарын авлага-д тодорхойлсон байна.
Тусад нь UDP порт ашиглахын тулд BungeeCord-ийн эхлүүлэх команд доторх -jar-аас өмнө энэ JVM аргументийг нэмнэ:
-Draknetify.bungee.portOverride=25570
Дахин тохируулга бүх прокси үйл явцад хамаарна. Олон Minecraft сонсогчидтай тохиргоотой бол гал түймрийн дүрмийг нэмэхээс өмнө эхлүүлэх логит дэх бодит RakNet төгсгөлийг шалгана. Аргументийг өөрчилсний дараа BungeeCord-ийг дахин эхлүүлнэ.
Прокси дээр дансны баталгаажуулалтыг хадгалах. Spigot сүүлийн системүүдэд, BungeeCord-ийн IP шилжүүлэх заавар нь прокси дээрх ip_forward: true-г сүүлийн систем дээрх settings.bungeecord: true-тай хослуулдаг. Зөвхөн шилжүүлэх нь хэн нэгнийг шууд сүүлийн систем рүү холбогдохыг зогсоохгүй. Галт хананы заавар ашиглан сүүлийн системийн хандалтыг хязгаарлаарай.
Хоёулаа проксийн дахин тохиргоо нь 1-ээс 65534 хүртэлх портуудыг хүлээн авдаг. Буруу утгуудыг үл тоомсорлодог тул эхлэх логийн UDP портыг шалгана уу. Аргументийг арилгаж, дахин эхлүүлснээр Minecraft-ийн сонсогчийн портын дугаар руу буцна.
Тоглоомын тоглогчид проксийн нийтийн хост нэр болон UDP портын дугаар руу холбогддог, жишээлбэл raknet;play.example.com:25570. Хэрэв роутер портуудыг орчуулж байвал, клиент хаягт түүний нийтийн UDP портыг ашиглана уу. raknet; префиксгүй хаягууд проксийн TCP сонсогчийн портыг ашиглахдаа үргэлжлэнэ.
Query, Geyser болон бусад UDP үйлчилгээг тусдаа UDP портууд дээр үлдээгээрэй. Өөр TCP порт нь UDP сокетын зөрчлийг шийддэггүй.
Simple Voice Chat өөрийн прокси плагин болон Velocity болон BungeeCord дээрх UDP портыг ашигладаг. Энэхүү тохиргоог хийхийн тулд Voice Chat прокси зааварчилгаа-г дагана уу.
Хэрэв таны Minecraft проксин өмнө тусдаа UDP релей байрлаж, PROXY протоколын v2 толгойг илгээдэг бол Raknetify2-г UDP дамжуулалт болон PROXY протокол-г ашиглан тохируулна уу. Зөвхөн Velocity эсвэл BungeeCord-г өөрөө суулгах нь тухайн тохиргоог шаарддаггүй.
Raknetify2 клиент ашиглан таны орон нутгийн сүлжээний гаднаас туршилт хий. Проксигоор дамжин ороод, таны ашигладаг арын серверүүд хооронд шилжиж, тоглогчийн үнэнч байдал болон эрх зөвшөөрлүүд зөв байгаа эсэхийг баталгаажуулна уу.
- Хэрэв проксигоор дамжуулан TCP ажиллаж байгаа боловч RakNet цаг хэтэрвэл, проксийн UDP сонсогчийг, нийтийн портыг, IPv4 болон IPv6 замыг, болон гал ашиглах дүрмүүдийг шалгана уу.
- Хэрэв прокси бакендтай холбогдох үед хоёр дамжуулалт хоёулаа алдаатай бол, тухайн бакендын TCP хаяг, хандалтын дүрмүүд болон тоглогчийн дамжуулах тохиргоог шалгана уу.
- Хэрэв прокси нь UDP порт эзлэгдсэн гэж мэдээлбэл, Query, Geyser, дуу хоолойн прокси эсвэл түүнд холбогдсон өөр үйл явцыг шалгана уу.
Мэдэгдэл илгээхдээ ижил холболтын оролдлогоос прокси болон бакенд хоёулангын логуудыг оруулна уу. Оруулах хувилбарын мэдээллийн тулд Асуудлыг шийдвэрлэх-ийг үзнэ үү.
Энэхүү заавар нь сервер ажиллуулгчдод зориулагдсан. Raknetify2 нь RakNet холболтыг хүлээн авах ажиллаж буй UDP зам шаарддаг. Үндсэн тохиргоо нь Minecraft-ийн TCP сонсогчийн ижил портын дугаарыг ашигладаг.
Үлгэр хамааралтай сүлжээнд байгаа тоглогчид, серверийн дотоод хаягийг ашиглаж, түүний хост хайрцаг ханаар UDP-г зөвшөөрнө. Хэрэв интернет трафик таны роутерийн IPv4 NAT-аар дамжих шаардлагатай бол роутерийн портын урагшлуулалт хэрэгтэй.
Нийтлэг UDP трафикийг Raknetify2-ийг ажиллуулж буй Minecraft сервэр рүү илгээнэ. Зорилтот порт нь тэрхүү серверийн RakNet UDP сонсогч юм. Серверийн машины хост хайрцаг хананд тухайн портыг зөвшөөрнө. Ердийн Minecraft холболтуудын хувьд байгаа TCP замыг нь хадгална.
Жишээлбэл, хэрэв Raknetify2 нь UDP 25570-д сонсож байвал, нийтийн UDP портыг серверийн орон нутгийн хаягийн 25570 портод дамжуулаарай. Серверийн TCP порт 25565-д хэвээр үлдэх боломжтой. Өөр UDP портыг сонгохын тулд direct-server listener settings-ийг үзнэ үү.
Нийтийн UDP трафикийг Raknetify2 proxy плагин ажиллаж буй Velocity эсвэл BungeeCord-той машин руу илгээнэ. Proxy-ийн RakNet UDP сонсогчийг дамжуулах зорилго болгон ашиглана. Ердийн Minecraft холболтуудын хувьд proxy-ийн одоо байгаа нийтийн TCP замыг хадгална.
Proxy нь backend Minecraft сервэрүүдэд TCP-ээр холбогдоно. Raknetify2-г proxy-д нэмэх нь тоглогчдод backend тоглоомын UDP портуудыг нээх шаардлагагүй.
| Холболт | Зөвшөөрөх хандалт |
|---|---|
| Тоглоомын хүмүүс проксид | RakNet сонсогчид зориулсан нийтийн UDP, мөн одоо байгаа нийтийн TCP сонсогч |
| Проксиас сүүлийн эгнээний сервэрүүдэд | Сүүлийн эгнээний Minecraft TCP портууд, зөвхөн зориулагдсан прокси хостуудаас хандах боломжтой |
| Тоглогчид шууд сүүлийн хэсгийн тоглоомын портууд руу | Блоклогдсон байх, IPv6-ээр дамжуулан ч |
Хэрэв прокси болон сүүлийн хэсгүүд таны хяналтад байгаа тусгай машин дээр ажиллаж байвал, сүүлийн хэсгийн сонсогчид проксид хүрэхээр тохируулсан loopback хаягуудыг ашиглаж болно. Машин хоорондын хязгаарлалтыг ханаар эсвэл тусгаарлагдсан хувийн сүлжээг ашиглан сүүлийн хэсгийн TCP хандалтыг прокси хостуудад хязгаарла. Контейнер болон менежмент хийгдэх хостууд нь өөрийн сүлжээний зохион байгуулалтанд ижил төстэй хязгаарлалт шаарддаг. Velocity-ийн сүүлийн хэсгийн аюулгүй байдлын заавар болон BungeeCord-ийн ханарын заавар-ыг үзнэ үү.
Тоглогчийн дамжуулалт болон ханарын хязгаарлалт хоорондоо хамтран ажиллана. Шууд сүүлийн хэсгийн хандалт нь проксийн нэвтрэх шалгалтыг алгасаж болно. Плъгиныг суулгах, дамжуулах тохиргоо, болон UDP портын дахин тохиргоо хийхэд Velocity болон BungeeCord-ыг дагаана уу.
Роутер тэдгээрийн хооронд орчуулгыг хийх үед нийтийн порт ба сонсогчийн порт ялгаатай байж болно:
| Тохиргоо | Ашиглах порт |
|---|---|
| Клиентийн серверийн хаяг | Нийтийн UDP порт |
| Роутер дамжуулалтын дүрмийн гадаад порт | Нийтийн UDP порт |
| Роутер дамжуулалтын дүрмийн дотоод порт | RakNet сонсогчийн UDP порт |
| Хост хана тусгаарлагчийн орон нутгийн порт | RakNet сонсогчийн UDP порт |
IPv4 роутер барихын тулд:
- RakNet холболтыг хүлээн авах машины дотоод IPv4 хаягийг олох. Хадгалах дүрэм эсвэл тохиромжтой тогтмол хаягийг ашиглана уу, ингэснээр дамжуулах дүрэм тухайн машиныг зорилнаар үргэлжлэх болно.
- Тоглоомууд ашиглах нийтийн портын хувьд UDP дамжуулах дүрэм нэмэх.
- Дүрмийн зорилгыг тухайн машины дотоод хаяг болон RakNet сонсогчийн UDP портод тохируулах.
- Хост хайрцагт сонсогчийн портод ирж буй UDP-г зөвшөөрөх.
Жишээлбэл, UDP портын 25565-д сонсож буй сервер нь нийтийн портын 25565, зорилтойн хаяг 192.168.1.100 болон зорилтойн портын 25565 бүхий дүрмийг ашиглаж болно. Жишээний хаягийг өөрийн серверийн бодит дотоод хаягаар орлуулна уу.
Ердийн Minecraft холболтуудын хувьд байгаа TCP дүрмийг хадгална уу. Зөвхөн TCP дамжуулах дүрэм нь UDP-г агуулдаггүй.
Захиргаачийнхаа эсвэл ISP-ээ таньгийнхаа роутер хүртэлх трафикийг NAT хийдэг эсэхийг шалгана уу. Хэрэв та хоёр роутертэй бол, дамжуулалт хоёуланг нь хамарсан байх ёстой. Хэрэв таны ISP нь carrier-grade NAT-ийг ашигладаг бол, нийтийн IPv4 хаяг өгч болох эсэхийг асуух эсвэл ирмэг UDP-г дэмждэг хостинг үйлчилгээ эсвэл туннел ашиглана уу. Таны роутерийн дамжуулах дүрэм нь ISP-ийн NAT-г тохируулах боломжгүй. Нийтийн WAN хаягийн шаардлагын талаар TP-Link-ийн портын дамжуулалтын зааварчилгаа-г үзнэ үү.
Сонгосон UDP портыг роутер, хостны IPv6 хана тусгаарлагч хоёуланд нь нэвтрүүлэх. RakNet холболтыг хүлээн авах машины IPv6 хаягийг зорилтологоо болгоно.
Хостны нэрний IPv6 хаяг тухайн машин руу заасан эсэхийг шалгана уу. Хэрэв түүний IPv6 хаяг өөрчлөгдвөл, DNS бичгийг болон хаяг тусгайлан тохиргоотой бүх хана тусгаарлагчийн дүрмүүдийг шинэчилнэ үү.
IPv4 болон IPv6 хаяг хоёуланг нь нийтлэх хостны нэр тус бүрийн зарлагдсан хаягийн ажиллах замыг шаарддаг. Нэг тоглогч холбогдож, нөгөө холбогдохгүй байгаа үед хоёр дүрмийг нь шалгана уу.
Хэрэв IPv4 дамжуулалт портын дугаарыг өөрчилбөл, тоглогчид оруулсан порт нь IPv6 сонсогч хүртэл хүрдгийг баталгаажуулна уу. IPv4 портын орчуулга нь IPv6 замыг тохируулахгүй.
Үйлчилгээ үзүүлэгч эсвэл туннел таны өгсөн нийтийн цэг дээр UDP-г дэмжих ёстой. Түүний портын хуваарилалт, сүлжээний гал ашиглалтын дүрмүүд болон серверийн өөрийн гал ашиглалтыг шалгана уу.
Хэрэв нэмэлт UDP прокси нь PROXY protocol v2 ашиглан хэрэглэгчийн хаягуудыг дамжуулдаг бол UDP дамжуулалт ба PROXY protocol-ийг дагаж, хүлээн авах UDP сонсогчийн хандалтыг найдвартай проксид хязгаарлаарай.
Серверийн дотоод сүлжээнээс гаднаас шинэчилсэн Raknetify2 хэрэглэгч ашиглан raknet;play.example.com:25565 зэрэг хаягийг холбоно уу. Энэ хаягийн нийтийн UDP портыг ашиглана уу.
Замтыг баталгаажуулахын тулд бодит RakNet холболтыг ашиглана уу. Хариу ирэхгүй UDP скан нь үр дүн тодорхойгүй байх боломжтой, учир нь ажиллаж буй үйлчилгээ нь танил бус шалгалт (probe)-ыг үл тоомсорлож болно. Nmap-ийн UDP сканны баримт бичиг нь энэ зан төлөвийг тайлбарладаг.
Амжилттай TCP холболт нь зөвхөн TCP замыг баталгаажуулдаг. Хэрэв RakNet цаг хэтэрвэл асуудлыг шийдвэрлэх гарын авлага-г ашиглан сонсогч, дамжуулах зорилго, UDP порт, болон гал ашиглалтын дүрмүүдийг шалгана уу.
Та татаж авч буй тусгай хувилбарын нийцтэй байдлыг шалгана уу. Хөгжүүлэлтийн салбар нь хувилбарт харагдаагүй дэмжлэгийг агуулж болно.
Fabric-д, JAR-ийн ижил хувилбараас compatibility.json-ийг татаж аваарай. gameVersions-д байгаа Minecraft-ийн хувилбараа шалгана уу, дараа нь runtimes-ийн доорх хамааралтай тохиргоог нь depends шаардлагыг нь шалгана уу. Энэхүү JSON файл нь зайлшгүй биш тайлбарлах баримт бичиг бөгөөд mods фолдерт байрлах шаардлагагүй.
Forge, NeoForge, болон Spigot/Paper-ийн хувьд, артефакт болон түүний татаж авах жагсаалтаар зарлагдсан хувилбарын шаардлагыг шалгана уу. Нэг лоадер дээрх дэмжлэг нь нөгөө дээрх дэмжлэгийг бий болгохгүй.
Raknetify2-ийн Java шаардлага нь хамгийн бага хэмжээ юм. Minecraft эсвэл loader нь шинэчлэгдсэн runtime-ийг шаардах боломжтой. Гурав бүрийг хангасан Java хувилбарыг сонгоно уу.
Боломжтой бол клиент болон сервер эсвэл холболтыг хүлээн авах прокси дээр ижил Raknetify2 хувилбарыг ашиглана уу. Хувилбаруудыг холихын өмнө хувилбарын тэмдэглэлүүдийг шалгана уу. Хүчинтэй шифрлэгдсэн RakNet холболтууд хоёр талд нь баталгаажсан шифрлэлтийн протоколыг дэмжих шаардлагатай. Тухайн протокол нэвтрүүлэхийн өмнөх анхны Raknetify болон Raknetify2 хувилбарууд эдгээр шифрлэгдсэн холболтуудыг шинэчлэгдсэн тэнцвүүдтэйгээ хийх боломжгүй.
Raknetify2 нь Minecraft-ийн одоо байгаа тоглоомын протоколыг агуулдаг. Өөр өөр Minecraft хувилбаруудыг холбохын тулд нийцтэй протоколын орчуулгын тохиргоо шаардлагатай.
Бүтэц ажлын урсгал нь Polymer, Krypton, PacketFixer, болон Fast IP Ping-ийн оролцоотой нийцлийн шалгалтыг багтаадаг. Эдгээр шалгалтууд нь ажлын урсгал баталсан хувилбарууд болон хослолуудыг хамардаг. Тодорхой хослолыг шалгах үедээ тухайн хувилбарын холбогдох бүтцийн үр дүнг шалгана уу.
Хэрэв том modpack-д алдаа гарвал асуудал шийдвэрлэх заавар-ыг дагана уу. Тайлангаа бүрэн mod хувилбаруудыг оруулна уу.
Ерхэн тохиолдолд Raknetify2 нь нэг сувгийн өгөгдөл дутуу байх үед бусад бие даасан пакет сувгуудыг үргэлжлүүлэн ажиллах боломжийг олгодог. Дараалсан горим нь бүх Minecraft пакетуудыг нэг сувагт байрлуулдаг тул дутуу пакет нь тэр чиглэл дахь дараагийн бүх пакетуудыг дараалуулах хүртэл хүлээлт үүсгэдэг. Энэ нь зарим анти-чит програм хангамж хүлээж буй дарааллыг хадгалдаг боловч, тэр хүлээлтийн үеэр холбоотой бус тоглоомын трафикийг хөдөлгөдөг Raknetify2-ийн чадварыг орхидог.
-
Сервер эсвэл проксид RakNet холболтыг хүлээн авах, мөн бүх RakNet клиент дээр дараалсан горимыг дэмждэг Raknetify2 хувилбарыг суулгана уу.
-
Тэрхүү сервер эсвэл проксийн ажиллах хавтасны харьцангуй байрлалд
config/raknetify2-compatibility.jsonүүсгэнэ. Хэрэв байхгүй болconfigхавтасыг үүсгэнэ. -
Дараахыг нэмнэ үү:
{"mode": "ordered"} -
Сервер эсвэл проксиг дахин ажиллуулна уу.
Клиентүүд серверийн тохиргоог автоматаар дагана. Тоглогчид тохиргооны файл үүсгэх эсвэл RakNet серверийнхээ хаягийг өөрчлөх шаардлагагүй.
Бүх Minecraft пакетууд чиглэл тус бүрт найдвартай, дараалсан сувгийг ашигладаг бөгөөд үүнд бандлын тусгаарлагч болон ертөнцийн шилжилт багтана.
Хэрэв тоглогчид Velocity эсвэл BungeeCord-ээр холбогдвол, анти-чит нь сүүлийн сервер дээр ажиллаж байгаа ч тухайн проксид дараалсан горимыг тохируулна уу.
Энэхүү бодлого нь сүүлийн шилжилтүүд хэтэрч үйлчилдэг. Дараалсан горимд, прокси нь сүүлийн серверээс ирсэн keepalive хүсэлтүүдийг дотооддоо хариулахын оронд бодит хэрэглэгчид шилжүүлдэг.
Эхний RakNet холболтод консол дараахыг мэдээлнэ:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Амжилттай нийцтэй байдлын солилцоо нь ordered compatibility negotiated гэж тэмдэглэгээ хийж, дараа нь түншийн хаягийг бүртгэнэ.
Хууран мэхлэлтээс хамгаалах шалгалтуудыг асаалттай байлгаж, өөрийн тохиргоон дээр туршаарай.
Дараалсан горимыг дэмжихгүй RakNet клиентүүд шаардсан серверт холбогдож чадахгүй. Эдгээр клиентүүдэд Raknetify2-г шинэчилнэ үү, эсвэл raknet; урьдчилсан зааваргүйгээр серверийн эсвэл проксийн ердийн TCP хаяг болон портоор холбогдоно уу.
Файлыг дараах руу өөрчилнө:
{"mode": "multichannel"}Дараа нь сервер эсвэл проксиг дахин ажиллуулна уу. Файлыг устгах нь дахин ажиллуулсны дараа олон сувгийн горимыг сэргээх болно.
Файл нь зөвхөн mode нэртэй, утга нь "ordered" эсвэл "multichannel" байх нэг тохиргоо агуулсан байх ёстой. Утга нь үсгийн том/багаар ялгаатай.
Буруу эсвэл уншигдах боломжгүй тохиргоо RakNet холболтуудыг татгалзана. Файлыг засаж, үйл явцыг дахин эхлүүлнэ үү.
Хэрэв консол нь multichannel гэж мэдээлэл өгч байвал, тухайн файл нь RakNet холболтыг хүлээн авах сервер эсвэл проксийн ажиллах хавтсанд байгаа эсэхийг шалгана уу, дараа нь тухайн үйл явцыг дахин эхлүүлнэ үү.
Fabric, Forge, болон NeoForge серверүүд чадвартай хэрэглэгчийг тохируулсан зорилгод шилжүүлэх үед RakNet-ийг сонгож болно. Энэ нь Java Edition 1.20.5-д нэвтрүүлсэн Minecraft-ийн үндсэн шилжүүлгийн дэмжлэгийг ашигладаг. Таны Raknetify2 хувилбар нь хоёр талд байгаа Minecraft-ийн хувилбар болон loader-ийг дэмждэг эсэхийг шалгана уу.
Илгээх сервер болон хэрэглэгчид дээр Raknetify2 суулгана уу. Зорилго нь нийцтэй RakNet сонсогчтай байх ёстой бөгөөд ирж буй Minecraft шилжүүлгүүдийг хүлээн авах ёстой.
Энэхүү тохиргоо нь дээрх гурван мод ачаалуураас илгээсэн шилжүүлгүүдэд хамаарна. Spigot/Paper, Velocity, болон BungeeCord плагинууд энэ шилжүүлгийн файлыг уншихгүй.
Илгээх серверийн хавтсанд config/raknetify2-transfers.json үүсгэх:
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Жишээ хост наими болон портуудыг зорилтот талын утгаар орлуулж, илгээх серверийг дахин ачаалах. Нэмэлт зорилтууд ижил массив дотор байрлана.
| Талбар | Утга |
|---|---|
host |
Тээвэрлэх префикс эсвэл портгүйгээр зорилтойн хост нэр эсвэл IP хаяг |
tcpPort |
Анхны шилжүүлгийн хүсэлтэд байгаа зорилтойн порт |
udpPort |
Шилжүүлэгдсэн клиент хандах ёстой нийтийн RakNet порт |
TCP болон UDP портууд тэнцүү байж болно. Хэрэв роутер UDP портыг орчуулж байвал энэ файлд байгаа нийтийн портыг ашиглана уу. Портуудыг JSON тоо хэлбэрээр бичнэ.
Аливаа шилжүүлгийг зорилтойн ердийн хостнам болон TCP портод илгээнэ. Raknetify2 нь клиент автоматаар шилжүүлэх дэмжлгыг зарлаж байгаа эсэхийг шалгана. Хэрэв клиент чадвартай бөгөөд зорилт таарвал, тохируулсан UDP портыг сонгоно. Бусад клиент болон таарахгүй зорилтууд анхны шилжүүлгийн хаягийг хадгална.
Таарах нь шилжүүлгийн хүсэлтээс хостнам болон TCP портыг ашиглана. Хостнамын том/бага үсгийн бичилт, эцсийн DNS цэг, болон тэнцэх IPv6 бичилт нь хэвийн болгогдоно. DNS хайлт нь таарах үйл явцад оролцохгүй тул ижил хаяг руу шийдэгдэх хоёр өөр хостнамд тусдаа бүртгэл хэрэгтэй. Wildcard бүртгэл дэмжигдэхгүй.
Minecraft-ийн server.properties-г ашигладаг зорилт болон accepts-transfers=true гэж тохируулж, дахин ачаална. Зорилгын прокси нь өөрийн шилжүүлэх тохиргоотой байж болно. Minecraft-ийн анхны тохиргоо нь ердийн шууд оролт ажилласан ч ирж буй шилжүүлгүүдийг татгалзана.
Зорилгын RakNet сонсогч, нийтийн UDP дамжуулалт, болон хостын гал ашиглалт нь урьдчилан тохируулагдсан байх ёстой. Илгээх серверын шилжүүлгийн файл нь клиентд илгээх хаягийг сонгоно.
Хэрэв зорилтог хост хоёр хаяг төрлийг (IPv4 болон IPv6) нийтлэж байвал зорилтогт хандах хоёр хаягийн замыг шалгана уу. Автоматаар шилжих зан төлөвийг шалгахын өмнө зорилтог руу ердийн шууд RakNet холболтыг туршиж үзээрэй.
Ямар ч зорилтогт нэвтрэх эсвэл баталгаажуулах шалгалтыг хадгална уу. Энэхүү тохиргоо нь тоглогчдод хандалт олгохгүй бөгөөд сервер баталгаажуулалтыг орлохгүй.
Дутуу талбарууд, мэдэгдэхгүй талбарууд, буруу портууд, болон давхардсан зорилтууд нь эхлүүлэх үеэр тохиргооны алдаа үүсгэнэ. Алдааг тодорхойлохын тулд серверийн логийг ашиглаж, JSON-ийг засаж, дахин эхлүүлнэ үү.
Автоматаар сонгохыг идэвхгүй болгохын тулд тохиргооны файлыг устгана уу эсвэл {"destinations": []}-ийг ашиглана уу, дараа нь илгээх серверийг дахин эхлүүлнэ үү. Түүний шилжүүлгийн хүсэлтүүд анхны хаягаа хадгална.
UDP прокси нь PROXY протокол v2-г ашиглан RakNet трафикийг дамжуулж, анхны клиентын хаягийг хадгалах боломжтой. Урагшлын UDP прокси нь эдгээр толгойг таны сонсогчид илгээх үед энэ шинж чанарыг идэвхжүүлнэ. Ердийн роутерын портын дамжуулалт үүнийг шаарддаггүй.
Дамжуулсан UDP трафикийг хүлээн авах сервер эсвэл Minecraft прокси дээр config/raknetify2-proxy-protocol.json үүсгэнэ:
{
"trustedProxies": ["192.0.2.10"]
}Жишээг UDP проксийн бодит эх үүсвэрийн IP хаяг эсвэл таны хянах CIDR хүрээгээр орлуулна уу. Хаяг нь дундах NAT-аас хойш хүлээн авах сонсогч харж буйтай таарч байх ёстой. IPv4 болон IPv6 литералууд хүлээн зөвшөөрөгдөнө. DNS хостны нэрийг татгалздаг. Хүлээн авах сервэр эсвэл проксиг дахин ажиллуулна уу.
Дамжуулах проксиг UDP-д PROXY протокол v2 толгой илгээхээр тохируулна уу. Raknetify2 нь зөвхөн жагсаасан эх үүсвэрээс дамжуулсан клиентын хаягийг хүлээн авна. Энэхүү тохиргоо идэвхтэй байх үед эдгээр толгойгүй шууд RakNet холболтууд татгалздаг. TCP сонсогч өөрийн байгаа тохиргоог хадгална.
Жагсаалтад оруулсан прокси бүр үйлчлүүлэгчийн хаягийг дамжуулах эрхтэй. Арын серверийн галт хананд UDP порт руу зөвхөн зориулалтын проксигоос хандахыг зөвшөөр. Итгэмжлэгдсэн IP хаягийн мужид зөвхөн шаардлагатай хаягуудыг оруул.
Файл нь зөвхөн trustedProxies агуулсан байх ёстой, дотор нь дор хаяж нэг тохиолдол байх ёстой. Хоосон массив нь алдаа юм. Буруу файл нь RakNet сонсогчийг ажиллуулахыг зогсооно.
Шууд UDP холболтод буцахын тулд файлыг устгаж, сонсогчийг дахин ажиллуулна. Үүнтэй зэрэгцээ шинэ замд зориулсан дээд урсгалын авир шинж чанар болон файрвол дүрмүүдийг шинэчилнэ.
Энэ шинж чанарыг идэвхжүүлсний дараа холболт амжилтгүй болвол проксийн бодит эх үүсвэрийн хаягийг backend дээр, тохируулсан итгэлтэй хүрээнийг, мөн прокси UDP PROXY протокол v2 толгойг илгээж байгаа эсэхийг шалгана уу.
Minecraft-ийн проксиг суулгах ба сүүлийн хэсгийн тохиргоо хийхийн тулд Velocity болон BungeeCord-ыг дагана уу.
Raknetify2 нь Fabric, Forge, NeoForge, Spigot, болон Paper дээр Simple Voice Chat-тайгаа серверын UDP сонсогчийг хуваалцах боломжтой.
Simple Voice Chat-ийг сервер болон дуу хоолойгоор ярихыг хүсэж буй эдгээр бүх клиент дээр суулгана уу. Үлдсэн тохиргооноос нь түүний сервер тохиргооны зааврыг дагана уу.
Raknetify2-ийн файл болох серверын дээд түвшний config директорийг ашиглана уу, Spigot/Paper дээр ч бас. Simple Voice Chat-ийн өөрийн файл платформ-тухайн байрлалд доор үлдэнэ.
-
Серверийн директорид
config/raknetify2-voicechat.jsonфайлыг дараах агуулгаар үүсгэнэ:{"enabled": true} -
Simple Voice Chat-ийн сервер тохиргоонд
port=-1гэж тохируулна. Модтой серверүүдэд энэ ньconfig/voicechat/voicechat-server.propertiesбайна. Spigot/Paper дээр энэ ньplugins/voicechat/voicechat-server.propertiesбайна. -
RakNet сонсогч таарсан үед
bind_address-ийг хоосон үлдээх. Хэрэв сервер нь тэрхүү UDP портод олон сонсогчтай бол хуваалцахыг хүсэж буй сонсогчийн орон нутгийн хаягийг тохируулна. -
Серверийг дахин ажиллуулж, холбогдсон тоглогчид
/voicechat test <PLAYERNAME>-ийг ажиллуулна.
Хэрэв RakNet сонсогч Minecraft-аас өөр портыг ашигладаг бол дуу хоолойн port-г -1 ашиглахын оронд тухайн орон нутгийн UDP портыг тодорхой тохируулна уу. Жишээлбэл, орон нутгийн UDP порт 25570-д байгаа RakNet сонсогч нь port=25570 шаарддаг.
Хэрэв хэрэглэгчид өөр нийтийн хаяг эсвэл порт хэрэгтэй бол voice_host-ийг тохируулна уу. Нийтлэг UDP 25580-ийг орон нутгийн UDP 25570-д дамжуулдаг роутерын хувьд port=25570 болон voice_host=play.example.com:25580 -ийг ашиглана уу. Нийтлэг хаяг нь voice_host-д орно. bind_address тохиргоо нь орон нутгийн сонсогчийг сонгодог.
Raknetify2 нь Simple Voice Chat-ийн API-аар дамжуулан нийтлэг UDP сокетыг хангадаг. Simple Voice Chat нь дуу хоолойн баталгаажуулалт болон шифрлэлтийг хариуцдаг. Храасан хүмүүс TCP эсвэл RakNet тоглоомын холболттойгоор дуу хоолойн чатыг ашиглаж болно.
Query болон Geyser-ийг тусдаа UDP портуудад хадгална уу. Нийтлэг сокетын интеграц нь зөвхөн Simple Voice Chat-д дэмжлэг үзүүлдэг.
Интеграци нь Velocity эсвэл BungeeCord дээр дуу хоолойн прокси сокет хуваалцахгүй. Simple Voice Chat-ийн прокси тохиргооны зааварчилгаа-г дагаж, дуу хоолойн проксид өөрийн UDP портыг өгнө. Албан ёсны дуу хоолойн прокси плагинттай хамт, проксийн дуу хоолойн тохиргоонд ямар ч нийтийн voice_host давхаргыг тохируулна уу. Энэхүү плагин нь сүүлийн системүүдийн voice_host тохиргоог үл тоомсорлоно.
Ерөнхий UDP туннел үүсгэхийн тулд voice_host-ийг энэ сервер рүү дамжуулах нийтийн хост нэр болон UDP портоор тохируулна уу.
Хэрэв логт No RakNet listener matches the voice bind address and port гэж харагдвал, RakNet амжилттай эхэлсэн болон дуу хоолойн порт болон холбогдох хаяг нь түүний орон нутгийн сонсогчидтэй таарч байгаа эсэхийг баталгаажуулна уу.
Хэрэв Multiple RakNet listeners match the voice bind address гэж харагдвал, bind_address-д тохирох тодорхой орон нутгийн хаягийг сонгож, дахин эхлүүлнэ үү.
Зөвхөн нэг Simple Voice Chat плагин нь өөрийн UDP сокетыг нийлүүлж чадна. Хэрэв эхлэл нь өөр плагин аль хэдийн сокет нийлүүлснийг мэдээлвэл, аль сокет интеграцийг ашиглахыг сонгоно уу.
Raknetify2-ийн интеграцийг идэвхгүй болгохын тулд түүний дуу хоолойн тохиргоонд {"enabled": false} гэж тохируул эсвэл тухайн файлыг устгана уу. Simple Voice Chat-д тусдаа UDP порт өгнө, түүний хайрцаг эсвэл дамжуулах дүрмүүдийг шинэчилж, серверээ дахин ажиллуулна уу.
Дараах зүйлсийг дарааллаар шалгана уу:
- Клиент нь өөрийн loader болон Minecraft хувилбарт тохирох Raknetify2 mod-той байна.
- Холболтыг хүлээн авах сервер эсвэл прокси нь Raknetify2 суулгасан бөгөөд сонсогч алдаагүйгээр ажиллаж байна.
- Хаяг нь
raknet;-аар эхэлж, нийтийн UDP портыг ашиглаж байна. - Хостинг провайдер, роутер, болон хостын файрвол бүгд тухайн портод UDP-г зөвшөөрч байна.
- Хостны нэрний IPv4 болон IPv6 хаягууд зорилтот хост руу хүргэж, ажиллах файрвол дүрмүүдтэй байна.
Амжилттай TCP холболт нь зөвхөн TCP замыг баталгаажуулна. UDP дамжуулалт болон IPv6 хандалтыг шалгахын тулд Firewall ба роутер тохиргоо-г дагана уу. Хэрэв PROXY протокол идэвхтэй бол хэрэглэгчид тохируулсан найдвартай проксигоор дамжин сонсогчид хүрэх ёстой.
UDP портыг ашиглаж буй өөр үйл явцыг шалгана уу. Query, Geyser болон бусад UDP үйлчилгээнүүд өөрсдийн портуудтай байх шаардлагатай. Simple Voice Chat нь shared-port интеграци-г ашиглаж болно.
direct-server listener settings эсвэл Velocity ба BungeeCord settings-ийг ашиглан өөр орон нутгийн UDP портыг сонгож болно. Spigot/Paper тохиргооны хувилбарын шаардлагыг шалгана уу. Зөвхөн роутерийн нийтийн портыг өөрчлөх нь орон нутгийн сокет зөрчлийг үлдээдэг.
raknet; хаягаар шууд зорилторт холбогдоно. Хэрэв энэ амжилтгүй бол эхлээд зорилтойн сонсогчийг эсвэл сүлжээний замыг засаарай.
Хэрэв шууд холболт ажиллавал, зорилт ирж буй шилжүүлгүүдийг хүлээн авдаг эсэхийг шалгана уу. server.properties-ийг ашигладаг Minecraft сервер нь accepts-transfers=true байх шаардлагатай. Шууд оролт нь энэ тохиргоог шалгахгүй.
Дараа нь шилжүүлгийн хостны нэрийг болон TCP портыг илгээх сервер дэх config/raknetify2-transfers.json-тэй харьцуулна уу. Файл нь дахин ачаалсны дараа ачаалагдсан болон клиент нь автоматаар RakNet шилжүүлгийг дэмждэг эсэхийг баталгаажуулна уу. Автомат шилжүүлгүүд-ийг үзнэ үү.
Холболтын хоёр талын Raknetify2 хувилбарыг шалга. Шинэ хувилбарт шифрлэгдсэн холболтын протокол өөрчлөгдсөн бол клиент болон сервер буюу проксиг хамтад нь шинэчил. Алдааг шалгахдаа серверийн хэрэглэгч баталгаажуулах тохиргоог хэвээр үлдээ.
Алдааг хөвийнх нь үүсгэсэн үйлдлийг тэмдэглэ, жишээлбэл, инвентарь нээх, нөөцийн багц хүлээн авах, ертөнц солих эсвэл биет үүсгэх. Боломжтой үед TCP болон RakNet-ийн ижил үйлдлийг тусдаа туршилтын суурилуулалтаар харьцуулаарай.
Зарим тусгай ачаалал нь vanilla пакетуудын дарааллаас хамаардаг. Мод зохиогчид эдгээр хамаарлыг пакетын дарааллын интерфэйсээр зарлаж болно.
Raknetify2-ийн алдааны хяналтын системд асуудал нээж, дараах зүйлсийг оруулна уу:
- Хоёр талд байгаа Minecraft, Java, loader болон Raknetify2-ийн хувилбарууд.
- Сервер болон прокси програм хангамжийн хувилбарууд, UDP дамжуулалтын проксиг оролцуулан.
- Бусад суулгасан мод болон тэдгээрийн хувилбарууд.
- Асуудлыг давтах алхмууд болон та юу болохыг хүлээж байсан.
- Үүнтэй ижил алхмууд TCP-ээр ажилладаг эсэх.
- Ижил оролдлогоос хамааралтай клиент, сервер, болон проксийн логны хэсгүүд.
Логуудыг байршуулахаас өмнө хандалтын токен, нууц үг болон бусад хувийн мэдээллийг устгана уу. Асуудлыг оношлоход шаардлагатай алдааны мессеж болон стек трейсийг хадгална уу.
Raknetify2 нь моднуудад Minecraft-ийн ямар трафикийг өөрсдийн тусгай ачааллуудтай хамт дараалсан байх ёстойг зарлах боломжийг олгодог. Энэ нь ачааллыг боловсруулахын тулд өмнөх пакетуудаар тогтоогдсон бие, чанк, инвентар эсвэл бусад төлөв шаардлагатай үед ашиглана уу.
| Хэсэг | Хамааралтай трафик |
|---|---|
ui |
Дэлхийн үл хамаарах меню болон харилцан үйлчлэл |
entity |
Энтитийн үүсгэл, арилгах, хөдөлгөөн |
world_interaction |
Агуулах болон бусад дэлхийн хамааралтай харилцан үйлчлэл |
effects |
Дуу хоолой ба хэсгүүд |
chunk |
Газар, блок, гэрэлтүүлгийн шинэчлэлт |
Бүх бүлгүүд өөрийн сувганд найдвартай дараалсан хүргэлтийг хадгална. Өөр өөр бүлгүүдийн пакетууд өөр харьцангуй дарааллаар ирж болно. Ачааллын хамаарлыг тохирох бүлгийг сонгоно.
raknetify:packet_channels нэвтрэх цэгтээ модны fabric.mod.json-д провайдер нэмнэ. Провайдер нь JDK төрлүүдийг ашиглан Consumer<BiConsumer<String, String>>-ийг хэрэгжүүлнэ. Энэ нь тусгай ачааллын тодорхойлолт болон дарааллын бүлгийг хүлээн авах бүртгэгч хүлээн авна.
Энэхүү нэрийг өөрийн метадатад нэгтгэнэ үү, ангиллын нэрийг өгөгч таны бүрэн тодорхойлсон нэрээр орлуулна:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Өөрийн fabric.mod.json-ийн үлдсэн хэсгийг, түүний байгаа нэвтрүүлэлтүүдийг хадгална. Энэ бол метадата файлын хэсэг юм.
Жишээлбэл, биеийн хөдөлгөөний өргөтгөл нь entity бүлэгтэй example:entity_path-ийг бүртгэж болно. PacketOrdering API-ийн баримт бичиг нь өгөгч хэрэгжилтийг багтаасан болно.
Raknetify2 байхгүй үед Fabric энэ нэвтрүүлэлтийг дууддаггүй. Өгөгчидүүд өөр мод өөрийнхөө эхлэлт дууссаныг хамаарахгүйгээр эхлэлтийн үеэрээ тодорхойлолт болон бүлгүүдийг зарлах ёстой.
Forge болон NeoForge моднууд, мөн сервер эсвэл прокси плагинууд Raknetify2 боломжтой үедээ эхлэл үе шатанд PacketOrdering.register(identifier, group) дуудах боломжтой. Анги нь com.ishland.raknetify.api.PacketOrdering юм. Тоглоомын холболтуудыг хүлээн авахын өмнө бүртгэх бөгөөд, хамаарал байхгүй үед Raknetify2 ангиудыг ачаалах нэмэлт интеграцийн кодыг хадгалах хэрэгтэй.
Тодорхойлолтууд шинэ холболтуудад хамаарна. Одоо байгаа холболтууд зохион байгуулалтын үе шатанд авсан дүрмүүдийг хадгална. Ижил тодорхойлолтыг давтах боломжтой. Нэгэн идентификаторын хувьд зөрчилдөөн үүсгэсэн бүлгүүд татгалзана.
Payload идентификаторууд хүчинтэй тусгай зай (namespace) ашиглах ёстой. minecraft зай нь захирагдана. Бүх төгсгөлийн хязгаар нь суурийн дүрмүүд болон бусад моднуудын бүртгэлүүдийг оруулаад 128 тодорхойлолт юм. Идентификаторууд API-ийн зайтай идентификаторын синтаксисыг ашиглан 255 ASCII тэмдэгт хүртэл агуулж болно.
Шинэтилсэн RakNet тэнүүлчид холболт үүсгэх үе шатанд тодорхойлолтуудыг солилцдог. Сервер эсвэл прокси нь тухайн payload-д өөрийн орон нутгийн дүрмээгүй байх үед тэнүүлчийн тодорхойлолтыг ашиглаж болно. Орон нутгийн дүрмүүд тэргүүлэх бөгөөд тэнүүлчийн тодорхойлолтууд тухайн холболтод хязгаарлагдана.
UDP дамжуулалт ба PROXY протокол-ийг үзнэ үү UDP дамжуулалт болон дамжуулсан клиент хаягуудад.
Minecraft проксиг тохируулахын тулд Velocity ба BungeeCord-ийг үзнэ үү.