Repository navigation
Wiki ky kg
- Башкы бет
- Орнотуу
- 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 · Minecraft / Java · English
- Forge / NeoForge / Spigot / Paper · GitHub Releases
Raknetify2 Minecraft оюнчуларын UDP үстүнөн иштеген RakNet аркылуу туташтырат. Пакеттер өз-өзүнчө иреттелген каналдарга бөлүнөт. Бир каналда пакет жоголсо, башка каналдагы маалымат өтө берет. Ошондуктан жоголгон маалымат кайра жөнөтүлүп же дүйнөнүн бөлүктөрү жүктөлүп жатканда да оюн оюнчунун аракетине тез жооп бере алат.
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 оюну менен мод жүктөгүчтүн кайсы версияларын талап кыларын текшериңиз.
| Кайда орнотулат | Файл | Папка |
|---|---|---|
| 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 нускасына же моддор жыйнагына таандык. Сервердин же проксинин папкалары ал орнотулган жерде болот. Жүктөгүч керектүү папканы түзө элек болсо, өзүңүз түзүңүз.
- Жүктөгүчүңүзгө ылайыктуу кардар модун орнотуңуз.
- Серверге ага туура келген сервер модун же шайкеш серверге Spigot/Paper плагинин орнотуңуз.
- Серверге 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 аркылуу туташыңыз. Роутер портту алмаштырса, кардарда тышкы UDP портун көрсөтүңүз. TCP порту өзгөрбөйт.
Spigot/Paper платформасында UDP кызматы Minecraft TCP кызматы уккан жергиликтүү даректи колдонот. Параметр жараксыз болсо же UDP порту бош болбосо, RakNet ишке кирбейт. Байланган UDP дареги менен портту ишке кирүү журналынан көрүңүз. TCP портунун номерине кайтуу үчүн параметрди алып салып, серверди кайра иштетиңиз.
Роутер же UDP проксиси башка тышкы UDP портун ачып, трафикти азыркы угуу портуна багыттай алат. Ал үчүн сервердин Java параметрлерин өзгөртүү талап кылынбайт.
GitHub Actions барагынан ийгиликтүү аяктаган main ишин ачып, анын Artifacts архивин жүктөп алыңыз. Архивди алуу үчүн GitHub каттоо эсеби керек. Архивден JAR тандоодо жогорудагы орнотуу жадыбалын колдонуңуз.
Velocity менен BungeeCord оюнчулар менен ички Minecraft серверлеринин ортосунда иштейт. Raknetify2 плагинин проксиге жана RakNet аркылуу туташа турган ар бир кардарга орнотуңуз.
Raknetify2 кардары --UDP--> Velocity же BungeeCord --TCP--> ички сервер
Мындай туташууда ички серверлерге Raknetify2 керек эмес. Бирок тармагыңыз талап кылган моддор, плагиндер жана маалыматты багыттоо колдоосу керек. Raknetify2 Minecraft версияларын бири-бирине которбойт жана проксидеги каттоо эсебин текшерүү тартибин өзгөртпөйт.
- Прокси аркылуу кадимки TCP туташуусу иштей турганын текшериңиз. Каттоо эсебин текшерүүнү жана бир ички серверден экинчисине өтүүнү да сынаңыз.
- Проксини токтотуп, ылайыктуу плагинди GitHub Releases барагынан жүктөп алыңыз.
-
raknetify2-velocity-*-all.jarжеraknetify2-bungee-*-all.jarфайлын проксининpluginsпапкасына салыңыз. Ал жердеги эски Raknetify же Raknetify2 плагинин алып салыңыз. - Орнотуу нускамасы боюнча кардарга ылайыктуу Raknetify2 модун орнотуңуз.
- Төмөндөгү угуу жөндөөлөрүн текшерип, проксини кайра иштетиңиз. Журналда RakNet портун ачуу катасы жок экенин караңыз.
- Сырттан проксиге UDP аркылуу кирүүгө уруксат бериңиз, ички серверлердин оюн портторуна кирүүнү брандмауэр менен роутердин нускамасына ылайык чектеңиз.
Кардар менен проксиге бири-бири менен шайкеш 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 сокетинин кагылышын чечпейт.
Velocity менен BungeeCord платформаларында Simple Voice Chat өзүнүн прокси плагинин жана UDP портун колдонот. Үн чатынын проксисин жөндөө нускамасын аткарыңыз.
Minecraft проксисинин алдында дагы бир UDP проксиси болуп, ал PROXY protocol v2 баштарын жөнөтсө, Raknetify2 модун UDP трафигин багыттоо жана PROXY протоколу боюнча жөндөңүз. Velocity же BungeeCord кызматын гана орнотсоңуз, бул жөндөө талап кылынбайт.
Жергиликтүү тармактын сыртынан Raknetify2 кардары менен сынаңыз. Прокси аркылуу кирип, колдонулуучу ички серверлердин ортосунда которулуп көрүңүз. Оюнчунун кимдиги жана уруксаттары туура сакталышы керек.
- Прокси аркылуу TCP иштеп, RakNet жооп күтүп бүтсө, проксинин UDP угуу портун, тышкы портту, IPv4 жана IPv6 жолдорун, брандмауэр эрежелерин текшериңиз.
- Прокси ички серверге туташканда эки ыкма тең иштебесе, ошол сервердин TCP дарегин, кирүү эрежелерин жана оюнчунун маалыматын өткөрүү жөндөөлөрүн текшериңиз.
- Прокси UDP порту бош эмес десе, аны Query, Geyser, үн проксиси же башка процесс ээлеп турганын текшериңиз.
Билдирүүгө бир эле туташуу аракетине тиешелүү проксинин жана ички сервердин журналдарын кошуңуз. Кайсы версияларды көрсөтүү керектигин көйгөйдүн себебин табуу бөлүмүнөн караңыз.
Бул нускама сервер администраторуна арналган. RakNet туташуусун кабыл алуучу серверге же проксиге чейин UDP жолу иштеши керек. Демейкиде Minecraft уккан TCP портунун номери колдонулат.
Бир жергиликтүү тармактагы оюнчулар сервердин жергиликтүү дарегин колдонушат. Сервер жайгашкан компьютердин брандмауэринен UDP өткөрүңүз. Интернеттен келген трафик роутердин IPv4 NAT кызматы аркылуу өтүшү керек болгондо портту багыттоо талап кылынат.
Тышкы UDP трафигин Minecraft сервери жана Raknetify2 иштеген компьютерге багыттаңыз. Максаттуу порт – ошол сервердин RakNet UDP угуу порту. Аны компьютердин брандмауэринен ачыңыз. Кадимки Minecraft туташуулары үчүн мурунку TCP жолун сактаңыз.
Мисалы, Raknetify2 UDP 25570 портун укса, тышкы UDP портун сервердин жергиликтүү дарегиндеги 25570 портуна багыттаңыз. Сервердин TCP порту 25565 бойдон кала алат. Башка UDP портун тандоо үчүн түз сервердин угуу жөндөөлөрүн караңыз.
Тышкы UDP трафигин Raknetify2 плагини бар Velocity же BungeeCord иштеген компьютерге багыттаңыз. Проксинин RakNet UDP угуу портун максаттуу порт кылыңыз. Кадимки Minecraft кардарлары үчүн тышкы TCP жолун сактаңыз.
Прокси ички Minecraft серверлерине TCP аркылуу туташат. Проксиге Raknetify2 кошкондо ички серверлердин UDP оюн портторун оюнчуларга ачуу талап кылынбайт.
| Туташуу | Уруксат берилүүчү трафик |
|---|---|
| Оюнчулардан проксиге | Тышкы UDP – RakNet угуу портуна, ошондой эле мурунку тышкы TCP порту |
| Проксиден ички серверлерге | Ички Minecraft серверлеринин TCP порттору. Аларга белгиленген прокси компьютерлер гана жете алсын |
| Оюнчулардан ички оюн портторуна түз кирүү | Бөгөттөлгөн бойдон калсын, IPv6 аркылуу да |
Прокси менен ички серверлер сиз башкарган бир атайын компьютерде түз иштесе, ички серверлер loopback даректерин уга алат. Проксини аларга ошол даректер аркылуу туташтыргыдай жөндөңүз. Өзүнчө компьютерлерде ички TCP портторуна прокси компьютерлерден гана кирүүгө уруксат бериңиз. Бул үчүн брандмауэр же обочолонгон жеке тармак колдонуңуз. Контейнерлер менен башкарылуучу хостингде да тармактын түзүлүшүнө ылайык ушундай чектөө керек. Velocity ички серверлеринин коопсуздугу жана BungeeCord брандмауэри боюнча нускамаларды караңыз.
Оюнчунун маалыматын өткөрүү менен брандмауэр чектөөлөрү бирге иштейт. Ички серверге түз кирген адам проксинин кирүү текшерүүсүн айланып өтүшү мүмкүн. Плагинди орнотуу, маалыматты өткөрүү жана UDP портун өзгөртүү үчүн Velocity жана BungeeCord бөлүмүн караңыз.
Роутер порт номерин которсо, тышкы порт менен угуу порту ар башка болот:
| Жөндөө | Колдонулуучу порт |
|---|---|
| Кардарда жазылуучу сервер дареги | Тышкы UDP порту |
| Роутердин багыттоо эрежесиндеги тышкы порт | Тышкы UDP порту |
| Роутердин багыттоо эрежесиндеги ички порт | RakNet уккан UDP порту |
| Компьютердин брандмауэриндеги жергиликтүү порт | RakNet уккан UDP порту |
Сервер IPv4 роутеринин артында болсо:
- RakNet туташууларын кабыл алган компьютердин жергиликтүү IPv4 дарегин табыңыз. Багыттоо дайыма ошол компьютерге барышы үчүн DHCP аркылуу даректи бекитиңиз же ылайыктуу туруктуу дарек бериңиз.
- Оюнчулар колдоно турган тышкы порт үчүн UDP багыттоо эрежесин кошуңуз.
- Эрежедеги максат катары ошол компьютердин жергиликтүү дарегин жана RakNet уккан UDP портун көрсөтүңүз.
- Сервердин брандмауэринен угуу портуна кирүүчү UDP трафигин өткөрүңүз.
Мисалы, сервер UDP 25565 портун укса, эрежеде тышкы порт 25565, максаттуу дарек 192.168.1.100 жана максаттуу порт 25565 боло алат. Мисалдагы даректи сервериңиздин чыныгы жергиликтүү дареги менен алмаштырыңыз.
Кадимки Minecraft туташуулары үчүн азыркы TCP эрежесин сактаңыз. TCP эрежеси жалгыз өзү UDP трафигин өткөрбөйт.
Трафик сиздин роутерге жеткенче башка роутер же интернет провайдери NAT колдонобу, текшериңиз. Эки роутерди тең өзүңүз башкарсаңыз, багыттоону экөөнө тең коюңуз. Провайдер CGNAT колдонсо, тышкы IPv4 дарегин сураңыз же кирүүчү UDP трафигин колдогон хостинг же туннель колдонуңуз. Сиздин роутердин эрежеси провайдердин NAT жөндөөлөрүн өзгөртө албайт. Тышкы WAN дарегине байланыштуу талапты TP-Link нускамасынан караңыз.
Тандалган UDP портуна роутердин IPv6 брандмауэринен да, сервер жайгашкан компьютердин брандмауэринен да уруксат бериңиз. Максат катары RakNet туташууларын кабыл алган компьютердин IPv6 дарегин көрсөтүңүз.
Хост атынын IPv6 дареги ошол компьютерге алып барарын текшериңиз. Дарек өзгөрсө, DNS жазуусун жана ошол даректи атаган брандмауэр эрежелерин жаңыртыңыз.
Бир хост аты IPv4 жана IPv6 даректерин тең жарыяласа, ар бир дарекке жол иштеши керек. Бир оюнчу туташып, экинчиси туташа албаса, эки топ эрежени тең текшериңиз.
IPv4 багыттоосу порт номерин алмаштырса, оюнчулар киргизген номер менен IPv6 угуу портуна да жетүүгө болорун текшериңиз. IPv4 портунун которулушу IPv6 жолун жөндөбөйт.
Провайдер же туннель оюнчуларга берилген тышкы даректе UDP колдоого тийиш. Сервердин өз брандмауэринен тышкары провайдер бөлгөн портторду жана тармактык брандмауэр эрежелерин текшериңиз.
Кошумча UDP проксиси кардар даректерин PROXY protocol v2 аркылуу өткөрсө, UDP трафигин багыттоо жана PROXY протоколу бөлүмүн аткарыңыз. Маалыматты кабыл алган UDP портуна ишенимдүү прокси гана жете алсын.
Сервердин жергиликтүү тармагынын сыртынан жаңыртылган Raknetify2 кардары менен, мисалы, raknet;play.example.com:25565 дарегине туташыңыз. Даректе тышкы UDP портун көрсөтүңүз.
Жолду чыныгы RakNet туташуусу менен текшериңиз. UDP сканерине жооп келбесе, жыйынтык так эмес. Иштеп турган кызмат тааныбаган текшерүү пакетин таштап коюшу мүмкүн. Бул тууралуу Nmap UDP сканерлөө нускамасында айтылган.
TCP туташуусунун ийгилиги TCP жолун гана ырастайт. RakNet жооп күтүп бүтсө, көйгөйдү издөө нускамасы боюнча угуу дарегин, багыттоонун максатын, UDP портун жана брандмауэр эрежелерин текшериңиз.
Жүктөп алган конкреттүү чыгарылыштын колдоосун текшериңиз. Иштеп чыгуу бутагында жарыяланган версияга кире элек колдоо болушу мүмкүн.
Minecraft жана Java версиялары · English
Raknetify2 көрсөткөн Java версиясы – эң төмөнкү талап. Minecraft же жүктөгүч жаңыраак Java талап кылышы мүмкүн. Үчөөнүн тең талаптарына жооп берген версияны тандаңыз.
Мүмкүн болсо, кардарга жана аны кабыл алуучу серверге же проксиге бир эле Raknetify2 чыгарылышын орнотуңуз. Ар башка версияларды аралаштыруудан мурда чыгарылыштын эскертмелерин окуңуз. Шифрленген RakNet туташуусу үчүн эки тарап тең маалыматтын аныктыгын текшерген шифрлөө протоколун колдошу керек. Баштапкы Raknetify жана бул протокол киргизилгенге чейинки Raknetify2 версиялары жаңыртылган тарап менен мындай шифрленген туташуу түзө албайт.
Raknetify2 Minecraft оюнунун азыркы протоколундагы маалыматты ташыйт. Башка-башка Minecraft версияларын туташтыруу үчүн шайкеш протокол которгуч керек.
Чоң мод жыйнагында көйгөй чыкса, көйгөйдү издөө нускамасын аткарыңыз. Билдирүүгө бардык моддордун так версияларын кошуңуз.
Демейки режимде бир канал жоголгон маалыматты күтсө да, көз карандысыз каналдар иштей берет. Иреттелген режимде Minecraft пакеттеринин баары бир каналга жайгашат. Бир пакет жоголсо, ошол багыттагы кийинки пакеттердин баары ал кайра жөнөтүлгөнчө күтөт. Бул айрым античит программалары күткөн иретти сактайт. Күтүү учурунда башка оюн трафиги да токтоп турат.
-
Иреттелген режимди колдогон Raknetify2 версиясын RakNet туташуусун кабыл алган серверге же проксиге жана ар бир RakNet кардарына орнотуңуз.
-
Кабыл алуучу сервердин же проксинин жумушчу папкасына карата
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 тандай алат. Бул Minecraft оюнуна Java Edition 1.20.5 менен кошулган өткөрүү мүмкүнчүлүгүн колдонот. Ар бир тараптагы Minecraft версиясын жана жүктөгүчтү сиздин Raknetify2 чыгарылышыңыз колдой турганын текшериңиз.
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 аркылуу дарек изделбейт. Бир IP дарекке алып барган эки башка хост атына өзүнчө жазуулар керек. Жалпылоочу белгилери бар аттар колдоого алынбайт.
Кабыл алуучу сервер Minecraft оюнунун server.properties файлын колдонсо, accepts-transfers=true коюп, кайра иштетиңиз. Кабыл алуучу проксинин өзүнчө өткөрүү жөндөөсү болушу мүмкүн. Демейкиде Minecraft түз кирүүгө уруксат берилсе да сырттан өткөрүү сурамын четке кагат.
Кабыл алуучу тарапта RakNet угуу порту, тышкы UDP багыттоосу жана брандмауэр алдын ала жөндөлүшү керек. Жөнөтүүчү сервердин өткөрүү файлы кардарга жөнөтүлө турган даректи тандайт.
Хост аты IPv4 жана IPv6 даректерин тең жарыяласа, кабыл алуучу тарапка чейинки эки жолду тең текшериңиз. Автоматтык өткөрүүнү иликтөөдөн мурда ал жакка кадимки RakNet аркылуу түз туташып көрүңүз.
Кабыл алуучу сервердин кирүү жана оюнчуну кабыл алуу текшерүүлөрүн сактаңыз. Бул жөндөө оюнчуга кирүү укугун бербейт жана сервердин колдонуучуну текшерүү механизмин алмаштырбайт.
Талаалар жетишпесе, белгисиз талаа, жараксыз порт же кайталанган дарек болсо, ишке киргизүүдө ката чыгат. Сервердин журналынан себебин таап, JSON файлын оңдоп, кайра иштетиңиз.
Автоматтык тандоону өчүрүү үчүн жөндөө файлын алып салыңыз же {"destinations": []} деп жазыңыз. Андан кийин жөнөтүүчү серверди кайра иштетиңиз. Өткөрүү сурамдары алгачкы даректерин сактайт.
UDP проксиси RakNet трафигин өткөрүп, PROXY protocol v2 аркылуу кардардын баштапкы дарегин сактай алат. Алдыңкы UDP проксиси угуу портуңузга ушундай баш маалыматтарды жөнөткөндө бул функцияны күйгүзүңүз. Роутердеги кадимки порт багыттоо үчүн мунун кереги жок.
Багытталган UDP трафигин кабыл алган серверде же Minecraft проксисинде config/raknetify2-proxy-protocol.json файлын түзүңүз:
{
"trustedProxies": ["192.0.2.10"]
}Мисалдын ордуна UDP проксисинин чыныгы булак IP дарегин же өзүңүз көзөмөлдөгөн CIDR даректер аралыгын жазыңыз. Арадагы NAT кызматтарынан өткөндөн кийин кабыл алуучу көргөн дарекке дал келиши керек. IPv4 жана IPv6 даректерин сан түрүндө жазууга болот. DNS аттары кабыл алынбайт. Кабыл алуучу серверди же проксини кайра иштетиңиз.
Багыттоочу проксини UDP үчүн PROXY protocol v2 баш маалыматтарын жөнөткүдөй жөндөңүз. Raknetify2 кардардын багытталган дарегин тизмедеги булактардан гана кабыл алат. Бул жөндөө күйгүзүлүп турганда андай баш маалыматы жок түз RakNet туташуулары четке кагылат. TCP угуу кызматынын жөндөөлөрү сакталып калат.
Тизмедеги ар бир проксиге кардардын дарегин көрсөтүүгө ишеним берилет. Ички сервердин брандмауэринен UDP портуна тандалган прокси гана жете алгыдай чектеңиз. Ишенимдүү даректер аралыгын тармагыңыз жол берген эң тар чекте кармаңыз.
Файлда бир гана trustedProxies талаасы жана анын ичинде кеминде бир жазуу болушу шарт. Бош массив ката болуп эсептелет. Файл жараксыз болсо, RakNet угуу кызматы ишке кирбейт.
Түз UDP туташуусуна кайтуу үчүн файлды өчүрүп, угуу кызматын кайра иштетиңиз. Ошол эле учурда алдыңкы проксинин багыттоо тартибин жана брандмауэр эрежелерин жаңы жолго ылайык өзгөртүңүз.
Күйгүзгөндөн кийин туташуу иштебесе, ички сервер көргөн проксинин чыныгы булак дарегин, ишенимдүү CIDR аралыгын жана проксинин UDP үчүн PROXY protocol v2 башын жөнөтүп жатканын текшериңиз.
Minecraft проксисин орнотуу жана ички серверлерди жөндөө үчүн Velocity жана BungeeCord бөлүмүн караңыз.
Fabric, Forge, NeoForge, Spigot жана Paper платформаларында Raknetify2 сервердин UDP угуу портун Simple Voice Chat менен бөлүшө алат.
Simple Voice Chat модун серверге жана үн менен сүйлөшкүсү келген ар бир оюнчунун кардарына орнотуңуз. Калган жөндөөлөр үчүн анын серверди жөндөө нускамасын аткарыңыз.
Spigot/Paper кошо алганда, Raknetify2 файлын сервердин башкы папкасындагы config папкасына салыңыз. 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 портун түз жазыңыз. Мисалы, RakNet жергиликтүү UDP 25570 портун укса, port=25570 керек.
Кардарга башка тышкы дарек же порт керек болсо, voice_host коюңуз. Роутер тышкы UDP 25580 портун жергиликтүү UDP 25570 портуна багыттаса, port=25570 жана voice_host=play.example.com:25580 колдонуңуз. Тышкы дарек voice_host талаасына жазылат. bind_address жергиликтүү угуу дарегин тандайт.
Raknetify2 жалпы UDP сокетин Simple Voice Chat API аркылуу берет. Үн туташуусунун аныктыгын текшерүүнү жана үндү шифрлөөнү 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 ийгиликтүү ишке киргенин жана үн кызматынын порту менен дареги жергиликтүү RakNet угуу дарегине дал келерин текшериңиз.
Multiple RakNet listeners match the voice bind address десе, bind_address талаасына дал келген жергиликтүү даректердин бирин так көрсөтүп, кайра иштетиңиз.
Simple Voice Chat кызматына UDP сокетин бир эле плагин бере алат. Ишке киргенде башка плагин сокет берип койгону жазылса, кайсы плагинди колдоно турганыңызды тандаңыз.
Raknetify2 интеграциясын өчүрүү үчүн анын үн жөндөөсүнө {"enabled": false} жазыңыз же ошол файлды өчүрүңүз. Simple Voice Chat үчүн өзүнчө UDP портун бөлүп, брандмауэр же багыттоо эрежелерин өзгөртүңүз жана серверди кайра иштетиңиз.
Төмөнкүлөрдү ирети менен текшериңиз:
- Кардардагы Raknetify2 моду анын жүктөгүчүнө жана Minecraft версиясына ылайыктуу.
- Туташууну кабыл алган серверге же проксиге Raknetify2 орнотулган. Ал угуу портун ачууда катасыз ишке кирген.
- Дарек
raknet;менен башталып, тышкы UDP портун көрсөтөт. - Хостинг провайдери, роутер жана компьютердин брандмауэри ошол портко UDP трафигин өткөрөт.
- Хост атынын IPv4 жана IPv6 даректери керектүү компьютерге алып барат жана эки жолдун брандмауэр эрежелери иштейт.
Ийгиликтүү TCP туташуусу TCP жолун гана ырастайт. UDP багыттоосун жана IPv6 аркылуу кирүүнү брандмауэр менен роутердин нускамасы боюнча текшериңиз. PROXY протоколу күйгүзүлсө, кардарлар угуу портуна тизмедеги ишенимдүү прокси аркылуу жетиши керек.
UDP портун башка процесс ээлеп турганын текшериңиз. Query, Geyser жана башка UDP кызматтарына өзүнчө порттор керек. Simple Voice Chat жалпы портту колдоно алат.
Башка жергиликтүү UDP портун түз сервердин угуу жөндөөлөрү же Velocity жана BungeeCord жөндөөлөрү аркылуу тандасаңыз болот. Spigot/Paper параметринин версия талабын текшериңиз. Роутердин тышкы портун гана өзгөртсөңүз, жергиликтүү сокет кагылышы чечилбейт.
Кабыл алуучу дарекке анын raknet; дареги менен түз туташыңыз. Туташуу иштебесе, адегенде ошол тараптагы угуу кызматын же тармак жолун оңдоңуз.
Түз туташуу иштесе, кабыл алуучу тарап сырттан өткөрүүнү кабыл аларын текшериңиз. server.properties колдонгон Minecraft серверине accepts-transfers=true керек. Түз кирүү бул параметрди текшербейт.
Андан кийин өткөрүү сурамындагы хост аты менен TCP портун жөнөтүүчү сервердин config/raknetify2-transfers.json файлы менен салыштырыңыз. Кайра иштеткенден кийин файл окулганын жана кардар автоматтык RakNet өткөрүүнү колдоорун текшериңиз. Автоматтык өткөрүү бөлүмүн караңыз.
Эки тараптагы Raknetify2 версияларын текшериңиз. Чыгарылыш шифрленген протоколду өзгөртсө, кардар менен серверди же проксини бирге жаңыртыңыз. Себепти издеп жатканда сервердин аутентификация жөндөөлөрүн сактаңыз.
Кайсы аракет катаны пайда кыларын жазыңыз. Мисалы, буюмдар тизмесин ачуу, ресурс жыйнагын алуу, дүйнө алмаштыруу же оюн объектисин жаратуу. Мүмкүн болсо, өзүнчө сыноо орнотмосунда ошол эле аракетти TCP жана RakNet аркылуу кайталап салыштырыңыз.
Айрым мод маалыматы кадимки Minecraft пакеттеринин иретине көз каранды. Мод авторлору бул көз карандылыкты пакеттерди иреттөө интерфейси аркылуу көрсөтө алышат.
Raknetify2 каталар тизмесинде жаңы билдирүү ачып, буларды кошуңуз:
- Эки тараптагы Minecraft, Java, жүктөгүч жана Raknetify2 версиялары.
- Сервердин, проксинин жана бар болсо UDP багыттоочу проксинин программа версиялары.
- Орнотулган башка моддор жана алардын версиялары.
- Катаны кайталоо кадамдары жана сиз күткөн натыйжа.
- Ошол эле кадамдар TCP аркылуу иштеген-иштебегени.
- Бир эле аракетке тиешелүү кардар, сервер жана прокси журналдарынын үзүндүлөрү.
Журналды жүктөп берерден мурда кирүү токендерин, сырсөздөрдү жана башка купуя маалыматтарды алып салыңыз. Катаны аныктоого керектүү өзгөчө абалдын билдирүүлөрүн жана чакырыктар стегин калтырыңыз.
Raknetify2 модго анын маалыматы менен бир иретте кайсы Minecraft трафиги келиши керектигин көрсөтүүгө мүмкүндүк берет. Моддун билдирүүсүн иштетүү үчүн мурдагы пакеттер түзгөн объект, дүйнөнүн бөлүгү, буюмдар тизмеси же башка абал керек болгондо ушуну колдонуңуз.
| Топ | Тиешелүү трафик |
|---|---|
ui |
Дүйнөгө көз каранды эмес менюлар жана аракеттер |
entity |
Оюн объектисинин пайда болушу, өчүрүлүшү жана жылышы |
world_interaction |
Буюмдар тизмелери жана дүйнөгө көз каранды болгон башка аракеттер |
effects |
Үндөр жана бөлүкчөлөр |
chunk |
Жер бетинин, блоктордун жана жарыктын жаңырышы |
Ар бир топтун пакеттери өз каналында ишенимдүү түрдө ирети менен жеткирилет. Башка-башка топтордун пакеттери бири-бирине карата башка иретте келиши мүмкүн. Маалымат кайсы пакеттерге көз каранды болсо, ошолордун тобун тандаңыз.
Моддун fabric.mod.json файлындагы raknetify:packet_channels кирүү чекитине камсыздоочу класс кошуңуз. Ал JDK түрлөрүн колдонуп Consumer<BiConsumer<String, String>> интерфейсин ишке ашырат. Ага мод маалыматынын идентификатору менен иреттөө тобун кабыл алган каттоочу берилет.
Бул жазууну учурдагы метадайындарга кошуңуз. Класстын атынын ордуна камсыздоочу класстын пакетин камтыган толук атын жазыңыз:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}fabric.mod.json файлынын калган мазмунун, анын ичинде азыркы кирүү чекиттерин сактаңыз. Бул метадайын файлынын үзүндүсү гана.
Мисалы, объекттин кыймылын кеңейткен мод example:entity_path идентификаторун entity тобунда каттай алат. Камсыздоочу класстын коду PacketOrdering API документинде берилген.
Raknetify2 жок болсо, Fabric бул кирүү чекитин чакырбайт. Камсыздоочу класстар идентификаторлор менен топторду ишке киргизүү маалында каттайт. Башка моддун ишке кирүүсү аяктаганына таянбаңыз.
Raknetify2 бар болсо, Forge жана NeoForge моддору, ошондой эле сервер же прокси плагиндери ишке кирип жатканда PacketOrdering.register(identifier, group) ыкмасын чакыра алат. Класс – com.ishland.raknetify.api.PacketOrdering. Оюнчуларды кабыл алардан мурда каттаңыз. Raknetify2 жок болгондо кошумча интеграция коду анын класстарын жүктөбөсүн.
Билдирилген эрежелер жаңы туташууларга колдонулат. Мурда туташкандар башында алган эрежелерин сактайт. Бирдей эрежени кайталап каттоого болот. Бир идентификатор үчүн бири-бирине каршы келген топтор кабыл алынбайт.
Мод маалыматтарынын идентификатору жарактуу өздүк ат мейкиндигин колдонушу керек. minecraft ат мейкиндиги ээлеп коюлган. Ар бир туташуу тарабында камтылган эрежелерди жана башка моддордун жазууларын кошкондо эң көп 128 билдирүү болот. Идентификатор API талап кылган ат мейкиндиги менен жазылып, узундугу 255 ASCII белгиден ашпашы керек.
Жаңыртылган RakNet тараптары туташуу башталганда эрежелери менен алмашат. Серверде же проксиде ошол маалыматка жергиликтүү эреже жок болсо, экинчи тарап берген эрежени колдоно алат. Жергиликтүү эреже биринчи турат. Каршы тарап берген эрежелер ошол туташуу менен гана чектелет.
UDP аркылуу багыттоо жана кардардын баштапкы дарегин өткөрүү үчүн UDP трафигин багыттоо жана PROXY протоколу бөлүмүн караңыз.
Minecraft проксисин жөндөө үчүн Velocity жана BungeeCord бөлүмүн караңыз.