Skip to content

Wiki hy am

pjscruggs edited this page Nov 11, 2026 · 1 revision

Raknetify2 · Հայերեն (Հայաստան)

Լեզու

Բազմախաղորդ

Ցանցային կապ RakNet-ի միջոցով Minecraft-ի հաճախորդների և սերվերների համար։

Ներբեռնել · GitHub

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

Հավելել Սպասարկիչ

  1. Բազմախաղորդ

  2. Հավելել Սպասարկիչ

  3. Սպասարկչի հասցեն

    Սպասարկչի հասցեն
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Արված

  5. Միանալ Սպասարկչին

F3 · Raknetify2

F3
RakNet · UDP Ակտիվ · MTU 1400
TCP Ոչ ակտիվ

Velocity / BungeeCord

  1. Հաճախորդ · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. 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

config/raknetify2-compatibility.json

Սերվեր / Velocity / BungeeCord

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

Simple Voice Chat

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

Simple Voice Chat · Velocity / BungeeCord

PROXY protocol v2 · UDP

Սպասարկչի հասցեն 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"]}

Minecraft ≥ 1.20.5 · /transfer

  1. Սերվեր A · Fabric / Forge / NeoForge · config/raknetify2-transfers.json

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

  3. Սերվեր A · /transfer play.example.com 25565 Alex → Հաճախորդ (Alex) → RakNet · play.example.com:25570

PacketOrdering

Minecraft
ui Ընտրանքներ
entity Կմախք
world_interaction Գույք
effects Մասնիկներ
chunk Կապաններ

PacketOrdering.java

Անհամապատասխան վարկած

Զեկուցել Սխալները

Ընդհանուր

Raknetify2

Minecraft-ի բազմախաղացող ռեժիմում Raknetify2-ն օգտագործում է RakNet արձանագրությունը՝ տվյալները UDP-ով փոխանցելու համար։ Երթևեկությունը բաժանվում է առանձին ալիքների։ Եթե մի ալիքում փաթեթ է կորչում, մյուս ալիքներով տվյալները կարող են շարունակել փոխանցվել։ Այդպես խաղը կարող է արձագանքել ձեր գործողություններին, մինչ կորած տվյալները նորից են ուղարկվում կամ աշխարհի հատվածներ են փոխանցվում։

Raknetify2-ը Raknetify-ի ինքնուրույն պահպանված տարբերակն է, որը նախնականապես մշակվել է ishland-ի կողմից։ Այն ավելացնում է Minecraft-ի նոր տարբերակների աջակցություն և պահպանում է փոխադրումը, պլատֆորմի ինտեգրումը և համապատասխանության թեստերը։

Սկսել

  1. Ստուգել Minecraft և mod համապատասխանությունը.
  2. Ընտրեք ներբեռնում և տեղադրեք այն.
  3. Համագործակցել այնպիսի հասցեով, ինչպիսին է raknet;play.example.com։

Սերվերի ուղեցույց

Mod-ի հեղինակները կարող են օգտագործել փաթեթների կարգավորման միջավայր-ը, որպեսզի հայտարարեն կախվածությունները յուրահատուկ payload-ների և Minecraft երթևեկության միջև։

Տեղեկություն նախագծի մասին

Raknetify2-ը օգտագործում է MIT թույլտվություն-ը և պահպանում է սկզբնական հեղինակային իրավունքի նշումները։ Նրա ցանցային իրականացումը հիմնված է Raknetify-ի և netty-raknet-ի վրա։

Տեղադրում

Տեղադրել GitHub Releases-ից թողարկված տարբերակը։ Տեղադրելուց առաջ ստուգեք Minecraft-ի տարբերակը և բեռնման պահանջները։

Որտեղ եք տեղադրում Փաստաթուղթ Ծածկագիր
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 օրինակին կամ modpack- ին, որը դուք սկսում եք։ Սերվերի և պրոքսի պանակներն էլ պատկանում են այդ սերվերին կամ պրոքսի տեղադրմանը։ Ստեղծեք համապատասխան պանակը, եթե ձեր բեռնիչը դեռ այն չի ստեղծել։

Տեղեկություն սերվերի մասին

  1. Տեղադրել հաճախորդի mod-ը ձեր բեռնիչի համար։
  2. Տեղադրել համապատասխան սերվերի mod-ը կամ Spigot/Paper հավելվածը համընկնող սերվերի վրա։
  3. Հաջորդեք Firewall և Router- ի կիրառում-ին՝ թույլ տալով UDP-ի կապը սերվերի հետ։
  4. Կլայվերը և սերվերը վերաբեռնել
  5. Ավելացնել սերվերի հասցե, ինչպես raknet;play.example.com կամ raknet;play.example.com:25565

raknet; prefix-ի բացակայության դեպքում օգտագործվում է TCP։

Կրեատոր mod-ի տեղադրումը միայն իրենից չի ավելացնում RakNet-ի աջակցություն հեռավոր սերվերի համար։ Սերվերի օպերատորը պետք է ապահովի RakNet վերջնական կետը։ Խաղացողները, որոնք միանում են մեկ ուրիշի սերվերին, սովորաբար չունեն ներխուժող ուղեցույցի փոխանցման կանոններ։

Velocity և BungeeCord

Տեղադրել համապատասխան պրոքսի պլատֆորմը և հաճախորդի mod- ը։ Հաշվի առեք Velocity և BungeeCord- ը լսողի պարամետրերի համար, backend- ի փոխանցումը, մուտքագրման սահմանափակումները և հասցեները, որոնք պետք է օգտագործեն խաղացողները։

Առանձին UDP լսողական պորտը

Առաջին հերթին 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

Ավելացնել -jar- ի առաջ արկղը Java հրամանի մեջ կամ ձեր սերվերի JVM արկղերի դաշտում։ Վերսկսեք սերվերը և թույլ տվեք UDP- ին ընտրված լսողական պորտում։ Եթե հանրային պորտը նույնպես 25570 է, ապա կապվեք raknet;play.example.com:25570- ի հետ։ Եթե ուղեցույցը թարգմանում է պորտը, օգտագործեք դրա հանրային պորնը հաճախորդի հասցեում։ TCP պորտը մնում է իր ներկայիս արժեքով։

Spigot/Paper-ի դեպքում UDP լսողը պահում է Minecraft TCP լսողի տեղական կապման հասցեն։ Օգտագործված կամ անջատված UDP պորտը կանխում է RakNet-ի սկիզբը։ Ստուգեք սկզբնական գրանցումը կապված UDP հասցեի և պորտի համար։ Հեռացրեք արկղը և վերսկսեք TCP լսողի պորտի համարը վերադարձնելու համար։

Ռուտեր կամ UDP պրոքսի կարող է նաև ցուցադրել այլ հանրային UDP պորտ և փոխանցել այն առկա լսողին առանց փոխելու սերվերի Java արկղերը։

Ծրագրի զարգացում

Առաջարկվում է բացել main-ի հաջողված ընթացքը GitHub Actions-ում և ներբեռնել դրա Artifacts արխիվը։ GitHub-ը պահանջում է հաշիվ՝ աշխատանքային հոսքի արխիվը ներբեռնելու համար։ Կիրառեք վերևի տեղադրման աղյուսակը՝ արխիվից JAR ֆայլ ընտրելու համար։

Velocity և BungeeCord

Velocity-ն ու BungeeCord-ն գտնվում են խաղացողների և Minecraft սերվերների միջև։ Տեղադրեք Raknetify2-ը պրոքսիի վրա և յուրաքանչյուր կրեդիտի վրա, որը կապվելու է RakNet-ի միջոցով։

Raknetify2 · Հաճախորդ --UDP--> Velocity / BungeeCord --TCP--> Սերվեր

Հետին սերվերները Raknetify2-ի կարիք չունեն այս կապի ուղու համար։ Նրանք դեռևս կարիք ունեն mods-ի, plugin-ների և ձեր ցանցը պահանջող փոխանցման աջակցության։ Raknetify2-ը չի թարգմանում Minecraft տարբերակները կամ չի փոխում պրոքսի հաշվի աուդիտավորումը։

Տեղադրել պրոքսի պլատֆորմը

  1. Հաստատել, որ սովորական TCP կապերը ձեր պրոքսիի միջոցով աշխատում են, ներառյալ աուդիտացիան և backend սերվերների փոխանցումը։
  2. Դադարեցնել պրոքսի ծառայությունը և ներբեռնել համապատասխան պլատֆորմը GitHub Releases-ից։
  3. Տեղադրել raknetify2-velocity-*-all.jar կամ raknetify2-bungee-*-all.jar-ը պրոքսիի plugins պանակում։ Հեռացնել այս պանակից ցանկացած Raknetify կամ Raknetify2 պլատֆորմ։
  4. Տեղադրել համապատասխան Raknetify2 հաճախորդի mod-ը տեղադրման ուղեցույց-ի միջոցով։
  5. Ստուգեք ներքևում նշված լսողի պարամետրերը, վերսկսեք պրոքսի ծառայությունը և ստուգեք նրա գրանցումը RakNet լսողի սխալների համար։
  6. Թույլ տալ UDP-ի հանրային երթևեկությունը պրոքսի սերվերի վրա և սահմանափակել խաղի հետին պորտերը, ինչպես նկարագրված է Firewall և Router- ի կիրառում-ում։

Օգտագործել համընկնող Raknetify2 հրատարակությունները հաճախորդի և պրոքսիի վրա։ Ստուգեք համապատասխանություն հրատարակությունները խառնելուց առաջ։

Velocity

velocity.toml-ի bind ցուցադրումը ընտրում է Velocity-ի Minecraft լսողական հասցեն և TCP դարպասը։ Raknetify2-ը սովորաբար օգտագործում է UDP-ի համար նույն դարպասի համարը։ [servers]-ի մուտքերը ճանաչում են backend սերվերները։ Պահեք այդ մուտքերը ուղղված backend TCP հասցեներին։ Տես Velocity-ի կառույցի հղում-ը։

Օգտագործելու համար առանձին UDP պորտը, ավելացրեք այս JVM արկղը -jar-ի առաջ Velocity-ի սկզբնական հրամանում:

-Draknetify.velocity.portOverride=25570

Փոխարինել 25570-ը ձեր ընտրած պորտով։ Սա փոխում է RakNet UDP պորտը՝ պահպանելով Velocity-ի TCP պորտն ու հետևի հասցեները։ Նորից սկսել Velocity-ը արկղը փոխելուց հետո։

Կառավարել նվագարկիչի փոխանցումը Velocity-ում և նրա ետին մասում։ Կիրառել ժամանակակից փոխանցումը, երբ ետին մասը աջակցում է դրան, և պահել փոխանցման գաղտնիքը գաղտնի։ Հաշվի առեք ետին մասի հատուկ հրահանգները Velocity-ի խաղացողի տեղեկատվության փոխանցման ուղեցույց-ում։ Պահպանեք ետին հատվածի firewall-ի սահմանափակումները փոխանցման հետ միասին։

BungeeCord

BungeeCord-ի config.yml-ում host արժեքը listeners-ի յուրաքանչյուր գրանցման տակ ճանաչում է Minecraft լսողական հասցե և TCP-ի պորտ։ Raknetify2-ը սովորաբար ավելացնում է UDP-ը այդ պորտային համարին։ servers գրանցումները պարունակում են backend TCP հասցեներ։ Այս ռեժիմները նկարագրված են BungeeCord կիրառման ուղեցույց-ում։

Առանձին UDP-ի համար, ավելացրեք այս JVM-ի արկղը -jar-ի առաջ BungeeCord-ի սկզբնական հրամանում:

-Draknetify.bungee.portOverride=25570

Առաջադրանքը պատկանում է ամբողջ պրոքսի գործընթացին։ Ավելի քան մեկ Minecraft լսողի պարամետրավորման համար ստուգեք RakNet վերջնական կետերը սկզբնական գրանցման մեջ, նախքան firewall- ի կանոնների ավելացումը։ Վերանայեք BungeeCord- ը արկղերի փոփոխությունից հետո։

Պահպանել հաշվի ավանդականացումը պրոքսի սերվերում։ Spigot backend- ների համար BungeeCord- ի IP փոխանցման ուղեցույց- ը համադրում է պրոքսիի ip_forward: true- ը backend- ի settings.bungeecord: true- ի հետ։ Միայն փոխանցումը չի կանխարգելում որևէ մեկին ուղղակիորեն կապվել backend- ին։ Պահպանել backend- ի հասանելիությունը firewall հրահանգներ- ի միջոցով։

Ընտրեք խաղացողների օգտագործած հասցեն

Երկու պրոքսի փոխարինիչներն էլ ընդունում են 1-ից մինչև 65534 հասցեները։ Ոչ ճիշտ արժեքները անտեսվում են, այնպես որ ստուգեք կապված UDP հասցեը սկզբնական գրանցման մեջ։ Հեռացրեք արկղը և վերսկսեք Minecraft լսողի հասցեին վերադառնալու համար։

Խաղացողները միանում են պրոքսիի հանրային սերվերի անունին և UDP- ի պորտին, օրինակ raknet;play.example.com:25570: Երբ ուղեցույցը փոխակերպում է պորտեր, օգտագործում է իր հանրային UDP- ի պորտը կիրառողի հասցեում: Աղբյուրները, որոնք չունեն raknet; նախադասություն, շարունակում են օգտագործել պրոքսի TCP լսողը:

Թողնել Query, Geyser և այլ UDP ծառայությունները առանձին UDP պորտերում։ TCP տարբեր պորտը չի լուծում UDP socket հակասությունը։

Ձայնային զրույց և հավելյալ UDP փոխանցում

Simple Voice Chat-ը օգտագործում է իր սեփական պրոքսի պլատֆորմը և UDP-ի պորտը Velocity-ում և BungeeCord-ում։ Ահա Ձայնային զրույցների պրոքսի ուղեցույց-ի օրինակը այդ տեղադրման համար։

Եթե առանձին UDP ռելեյը գտնվում է ձեր Minecraft պրոքսիի առջև և ուղարկում է PROXY պրոտոկոլ v2 գլխամասերը, ապա konfigure Raknetify2-ը UDP փոխանցում և PROXY պրոտոկոլ-ի միջոցով։ Velocity-ի կամ BungeeCord-ի տեղադրումը ինքնին չի պահանջում այդ կառույցը։

Ստուգել կապը

Ստուգեք ձեր տեղական ցանցից դուրս Raknetify2 կրեդիտի միջոցով։ Միացեք պրոքսիի միջոցով, փոխեք օգտագործվող backend սերվերները և հաստատեք, որ խաղացողի ինքնությունը և իրավունքները ճիշտ են։

  • Եթե TCP-ը պրոքսի միջոցով աշխատում է, բայց RakNet-ը ժամանակավորապես անջատվել է, ստուգեք պրոքսիի UDP լսողը, հանրային պորտը, IPv4 և IPv6 ուղիները և firewall-ի կանոնները։
  • Եթե երկու փոխադրումները ձախողվում են, երբ պրոքսը կապվում է backend- ին, ստուգեք այդ backend- ի TCP հասցեն, հասանելիության կանոնները և նվագարկիչի փոխանցման կառույցը։
  • Եթե պրոքսի սերվերը հայտնում է զբաղված UDP պորտի մասին, ստուգեք, թե արդյոք Query, Geyser, ձայնային պրոքսի կամ այլ պրոցեսներ կապված են դրան։

Հաշվետվությունների համար ներառել միևնույն կապի փորձի պրոքսի և backend գրանցման տվյալները։ Դիտեք Խնդիրների լուծում- ը ներառելու համար տարբերակի տեղեկատվությունը։

Firewall և Router- ի կիրառում

Այս ուղեցույցը նախատեսված է սերվերների օպերատորների համար։ Raknetify2-ը պահանջում է աշխատող UDP ուղի սերվերի կամ պրոքսիի համար, որը ընդունում է RakNet կապեր։ Լռելյայն կարգավորումը օգտագործում է Minecraft-ի TCP լսողի հետ նույն պորտի համարը։

Միևնույն տեղական ցանցում գտնվող խաղացողների համար օգտագործեք սերվերի տեղական հասցեն և թույլ տվեք UDP-ին անցնել սերվերի firewall-ի միջով։ Ռուտերի պորտի փոխանցումը անհրաժեշտ է, երբ ինտերնետային հոսքը պետք է անցնի ձեր Ռուտերի IPv4 NAT-ի միջով:

Ընտրեք նպատակակետը և պորտը

Տեղեկություն սերվերի մասին

Հանրային UDP երթևեկությունը ուղարկել Raknetify2-ով աշխատող Minecraft սերվերի մեքենային։ Մուտքային պորտը սերվերի RakNet UDP լսողն է։ Թույլ տալ այդ պորտը ծառայողական մեքենայի սերվերի firewall-ում։ Պահպանել TCP ճանապարհը սովորական Minecraft կապերի համար։

Օրինակ, եթե Raknetify2-ը լսում է UDP 25570-ի վրա, ապա փոխանցիր հանրային UDP-ի դարպասը սերվերի տեղական հասցեին 25570 դարպասում։ Սերվերի TCP դարպասը կարող է մնալ 25565-ում։ Կտտացրեք direct-server լսողի պարամետրեր տարբերակը՝ UDP դարպասը ընտրելու համար։

Velocity կամ BungeeCord

Հանրային UDP երթևեկությունը ուղարկել Velocity կամ BungeeCord աշխատող սարքին Raknetify2 պրոքսի պլատֆորմի միջոցով։ Կիրառել պրոքսիի RakNet UDP լսողը որպես փոխանցման նպատակակետ։ Պահպանել պրոքսիայի առկա հանրային TCP ուղին սովորական Minecraft կապերի համար։

Պրոքսը կապվում է Minecraft սերվերների հետ TCP-ի միջոցով։ Raknetify2-ի ավելացումը պրոքսիին չի պահանջում խաղի UDP պորտների բացում խաղացողների համար։

Կապ Առաջարկվող մուտք
Խաղացողներ պրոքսիի համար Հանրային UDP-ը RakNet լսողին, ինչպես նաև առկա հանրային TCP լսողին
Պրոքսի սերվերներ Backend Minecraft TCP պորտեր, հասանելի միայն նախատեսված պրոքսի սերվերներից
Խաղացողները ուղղակիորեն խաղի ետին պորտեր Պահել արգելափակված, ներառյալ IPv6-ի միջոցով

Երբ պրոքսի ծառայությունը և հետևի մասը աշխատում են ուղղակիորեն ձեր վերահսկողության տակ գտնվող հատուկ սարքի վրա, հետևի մասի լսողները կարող են օգտագործել loopback հասցեներ, որոնց հետ կապված պրոքսի համակարգը կարող է դրանք հասանելի դարձնել։ Մեքենաների միջև, սահմանափակեք հետևի TCP- ի հասանելիությունը պրոքսի հյուրընկալողներին՝ օգտագործելով կրակային պատ կամ առանձին սեփական ցանց։ Կոնտենտերերը և կառավարվող սերվերները պետք է ունենան հավասարաչափ սահմանափակումներ իրենց ցանցային դասավորության համար։ Դիտեք Velocity-ի ապահովության ուղեցույց և BungeeCord-ի Firewall ուղեցույց։

Խաղացողի փոխանցումը և firewall-ի սահմանափակումները աշխատում են միասին։ Հեռախոսային կապի ուղղակի հասանելիությունը կարող է շրջանցել պրոքսիի մուտքագրման ստուգումները։ Պլատֆորմի տեղադրման, փոխանցման պարամետրերի և UDP-ի պորտի փոխարինման համար հետևեք Velocity և BungeeCord-ին։

Հանրային և տեղական պորտերի համարներ

Հանրային պորտը և լսողի պորտը կարող են տարբերվել, երբ ուղեցույցը փոխանցում է դրանց միջև.

Փոխադրում Օգտագործվող պորտ
Կլիենտի սերվերի հասցե Հանրային UDP-ի համար
Ռուտերի փոխանցման կանոնների արտաքին պորտը Հանրային UDP-ի համար
Ռուտերի փոխանցման կանոնների ներքին պորտը RakNet լսողի UDP պորտը
Հյուրընկալողի firewall-ի տեղական պորտը RakNet լսողի UDP պորտը

IPv4 պորտերի փոխանցում

IPv4 երթուղիչի հետևում տեղադրելու համար:

  1. Գտնել RakNet կապեր ընդունող սարքի տեղական IPv4 հասցեն։ Կիրառեք DHCP պահպանում կամ հարմար կայուն հասցե, որպեսզի փոխանցման կանոնը շարունակի ուղղված լինել այդ սարքին։
  2. Ավելացնել UDP փոխանցման կանոն խաղացողների կողմից օգտագործվող հանրային պորտի համար։
  3. Ստեղծել կանոնների նպատակակետը այդ համակարգչի տեղական հասցեին և RakNet լսողի UDP պորտին։
  4. Թույլ տալ մուտքային UDP-ը լսողի պորտում սերվերի firewall-ում։

Օրինակ, սերվերը, որը լսում է UDP port 25565- ին, կարող է օգտագործել կանոն, որն ունի հանրային port 25565, նպատակային հասցե 192.168.1.100, և նպատակային port 25565։ Փոխեք օրինակ հասցեը ձեր սերվերի իրական տեղական հասցեով։

Պահպանել TCP կանոնը սովորական Minecraft կապերի համար։ TCP փոխանցման կանոնը ինքնին չի փոխանցում UDP-ը։

Երբ փոխանցումը դեռ ձախողվում է

Ստուգեք, թե արդյոք այլ ուղեցույցը կամ ձեր ISP- ը կատարում է NAT- ը, մինչև երթևեկությունը հասնի ձեր ուղեցույցին։ Երկու ուղեցույցների դեպքում, որոնք դուք վերահսկում եք, փոխանցումը պետք է ներառի երկուսն էլ։ Եթե ձեր ISP- ն օգտագործում է carrier- դասակարգման NAT- ն, հարցրեք, արդյոք այն կարող է ապահովել հանրային IPv4 հասցե կամ օգտագործել սերվերի ծառայություն կամ թունել, որը աջակցում է ներհոսքային UDP- ին։ Ձեր ուղեցույցի փոխանցման կանոնը չի կարող կիրառվել ISP- ի NAT- ում։ Գտնեք TP-Link-ի պորտի փոխանցման ուղեցույց- ը հանրային WAN հասցեի պահանջի համար։

IPv6 Firewall կանոններ

Թույլ տալ ընտրված UDP պորտը անցնել ինչպես ուղեցույցի IPv6 firewall-ի, այնպես էլ սերվերի firewall-ի միջով։ Նպատակավորել RakNet կապեր ընդունող սարքի IPv6 հասցեն։

Ստուգեք, թե արդյոք սերվերի անունի IPv6 հասցեն ուղղված է այդ համակարգչին։ Եթե նրա IPv6 հասցեն փոխվի, նորացրեք DNS գրանցումը և ցանկացած հասցեի համար հատուկ firewall կանոնները։

Համակարգի անունը, որը հրապարակում է ինչպես IPv4, այնպես էլ IPv6 հասցեները, պահանջում է աշխատող ուղի յուրաքանչյուր հրապարակված հասցեի համար։ Ստուգեք երկու կանոնների խմբերը, երբ մեկ խաղացողը կարող է կապվել, իսկ մյուսը չի կարող։

Եթե IPv4 փոխանցումը փոխում է պորտային համարը, ապա համոզվեք, որ պորտային խաղացողները նույնպես հասնում են IPv6 լսողին։ IPv4 պորտային թարգմանությունը չի կարգավորում IPv6 ուղին։

Հյուրընկալողներ և թունելներ

Պրովայդերը կամ թունելը պետք է աջակցի UDP-ին հանրային վերջնական կետում, որը դուք տալիս եք խաղացողներին։ Ստուգեք նրա պորտների բաժանումը և ցանցային firewall-ի կանոնները, ինչպես նաև սերվերի սեփական firewall-ը։

Եթե հավելյալ UDP պրոքսի սերվերը փոխանցում է հաճախորդի հասցեները PROXY պրոտոկոլ v2-ի միջոցով, հետևեք UDP փոխանցում և PROXY պրոտոկոլ-ին և սահմանափակեք UDP-ի լսողին վստահված պրոքսի հասանելիությունը։

Ստուգել կապը

Համագործակցել սերվերի տեղական ցանցից դուրս՝ նորացված Raknetify2 կրեդիտի միջոցով, օգտագործելով raknet;play.example.com:25565-ի նման հասցե։ Կիրառել այս հասցեի հանրային UDP պորտը։

Օգտագործեք իրական RakNet կապը ուղու ստուգման համար։ UDP- ի սկանը, որը չի ստանում պատասխան, կարող է հաղորդել անորոշ արդյունք, քանի որ աշխատող ծառայությունը կարող է թողնել անհայտ զննիչը։ Nmap-ի UDP սկանավորման փաստաթղթավորում- ը բացատրում է այս վարքը։

Հաջողված TCP կապը հաստատում է միայն TCP ուղին։ Եթե RakNet-ի ժամանակը լրանում է, ստուգեք լսողը, փոխանցման նպատակակետը, UDP-ի պորտը և firewall-ի կանոնները Օգտագործող-ի միջոցով։

համապատասխանություն

Ստուգեք համապատասխանությունը ձեր ներբեռնած հատուկ հրատարակության համար։ Մշակման ճյուղը կարող է պարունակել աջակցություն, որը դեռ չի հայտնվել հրատարակության մեջ։

Minecraft և Java տարբերակներ

Fabric-ի համար, ներբեռնեք compatibility.json-ը JAR-ի նույն տարբերակից։ Ստուգեք Minecraft-ի տարբերակը gameVersions-ում, ապա ստուգեք runtimes-ի համապատասխան մուտքը՝ depends-ի պահանջների համար։ Այս JSON ֆայլը հղման փաստաթուղթ է և չի պահանջվում տեղադրել mods պանակում։

Forge, NeoForge և Spigot/Paper-ի համար ստուգեք արտեֆակտի և դրա ներբեռնման ցանկի կողմից հայտարարված տարբերակի պահանջները։ Մի բեռնիչի աջակցությունը չի հաստատում մյուսի աջակցություն։

Java- ի պահանջը, որը հայտարարել է Raknetify2- ը, իր նվազագույնն է։ Minecraft- ը կամ բեռնողը կարող է պահանջել ավելի նոր Runtime- ը։ Ընտրեք Java- ի տարբերակ, որը համապատասխանում է բոլոր երեքին։

Կլիենտի և սերվերի տարբերակներ

Օգտագործել նույն Raknetify2 տարբերակը հաճախորդի և սերվերի կամ պրոքսի ծառայության համար, որը ընդունում է կապը, երբ հնարավոր է։ Հետազոտեք տարբերակների նշումները, նախքան խառնել տարբերակները։ Գաղտնագրված RakNet կապերը պահանջում են աջակցություն երկու կողմերում էլ հավաստագրված գաղտնագրման պրոտոկոլների համար։ Արդյունքում, Raknetify և Raknetify2- ի սկզբնական կառուցվածքները, մինչև պրոտոկուլի ներդրումը, չեն կարող ապահովել այս գաղտնագրված կապերը նորացված զուգընկերների հետ։

Raknetify2-ը կրում է Minecraft-ի խաղի պրոտոկոլները։ Minecraft տարբեր տարբերակների միացումը պահանջում է համապատասխան պրոտոկոլի թարգմանություն։

Այլ mod- ներ

կառուցել աշխատանքային հոսք-ը ներառում է համապատասխանության ստուգումներ, որոնք ներառում են Polymer, Krypton, PacketFixer, և Fast IP Ping-ը։ Այս ստուգումները ներառում են տարբերակներ և համադրություններ, որոնք ընտրված են աշխատանքային հոսքի կողմից։ Ստուգեք տարբերակի համապատասխան կառուցման արդյունքները, երբ ուսումնասիրում եք հատուկ համադրություն։

Մեծ modpack-ում սխալի դեպքում հետևեք Օգտագործող-ին։ Ձեր զեկույցում ներառեք mod-ի ամբողջական տարբերակները։

Տեղադրել

Տեղադրել

Ընդհանուր առմամբ, Raknetify2-ը թույլ է տալիս անկախ փաթեթային ալիքները շարունակել, մինչ մեկ ալիքը սպասում է բացակայող տվյալների համար։ Սահմանված ռեժիմում բոլոր Minecraft փաթեթները տեղադրվում են մեկ ալիքում, այնպես որ բացակայող փաթեթը պահում է այդ ուղղությամբ ամեն հետագա փաթեթը մինչև այն կրկին փոխանցվի։ Սա պահպանում է որոշ հակախաբելու ծրագրերի սպասվող կարգը, բայց դադարեցնում է Raknetify2-ի հնարավորությունը պահպանել անմիջականորեն կապված խաղի երթևեկությունը այդ սպասման ընթացքում։

Օգտագործել կարգավորված ռեժիմը

  1. Տեղադրել Raknetify2 կառուցվածք, որը աջակցում է կարգավորված ռեժիմը սերվերի կամ պրոքսիի վրա, որը ընդունում է RakNet կապեր և յուրաքանչյուր RakNet կրեդիտի վրա։

  2. Կերտել config/raknetify2-compatibility.json- ը սերվերի կամ պրոքսիի աշխատանքային պանակի հետ համեմատությամբ։ Կերտել config պանակը, եթե այն չկա։

  3. Ավելացնել հետևյալը

    {"mode": "ordered"}
  4. Վերասկսել սերվերը կամ պրոքսի սերվերը։

Կրեդիտները ավտոմատորեն հետևում են սերվերի կարգավորմանը։ Խաղացողները չպետք է ստեղծեն կահավորման ֆայլ կամ փոխեն իրենց RakNet սերվերի հասցեն։

Minecraft-ի բոլոր փաթեթները օգտագործում են մեկ հավաստի կարգավորված ալիք յուրաքանչյուր ուղղությամբ, ներառյալ բունդ դելիմետերը և աշխարհային փոխանցումները։

Պրոքսիի կարգավորումներ

Երբ խաղացողները կապվում են Velocity կամ BungeeCord միջոցով, կիրառել կարգավորված ռեժիմ այդ պրոքսիի վրա, նույնիսկ եթե հակախաբելը աշխատում է backend սերվերի վրա։

Այս քաղաքականությունը կիրառվում է բոլոր հետևի ջնջողների համար։ Սահմանված ռեժիմում, պրոքսի փոխանցման հետևը պահում է պահանջները իրական հաճախորդի համար՝ տեղական պատասխանի փոխարեն։

Ստուգում ենք կարգավորումը

Առաջին RakNet կապի ժամանակ, կոնզելը հայտնում է.

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

Հաջողված համապատասխանության փոխանակումը նաև գրանցում է ordered compatibility negotiated-ը, որին հաջորդում է peer-ի հասցեն.

Պահպանել հակախաբելու ստուգումները և ստուգել ձեր հատուկ տեղադրումը։

Նախկին հաճախորդներ

RakNet կրեդիտները, որոնք չեն աջակցում կարգավորված ռեժիմին, չեն կարող կապվել սերվերի հետ, որը պահանջում է դա։ Ավելացրեք Raknetify2-ը այդ կրեդիտների վրա, կամ կապվեք օգտագործելով սերվերի կամ պրոքսիի սովորական TCP հասցեն և պորտը առանց raknet; նախադասության։

Վերադարձը բազմազան ալիքային ռեժիմի

Փոխել ֆայլը

{"mode": "multichannel"}

Այնուհետև վերսկսեք սերվերը կամ պրոքսի սերվերը։ Ֆայլը հեռացնելը նաև վերականգնում է բազմակողմանի ռեժիմը վերսկսման ժամանակ։

Կարգավորման խնդիրներ

Ֆայլը պետք է պարունակի ճիշտ մեկ mode անվանումով պրոֆիլ, որի արժեքը կամ "ordered", կամ "multichannel" պիտի լինի։ Արդյունքները ուշադրություն են դարձնում տառատեսակներին։

Չարաշահված կամ չընթերցվող կառույցը մերժում է RakNet կապերը։ Խնդրում ենք ճշգրտել ֆայլը և կրկին սկսել գործընթացը։

Եթե կոնսոլը դեռ հայտնում է multichannel, ապա ստուգեք, որ ֆայլը գտնվում է RakNet կապը ընդունող սերվերի կամ պրոքսիի աշխատանքային պանակում, ապա վերսկսեք գործընթացը։

Ավտոմատ փոխանցումներ

Fabric, Forge, և NeoForge սերվերները կարող են ընտրել RakNet, երբ կարող են փոխանցել ունակ հաճախորդին կոնֆիգուրացված նպատակակետ։ Սա օգտագործում է Minecraft-ի բնական փոխանցման աջակցությունը, որը ներդրվել է Java հրատարակություն 1.20.5-ում։ Ստուգեք, որ ձեր Raknetify2 տարբերակը աջակցում է Minecraft տարբերակին և յուրաքանչյուր վերջում ներբեռնողին։

Տեղադրել Raknetify2-ը ուղարկող սերվերի և կրեդիտի վրա։ Գործողությունը պետք է ապահովի համապատասխան RakNet լսող և ընդունի եկող Minecraft փոխանցումները։

Այս կառույցը կիրառվում է վերը նշված երեք mod բեռնիչների կողմից ուղարկված փոխանցումների համար։ 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- ի որոնումները չեն մասնակցում համապատասխանեցմանը, այնպես որ երկու տարբեր սերվերների անունները, որոնք նույն հասցեին են հասնում, պետք է առանձին մուտքագրվեն։ Ջնջված արժեքների մուտքագրումները չեն աջակցվում։

Նպատակային կարգավորում

Minecraft-ի server.properties-ը օգտագործող նպատակակետի համար, սահմանեք accepts-transfers=true և վերսկսեք այն։ Մերձավոր նպատակակետի պրոքսի ծառայությունը կարող է ունենալ իր սեփական փոխանցման կարգավորումը։ Minecraft-ի լռելյայնը մերժում է ներխուժող փոխանցումները, նույնիսկ երբ աշխատում է սովորական ուղղակի միացումը։

Նպատակայինի RakNet լսողը, հանրային UDP փոխանցումը և հյուրընկալի արջակայանը պետք է արդեն կարգավորված լինեն։ Ուղարկող սերվերի փոխանցումների ֆայլը ընտրում է հասցեն, որը ուղարկվում է հաճախորդին։

Ստուգել նպատակակետի IPv4 և IPv6 ուղիները, երբ սերվերի անվանումը հրապարակում է երկու հասցեների տեսակներ։ Ստուգել սովորական ուղղակի RakNet կապը նպատակակետի հետ, մինչև ուսումնասիրել ավտոմատ փոխանցման վարքը։

Պահպանել ցանկացած նպատակային մուտքագրում կամ ընդունելության ստուգում։ Այս կառույցը չի տալիս խաղացողի մուտք կամ չի փոխարինում սերվերի աուդիտացիան։

Կապման սխալներ և անջատում

Պարզապես բացակայող դաշտերը, անհայտ դաշտերը, ոչ ճիշտ պորտեր և կրկնվող նպատակակետերը սկզբնական սկզբնավորման ժամանակ կարող են հանգեցնել կիրառման սխալի։ Կիրառեք սերվերի գրանցումը սխալի հայտնաբերման համար, ճշգրտեք JSON- ը և վերսկսեք համակարգը։

Ավտոմատ ընտրությունը անջատելու համար, հեռացրեք կիրառման ֆայլը կամ օգտագործեք {"destinations": []}, ապա վերսկսեք ուղարկող սերվերը։ Նրա փոխանցման խնդրանքները կպահպանեն իրենց սկզբնական հասցեները։

UDP փոխանցում և PROXY պրոտոկոլ

UDP պրոքսը կարող է փոխանցել RakNet հոսքը և պահպանել հաճախորդի սկզբնական հասցեն օգտագործելով PROXY պրոտոկոլ v2- ը։ Միացրեք այս հատկությունը, երբ վերևի UDP պրոքսը ուղարկում է այդ գլխամասերը ձեր լսողին։ Օրինակ՝ սովորական ուղեցույցի պորտի փոխանցումը չի պահանջում դա։

Սերվերի կամ Minecraft պրոքսիի վրա, որը ստանում է փոխանցված UDP հոսքը, ստեղծել config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Փոխարինել օրինակը UDP պրոքսիի իրական սկզբնական IP հասցեով կամ CIDR շրջանով, որը դուք վերահսկում եք։ Աղբյուրի հասցեն պետք է համապատասխանի այն բանին, ինչ տեսնում է ընդունող լսողը NAT- ի միջամտությունից հետո։ IPv4 և IPv6 գրավորները ընդունվում են։ DNS սերվերների անունները մերժվում են։ Նորից սկսեք ընդունող սերվերը կամ պրոքսին։

Կապել փոխանցման պրոքսի սերվերը UDP- ի համար PROXY պրոտոկոլի v2 գլխամասերը ուղարկելու համար։ Raknetify2- ը ընդունում է փոխանցված հաճախորդի հասցեները միայն ցուցակագրված աղբյուրներից։ Առաջին RakNet կապերը առանց այդ գլխամասների մերժվում են, մինչև այս կառույցը ակտիվացվի։ TCP լսողը պահում է իր ներկայիս կառույցը։

Վստահություն և մուտք

Ցանկում նշված յուրաքանչյուր պրոքսի իրավունք ունի հաղորդելու հաճախորդի հասցեն։ Հետնամասի սերվերի հրապատն այնպես կարգավորեք, որ դրա UDP պորտին հասանելիություն ունենան միայն նախատեսված պրոքսիները։ Վստահելի հասցեների միջակայքում ընդգրկեք միայն անհրաժեշտ հասցեները։

Ֆայլը պետք է պարունակի միայն trustedProxies, առնվազն մեկ գրանցումով։ Դատարկ զանգվածը սխալ է։ Անվավեր ֆայլը կանխում է RakNet լսողի գործարկումը։

UDP ուղղակի կապի վերադառնալու համար, հեռացրեք ֆայլը և վերսկսեք լսողը։ Նորացրեք upstream փոխանցման վարքը և firewall կանոնները նոր ուղու համար միևնույն ժամանակ։

Եթե կապերը ձախողվում են այս հատկությունը գործարկելուց հետո, ստուգեք պրոքսիի իրական աղբյուրի հասցեն, konfig- ը և արդյո՞ք պրոքսիը թողարկում է UDP PROXY պրոտոկոլ v2 գլխամասերը։

Minecraft պրոքսիի տեղադրման և backend-ի կիրառման համար հետևեք Velocity և BungeeCord-ին։

Simple Voice Chat

Raknetify2-ը կարող է կիսել իր սերվերի UDP լսողը Simple Voice Chat-ի հետ Fabric, Forge, NeoForge, Spigot, և Paper-ի վրա։

Տեղադրել Simple Voice Chat-ը սերվերի վրա և յուրաքանչյուր կրեդիտի վրա, որը ցանկանում է ձայնային զրույց ունենալ։ Հաջորդեք սերվերի տեղադրման ուղեցույց-ին՝ նրա մնացած կառույցը կառուցելու համար։

Օգտագործել սերվերի վերին մակարդակի config պանակը Raknetify2-ի ֆայլի համար, ներառյալ Spigot/Paper-ի համար։ Simple Voice Chat-ի սեփական ֆայլը մնում է ներքևի պլատֆորմի հատուկ տեղակայության մեջ։

Համագործակցել խաղի հետ

  1. Կերտել config/raknetify2-voicechat.json սերվերի պանակում հետևյալ բովանդակությամբ

    {"enabled": true}
  2. Ստեղծել port=-1-ը Simple Voice Chat-ի սերվերի կիրառման մեջ։ Մոդավորված սերվերների դեպքում սա config/voicechat/voicechat-server.properties է։ Spigot/Paper-ի դեպքում՝ plugins/voicechat/voicechat-server.properties։

  3. Թողեք bind_address-ը դատարկ, երբ կա մեկ համապատասխանող RakNet լսող։ Եթե սերվերը UDP պորտում ունի մի քանի լսող, սահմանեք այն որպես լսողի տեղական հասցե, որը ցանկանում եք կիսել։

  4. Վերասկսել սերվերը և գործարկել /voicechat test <PLAYERNAME>-ը կապված խաղացողի համար։

Եթե RakNet լսողը Minecraft-ից տարբեր պորտ է օգտագործում, փոխարենը -1-ը օգտագործելու փոխարեն port ձայնը տեղական UDP պորտին ուղղեք։ Օրինակ, RakNet լսողը տեղական UDP պորտով 25570-ը 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 խաղային կապերի միջոցով։

Այլ UDP ծառայություններ և պրոքսիներ

Պահել Query-ն և Geyser-ը UDP-ի առանձին պորտերում։ Համօգտագործվող սոկետի միացումը աջակցում է միայն Simple Voice Chat-ին։

Velocity-ի կամ BungeeCord-ի դեպքում ձայնային պրոքսին չի կարող այս եղանակով կիսել նույն սոկետը։ Հետևեք Simple Voice Chat-ի պրոքսիի կարգավորման ուղեցույցին և ձայնային պրոքսիին հատկացրեք առանձին UDP պորտ։ Պաշտոնական ձայնային պրոքսիի հավելումն օգտագործելիս հանրային voice_host արժեքը նշեք հենց պրոքսիի ձայնային կարգավորումներում։ Հավելումն անտեսում է ներքին սերվերների voice_host արժեքները։

Ընդհանուր UDP թունելի համար, սահմանեք voice_host-ը որպես հանրային սերվերի անուն և UDP-ը որպես սերվերին փոխանցվող պորտը։

Անջատել կիսում կամ լուծել socket հակասությունը

Եթե գրանցումը հայտնում է 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 socket- ը։ Եթե սկզբնական հաղորդագրությունը հայտնում է, որ այլ հավելված արդեն ապահովել է socket- ը՝ ընտրեք որն է օգտագործելու համար սոկետի ներառումը։

Raknetify2-ի ներգրավվածությունը անջատելու համար, սահմանեք {"enabled": false}-ը իր ձայնային կառույցում կամ հեռացրեք այդ ֆայլը։ Տրամադրեք Simple Voice Chat-ին առանձին UDP պորտը, թարմացրեք նրա firewall-ը կամ փոխանցման կանոնները և վերսկսեք սերվերը։

Խնդիրների լուծում

TCP-ը աշխատում է, բայց RakNet-ը ուշանում է

Ստուգեք դրանք հետևյալ կարգով.

  1. Կրեդետը ճիշտ Raknetify2 mod-ն ունի իր բեռնման համար և Minecraft տարբերակը։
  2. Համագործակցությունը ընդունող սերվերը կամ պրոքսի սերվերը տեղադրել է Raknetify2-ը և սկսել է առանց լսողի սխալի
  3. Աղբյուրի հասցեն սկսվում է raknet;-ով և օգտագործում է հանրային UDP-ի պորտը։
  4. Հյուրընկալողը, երթուղիչը և հյուրընկալողի firewall-ը բոլորը թույլ են տալիս UDP-ը այդ պորտով։
  5. Համակարգի անունի IPv4 և IPv6 հասցեները տանում են նպատակային սերվերին և ունեն աշխատող firewall կանոններ։

Հաջողված TCP կապը հաստատում է միայն TCP ուղին։ Հետևեք Firewall և Router- ի կիրառում- ին՝ ստուգելու համար UDP փոխանցումը և IPv6- ի հասանելիությունը։ Եթե PROXY պրոտոկոլն ակտիվացված է, ապա հաճախորդները պետք է հասնեն լսողին փոխկապակցված վստահելի պրոքսի միջոցով։

Աղբյուրը արդեն օգտագործվում է

Ստուգեք UDP-ի պորտը օգտագործող այլ պրոցեսների առկայությունը։ Query, Geyser և այլ UDP ծառայություններ իրենց սեփական պորտեր են պահանջում։ Simple Voice Chat-ը կարող է օգտագործել Ընդգրկում կիսում-պորտով-ը։

Դուք կարող եք ընտրել այլ տեղական UDP-ի պորտը direct-server լսողի պարամետրեր-ի կամ Velocity և BungeeCord պարամետրեր-ի միջոցով։ Ստուգեք Spigot/Paper-ի ցուցադրման համար պահանջվող տարբերակը։ Միայն ուղեցույցի հանրային պորտի փոփոխությունը տեղական socket-ի հակասությունը չի լուծվի։

Միանալը աշխատում է, բայց փոխանցումը ձախողվել է

Կապվեք ուղղակիորեն նպատակին՝ օգտագործելով նրա raknet; հասցեն։ Եթե դա ձախողվի, նախ շտկեք նպատակային լսողը կամ ցանցային ուղին։

Եթե ուղղակի կապերը աշխատում են, ապա ստուգեք, թե արդյոք նպատակակետը ընդունում է եկող փոխանցումները։ Minecraft սերվերը, որը օգտագործում է server.properties- ն, պահանջում է accepts-transfers=true- ն։ Հատուկ միացումները չեն ստուգում այս պարամետրը։

Այնուհետև համեմատեք փոխանցման սերվերի անունը և TCP պորտը՝ ուղարկող սերվերի config/raknetify2-transfers.json պորտով։ Պարզեք, որ ֆայլը բեռնվել է վերսկսման ժամանակ, և որ հաճախորդը աջակցում է ավտոմատ RakNet փոխանցումներին։ Դիտեք Ավտոմատ փոխանցումներ։

Գաղտնագրման կամ պրոտոկոլային սխալներ

Ստուգեք Raknetify2 վարկածները միացման երկու կողմերում։ թարմացրեք հաճախորդը և սերվերը կամ պրոքսին միասին, երբ թողարկումը փոխում է կոդավորված արձանագրությունը։ Պահպանեք սերվերի հավաստագրման կարգավորումները հետաքննելիս։

Mod-ի յուրահատուկ ձախողումներ

Գրանցել, թե որ գործողությունն է առաջացնում ձախողումը, օրինակ՝ ռեսուրսների փաթեթի բացում, աշխարհների փոխում, կամ առարկա ստեղծելը։ Համեմատել նույն գործողությունը TCP-ի և RakNet-ի միջև՝ օգտագործելով առանձին փորձարկման տեղադրում, երբ դա գործնական է։

Որոշ սեփական բեռնումներ կախված են vanilla փաթեթների հերթականությունից։ Mod-ի հեղինակները կարող են հայտարարել այս կախվածությունները փաթեթների կարգավորման միջավայր-ի միջոցով։

Տեղեկացնել սխալի մասին

Ընտրեք մի հարց Raknetify2 խնդիրների հետևող-ում և ավելացրեք.

  • Minecraft, Java, loader, և Raknetify2 տարբերակները երկու կողմերում.
  • Սերվերի և պրոքսի ծրագրային ապահովման տարբերակներ, ներառյալ ցանկացած UDP forwarding proxy.
  • Մյուս տեղադրված mod-ները և դրանց տարբերակները։
  • Խնդիրը և այն, թե ինչ եք ակնկալում, վերարտադրելու քայլերը։
  • Արդյո՞ք նույն քայլերը գործում են TCP-ի վրա։
  • Կապված հաճախորդի, սերվերի և պրոքսի գրանցման հատվածներ նույն փորձից։

Հեռացնել հասանելիության տոկոսները, գաղտնաբառերը և այլ անձնական տեղեկատվությունը մինչև լոգերի ներբեռնումը։ Պահպանել բացառության հաղորդագրությունները և շտեմարանի հետքերը, որոնք անհրաժեշտ են խնդիրը ախտորոշելու համար։

Օգտագործողի ներգրավում

Raknetify2-ը թույլ է տալիս mod-ներին հայտարարել, թե որ Minecraft հոսքը պետք է մնա իր սեփական payload-ի հետ։ Կիրառեք սա, երբ payload-ի կառավարումը պահանջում է entity, chunk, inventory կամ այլ վիճակ, որը հաստատվել է նախորդ փաթեթներով։

խումբների կարգավորում

խումբ Համապատասխան երթևեկություն
ui Աշխարհից անկախ մենյուներ և փոխազդեցություն
entity Ընդհանրության ստեղծում, հեռացում և տեղաշարժ
world_interaction Ցուցակները և այլ աշխարհից կախված փոխազդեցությունները
effects ձայներ և մասնիկներ
chunk Տեղամասի, բլոկի և լուսավորության նորացումներ

Բոլոր խումբները պահպանում են իրենց ալիքի մեջ հավաստի կարգավորված հասցեագրում։ Բազմաթիվ խումբների փաթեթները կարող են հասնել տարբեր հարաբերական կարգով։ Ընտրեք խումբը, որը համապատասխանում է բեռնվածքի կախվածությանը։

Ընտրական Fabric ինտեգրում

Ձեր mod-ի fabric.mod.json-ում raknetify:packet_channels-ի մուտքային կետի տակ ավելացնել ապահովող։ ապահովողը Consumer<BiConsumer<String, String>>-ը իրականացնում է JDK-ի տիպի միջոցով։ Այն ստանում է գրանցող, որը ընդունում է յուրահատուկ բեռնվածության ինդեքսը և կարգավորման խումբը։

Միավորել այս մուտքագրումը ձեր գոյություն ունեցող մետա տվյալների մեջ, փոխարինելով դասարանի անունը ձեր ապահովողի լիովին որակավորված անունով:

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

Պահպանել ձեր fabric.mod.json-ի մնացած մասը, ներառյալ դրա ներթափանցման կետեր։ Սա մետա տվյալների ֆայլի կտոր է։

Օրինակ, գործունեության շարժման հավելվածը կարող է գրանցել example:entity_path-ը entity խումբում։ PacketOrdering API փաստաթղթավորում-ը ներառում է ծառայության մատուցողի իրականացումը։

Fabric-ը թողնում է այս մուտքային կետը անհետացած, երբ Raknetify2-ը բացակայում է։ Պատվիրատուները պետք է հայտարարեն ինդեքսներ և խմբեր սկզբնականացման ժամանակ, առանց վստահելու այլ mod-ի վրա, որը ավարտել է իր սեփական սկզբունքայինացումը։

Գրանցման վարքագիծ

Forge և NeoForge mod- ները և սերվերի կամ պրոքսի հավելվածները կարող են զանգահարել PacketOrdering.register(identifier, group)- ին սկզբից, երբ Raknetify2- ը հասանելի է։ Կլասը com.ishland.raknetify.api.PacketOrdering է։ Գրանցվեք նախքան նվագարկիչի կապերի ընդունումը, և պահպանեք հավելյալ ինտեգրման կոդը Raknetify2 դասերի բեռնումից, երբ կախվածությունը բացակայում է։

Առաջարկները կիրառվում են նոր կապերի համար։ Գոյություն ունեցող կապերը պահպանում են կանոնները, որոնք ստացել են տեղադրման ժամանակ։ Այն թույլ է տալիս նույն հայտարարությունը կրկնել։ Միևնույն ինդեքսի հակասող խումբները հերքում են։

Փոխադրման ինդեքսը պետք է օգտագործի ճիշտ ընթացիկ անվանումի տարածություն։ minecraft անվանումի տարածությունը պահպանված է։ Ավարտման կետի ընդլայնված սահմանը 128 հայտարարություններն են, ներառյալ ներկառուցված կանոններ և գրանցումներ այլ mod-ներից։ Ինդեքսները կարող են պարունակել մինչև 255 ASCII նշաններ՝ օգտագործելով API-ի անվանումի տարածության ինդեքսի սինտակսը։

Նորացված RakNet զուգընկերների փոխանակման հայտարարությունները կապի հաստատման ժամանակ։ Սերվեր կամ պրոքսի կարող է օգտագործել զուգընկերի հայտարարությունը, երբ այն չունի տեղական կանոն այդ բեռնման համար։ Լայնորեն տարածված են տեղական կանոնները, և զուգընկիրի հայտարարությունները մնում են այդ կապի շրջանակներում։

UDP պրոքսիներ

Տեսեք UDP փոխանցումը և PROXY արձանագրությունը UDP կրիչների և փոխանցված հաճախորդների հասցեների համար։

Minecraft պրոքսիի տեղադրման համար տե՛ս Velocity և BungeeCord.

English (US)

Clone this wiki locally