Skip to content

Wiki ry ua

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

З Raknetify2 бавка у рокаши в Minecraft хоснує RakNet по UDP. Пакеты ідут по кількох каналах, а каждый канал держит свуй шор. Кой на єдному ся стратить пакет, другі каналы годні далї слати податкы. Завто бавка годна скоро удозвати ся на ваш крок и тогды, кой страчені податкы ідут наново вадь ся передают чанкы.

Raknetify2 є самостойна галузь Raknetify, котрый учинив ishland. У сій галузи додано пудпору май новых верзій Minecraft, а єї справці сокотят сітёвый транспорт, капчаня з платформами тай пробы совмістности.

Як зачати

  1. Перевірте совмістность Minecraft и модів.
  2. Уберіт файл на стягованя тай уставте го.
  3. Прикапчайте ся по адресови, наприклад raknet;play.example.com.

Помуч про справців серверу

Авторове модів годні через інтерфейс шорованя пакетув указати, котрі пакеты 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 запріт клієнт авадь спиніт сервер. Перед тым, як додати новый файл, уберіт из тої самої установкы JAR ориґіналного Raknetify и вшыткы май старі JAR Raknetify2.

Про клієнт хоснуйте тийкы тої копії Minecraft авадь комплета модів, што запускаєте. Про сервер ци проксі хоснуйте тийкы його установкы. Кой ладовач ищи не учинив потрібну тийку, учиніт ї самі.

Прямоє скапчаня из сервером

  1. Установіт клієнтськый мод про свуй ладовач.
  2. Установіт удповідный мод на сервер авадь плаґін Spigot/Paper на совмістный сервер.
  3. Подля штімованя сітёвого філтра тай рутера допустіт скапчаня UDP ид серверови.
  4. Запустіт клієнт тай сервер наново.
  5. Додайте адрес сервера, наприклад raknet;play.example.com авадь raknet;play.example.com:25565.

Адрес без приставкы raknet; хоснує TCP.

Кой установите лем клієнтськый мод, далекый сервер уд того RakNet знати не буде. Справця сервера мусит удоперти точку доступа RakNet. Бавлячам на чужому серверови обычно не треба пересылати входячі порты на своєму рутерови.

Velocity тай BungeeCord

На проксі дайте удповідный плаґін, на клієнт мод. У статї Velocity тай BungeeCord знайдете штімованя слуханя, пересыланя ид заднім серверам, обмедженя доступа и адрес про бавлячув.

Окремый порт слуханя 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 хоснує тот самый локалный адрес привязкы, што TCP-слухач Minecraft. Неплатноє штімованя авадь занятый UDP-порт не даст RakNet удстартовати. У записови старта позріт, на котрый адрес тай порт ся прикапчав UDP. Уберіт арґумент тай запустіт сервер наново, убы вернути число порта TCP.

Рутер авадь UDP-проксі годен удоперти другый публичный UDP-порт тай пересылати з нёго до теперішнёго слухача без зміны серверовых арґументув Java.

Збіркы з розробкы

У GitHub Actions удопріт успішный запуск main тай стягніт архів Artifacts. Про стягованя файлув з робочого процеса GitHub треба аккаунт. У таблици установляня горі найдете, котрый JAR убрати з архіва.

Velocity тай BungeeCord

Velocity тай BungeeCord стоят меджи бавлячами и задніма серверами Minecraft. Установіт Raknetify2 на проксі тай на каждый клієнт, што ся буде капчати по RakNet.

Клієнт Raknetify2 --UDP--> Velocity авадь BungeeCord --TCP--> задній сервер

На сій пути скапчаня заднім серверам Raknetify2 не треба. Треба їм моды, плаґіны и пудпора пересыланя, котрі просит ваша сіть. Raknetify2 не перекладать меджи верзіями Minecraft и не мінят автентіфікацію аккаунта на проксі.

Установити плаґін про проксі

  1. Перевірте, ци обычноє TCP-скапчаня через проксі фунґує, а з ним автентіфікація и переход меджи задніма серверами.
  2. Спиніт проксі тай стягніт удповідный плаґін из GitHub Releases.
  3. Дайте raknetify2-velocity-*-all.jar авадь raknetify2-bungee-*-all.jar у тийку plugins на проксі. Уберіт удты вшыткы старі плаґіны Raknetify и Raknetify2.
  4. Установіт удповідный клієнтськый мод Raknetify2 подля порады за установляня.
  5. Перевірте штімованя слухача долу, запустіт проксі наново тай позріт у запис, ци нема хыбы слухача RakNet.
  6. Допустіт публичну UDP-передачу ид проксі тай обмеджте бавочні порты задніх серверу, як стоїть у штімованю сітёвого філтра тай рутера.

На клієнтови и проксі хоснуйте совмістні выданя Raknetify2. Перед мішанём выдань позріт Совмістность.

Velocity

Штімованя bind у velocity.toml уберать адрес и TCP-порт, на котрых Velocity слухать Minecraft. Raknetify2 обычно хоснує тогды тото самоє число порта про UDP. Записы [servers] означуют задні серверы. Лишіт у них TCP-адресы задніх серверу. Позріт опис штімованя Velocity.

Убы хосновати окремый UDP-порт, у наказови на запуск Velocity додайте сись арґумент JVM перед -jar:

-Draknetify.velocity.portOverride=25570

Місто 25570 дайте обраный порт. Сесе мінят UDP-порт RakNet и лишать TCP-порт Velocity и адресы задніх серверу. По зміні арґумента запустіт Velocity наново.

Наставте пересыланя податків бавляча на Velocity и на задніх серверах. Де проґрама сервера пудпорує модерный способ пересыланя, хоснуйте го и держте єго тайный ключ при собі. Подля рода сервера читайте пораду Velocity за пересыланя податків бавляча. Коло пересыланя нехай і далше роблять обмедженя сітёвого філтра на задніма серверах.

BungeeCord

У config.yml BungeeCord значіня host у каждому записови listeners указує адрес и TCP-порт слушаня Minecraft. Raknetify2 обычно додасть UDP на тому самому числі порта. У записах servers суть TCP-адресы задніх серверу. За сі штімованя пише порада BungeeCord.

Про окремый UDP-порт у наказови на запуск BungeeCord додайте сись арґумент JVM перед -jar:

-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-сокет.

Голосовый чет и додатковоє пересыланя UDP

Simple Voice Chat хоснує свуй плаґін проксі и UDP-порт на Velocity тай BungeeCord. Про такый уклад позріт пораду Voice Chat за проксі.

Кой перед вашым проксі Minecraft стоїть окремый передавач UDP и шле наголовкы PROXY protocol v2, наставте Raknetify2 подля пересыланя UDP тай протоколу PROXY. Само установляня Velocity ци BungeeCord сього не просит.

Перевірити скапчаня

Про пробу возьміт клієнт Raknetify2 мімо вашої локалної сіти. Прикапчайте ся через проксі, перейдіт меджи вашыма задніма серверами тай перевірте особу и права бавляча по переходови.

  • Кой TCP через проксі фунґує, айбо RakNet не одозвав ся дочасу, перевірте UDP-слухач проксі, публичный порт, пути IPv4 и IPv6 та правила філтра.
  • Кой оба способы передачі страчат ся при скапчаню проксі з заднім сервером, перевірте TCP-адрес того сервера, правила доступа и штімованя пересыланя податків бавляча.
  • Кой проксі пише за занятый UDP-порт, позріт, ци го не хоснує Query, Geyser, голосовый проксі авадь другый процес.

До удозвы додайте записы проксі и заднёго сервера з тої самої пробы скапчаня. Котрі верзії подати, позріт у гляданю хыбы.

Штімованя сітёвого філтра тай рутера

Ся порада є про справців серверу. Raknetify2 треба робочу UDP-путь ид серверови ци проксі, котрый примать капчаня RakNet. Звычайно ся хоснує тото самоє число порта, што має TCP-слухач Minecraft.

Про бавлячув у тій самуй локалнуй сіти хоснуйте локалный адрес сервера и допустіт UDP у філтрови його машыны. Пересыланя портів рутером треба, кой передача з інтернета мусит перейти його IPv4 NAT.

Убрати ціль и порт

Прямый сервер

Шліт публичну UDP-передачу на машыну, де робить сервер Minecraft із Raknetify2. Цілёвый порт є UDP-слухач RakNet на тому серверови. Допустіт сись порт у сітёвому філтрови серверової машыны. Дотеперішню TCP-путь лишіт про обычні скапчаня Minecraft.

Наприклад, кой Raknetify2 слухать UDP 25570, перешліт публичный UDP-порт на локалный адрес сервера и порт 25570. TCP-порт сервера годен лишити ся 25565. Про убераня другого UDP-порта позріт штімованя слухача прямого сервера.

Velocity авадь BungeeCord

Шліт публичну UDP-передачу на машыну, де робить Velocity авадь BungeeCord із плаґіном Raknetify2. Дайте за ціль пересыланя UDP-слухач RakNet на проксі. Лишіт дотеперішню публичну TCP-путь до проксі про обычні скапчаня Minecraft.

Проксі ся капчає ид заднім серверам Minecraft по TCP. Як додасте Raknetify2 на проксі, бавочні UDP-порты задніх серверу не треба удпирати бавлячам.

Скапчаня Котрого доступа допустити
Бавлячі до проксі Публичный UDP до слухача RakNet и дотеперішній публичный слухач TCP
Проксі до задніх серверу TCP-порты Minecraft на задніма серверах, доступні лем із призначеных машын проксі
Бавлячі прямо до бавочных портув задніх серверу Нехай будуть заперті, и про IPv6

Кой проксі и задні серверы роблят прямо на єднуй выділенуй машыні, котру самі справуєте, слухачі серверу годні хосновати адресы зворотної петлі. Наставте проксі, убы їх там найшов. Меджи окремыма машынами допустіт TCP на задні серверы лем уд машын проксі через філтер авадь окрему приватну сіть. Контейнеры и гостінґ із готовов справов просят таких самых обмеджень подля своєї сіти. Позріт пораду Velocity за безпеку задніх серверу тай пораду BungeeCord за сітёвый філтер.

Пересыланя податків бавляча и обмедженя філтра роблят довєдна. Прямый доступ на задній сервер годен обыйти перевіркы входа на проксі. За установляня плаґіна, пересыланя и зміну UDP-порта позріт Velocity тай BungeeCord.

Публичноє и локалноє число порта

Кой рутер перекладать єден порт на другый, публичный порт годен мати инакшоє число, ги порт слухача:

Штімованя Котрый порт хосновати
Адрес сервера у клієнтови Публичный UDP-порт
Вункашній порт у правилі пересыланя рутера Публичный UDP-порт
Унуторній порт у правилі пересыланя рутера UDP-порт слухача RakNet
Локалный порт у філтрови машыны UDP-порт слухача RakNet

Пересыланя портув IPv4

Кой сервер робить за рутером IPv4:

  1. Найдіт локалный IPv4-адрес тої машыны, што примать скапчаня RakNet. Закріпіт його у DHCP авадь дайте удповідный сталый адрес, убы правило пересыланя все показовало на ту саму машыну.
  2. Додайте правило пересыланя UDP про публичный порт, котрый дадут бавлячі.
  3. Про ціль правила укажіт локалный адрес сеї машыны и UDP-порт слухача RakNet.
  4. Допустіт входячый UDP на порту слухача у сітёвому філтрови машыны.

Наприклад, сервер слухать UDP-порт 25565. Його правило годно мати публичный порт 25565, цілёвый адрес 192.168.1.100 тай цілёвый порт 25565. Місто адреса у прикладови дайте правдивый локалный адрес вашого сервера.

Лишіт дотеперішнє правило TCP про обычні скапчаня Minecraft. Самоє правило пересыланя TCP не носить UDP.

Кой пересыланя ищи не фунґує

Перевірте, ци другый рутер авадь ваш постачател інтернета робить NAT перед вашым рутером. Як оба рутеры ваші, треба наставити пересыланя на обох. Кой постачател хоснує спулный NAT (CGNAT), звідайте го за публичный IPv4-адрес, авадь возьміт гостінґ ци тунел, котрый допущать входячый UDP. Правило на вашому рутерови не годно наставити NAT постачателя. За потребу публичного WAN-адреса позріт пораду TP-Link за пересыланя портув.

Правила сітёвого філтра IPv6

Допустіт обраный UDP-порт и через IPv6-філтер рутера, и у філтрови машыны. Ціль є 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

Про Fabric стягніт compatibility.json із того самого выданя, што и JAR. Найдіт свою верзію Minecraft у gameVersions, а пак позріт вымогы depends у удповідному записови runtimes. Сись JSON про справку, класти го у тийку mods не треба.

Про Forge, NeoForge и Spigot/Paper провірте вымогы ку верзіям у самому файлови и на сторунці стягованя. Што фунґує на єдному ладовачови, не мусит и на другому.

Raknetify2 указує май низку допустиму верзію Java. Minecraft авадь ладовач годен просити май нову. Уберіт Java, котра удповідать вшыткым трём.

Верзії клієнта и сервера

Коли лиш можете, хоснуйте тото самоє выданя Raknetify2 на клієнтови и на серверови авадь проксі, што примать скапчаня. Перед замішанём выдань позріт їх опис. Зашыфровані скапчаня RakNet просят пудпору протокола шыфрованя из перевірков справдности на обох концях. Ориґіналный Raknetify тай збіркы Raknetify2 сперед сього протокола не годні учинити таке зашыфрованоє скапчаня з убновленым паром.

Raknetify2 переносить тото же бавочноє сполучованя, што го хоснує Minecraft. Кой верзії Minecraft суть різні, про скапчаня треба совмістный переклад протоколу.

Другі моды

Процес зборкы має пробы совмістности з Polymer, Krypton, PacketFixer тай Fast IP Ping. Сі пробы обымают верзії и комбінації, убрані у тому процесови. Про певну комбінацію позріт выслід зборкы свого выданя.

Кой хыба стає ся у великому комплетови модів, позріт пораду за гляданя хыбы. У удозві дайте повні верзії модів.

Режім єдного шора

Режім єдного шора

Обычно у Raknetify2 окремі каналы годні далше передавати пакеты, покля єден ждати мусит на страчені податкы. У режімови єдного шора вшыткы пакеты Minecraft ідут єдным каналом. Кой єден ся стратить, усі дальші у тому напрямови ждут, докы його не пришлют наново. Даякі проґрамы проти чітів просят такый шор. Покля ся жде, стоїть и незалежна передача бавкы.

Як уключити режім єдного шора

  1. Установіт збірку Raknetify2, што пудпорує сись режім, на сервер авадь проксі, што примать скапчаня RakNet, и на каждый клієнт RakNet.

  2. У робочуй тийці того сервера ци проксі учиніт файл config/raknetify2-compatibility.json. Кой тийкы config ищи нема, учиніт ї.

  3. Запишіт тото:

    {"mode": "ordered"}
  4. Запустіт сервер авадь проксі наново.

Клієнты берут серверовоє штімованя автоматично. Бавлячам не треба чинити файл штімованя ани міняти свуй адрес сервера RakNet.

Діля каждого напряма вшыткы пакеты Minecraft хоснуют єден надёжный канал із фіксованым шором, у тум числі границі звязок пакетув тай переходы меджи світами.

Уклад із проксі

Кой бавлячі ся капчают через Velocity авадь BungeeCord, наставте режім єдного шора на тому проксі, наветь кідь проґрама проти чітів робить на заднёму серверови.

Штімованя лишать ся и кой бавляч переходить меджи задніма серверами. У сьому режімови проксі пересылать запыты заднёго сервера за живоє скапчаня правдивому клієнтови, місто того, убы на них удповісти на місти.

Перевірити штімованя

При першому скапчаню RakNet конзол пише:

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

Кой стороны ся договорят за совмістный режім, у записови буде и ordered compatibility negotiated, а за ним адрес другої стороны.

Не выключайте перевіркы проти чітів. Перепробуйте свуй уклад.

Май старі клієнты

Клієнты RakNet без сього режіма не годні ся прикапчати ид серверови, што го просит. Убновіт на них Raknetify2, авадь прикапчайте ся по обычному TCP-адресови и портови сервера ци проксі без приставкы raknet;.

Вернути ся на вельо каналу

Поміняйте файл на:

{"mode": "multichannel"}

Пак запустіт сервер авадь проксі наново. Кой файл уберете и запустите наново, тиж вернут ся окремі каналы.

Хыбы у штімованю

Файл мусит мати аккурат єдно штімованя на имня mode. Його значіня годно быти "ordered" авадь "multichannel". Великі и малі буквы суть різні.

Неплатный файл штімованя авадь такый, што ся не дасть прочитати, удкидать скапчаня RakNet. Управте файл тай запустіт процес наново.

Кой конзол ищи пише multichannel, перевірте, ци файл є у робочуй тийці того сервера авадь проксі, што примать скапчаня RakNet. Пак запустіт тот процес наново.

Автоматичноє переношованя

Серверы Fabric, Forge и NeoForge годні убрати RakNet, кой переносят совмістный клієнт на записану ціль. Сесе хоснує переношованя у самому Minecraft, доданоє уд Java Edition 1.20.5. Перевірте, ци ваше выданя Raknetify2 пудпорує верзію Minecraft и ладовач на обох концях.

Установіт 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 при тому не перевірят ся: про два різні имена, што ведут на єден адрес, треба два записи. Записы із знаками довулної заміны не годні быти.

Штімованя цілі

Кой ціль хоснує Minecraft-овый server.properties, дайте accepts-transfers=true тай запустіт ї наново. Цілёвый проксі годен мати своє штімованя про переношованя. Першопочатково Minecraft удкидать входячі переношованя, наветь кой прямый вход фунґує.

Слухач RakNet, публичноє пересыланя UDP и філтер машыны мусят быти наставлені на цілі наперед. Файл переношованя на серверови, што высылать, уберать адрес, котрый дістане клієнт.

Кой имня цілі оголошує обидва роды адресу, перевірте путь IPv4 и IPv6. Перед гляданём хыбы автоматичного переношованя перепробуйте обычноє прямоє скапчаня до цілі по RakNet.

Лишіт перевіркы входа и прав на цілёвому серверови. Сесе штімованя не дасть бавлячам доступ и не замінят автентіфікацію сервера.

Хыбы у штімованю тай выключаня

Кой хыбить поле, є незнамоє поле, неплатный порт ци двічі та сама ціль, при стартови буде хыба штімованя. Найдіт ї у записови сервера, управте JSON тай запустіт наново.

Убы выключити автоматичноє убераня, уберіт файл штімованя авадь дайте {"destinations": []}, пак запустіт сервер, што высылать, наново. Його запыты на переношованя лишат первісні адресы.

Пересыланя UDP тай протокол PROXY

UDP-проксі годен пересылати передачу RakNet и схоронити первісный адрес клієнта через PROXY protocol v2. Уключіт сесе, кой UDP-проксі перед вашым слухачом шле му такы наголовкы. Про простоє пересыланя порту на рутерови сесе не треба.

На серверови авадь проксі Minecraft, котрый примать переслану UDP-передачу, учиніт config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

На місто приклада дайте правдивый жерелный IP-адрес вашого UDP-проксі авадь обсяг CIDR, котрый справуєте. Адрес мусит удповідати тому, котрый слухач увидит по усякому NAT меджи ними. Допустимі числові IPv4 и IPv6. Имена DNS ся удкидают. Запустіт наново сервер авадь проксі, котрый примать.

Наставте пересылаючый проксі, убы слав наголовкы PROXY protocol v2 про UDP. Raknetify2 примать переслані адресы клієнтув лем уд записаных жерел. Покля штімованя уключено, прямі скапчаня RakNet без тых наголовкув ся удкидают. TCP-слухач держит своє дотеперішнє штімованя.

Довіра тай доступ

Каждому проксі у спискови ся довірять, убы давав адресы клієнтув. У сітёвому філтрови заднёго сервера обмеджте UDP-порт, убы на нёго годен быв дойти лем призначеный проксі. Дайте такы узкі довірені обсягы, ги вам сіть допущать.

У файлови має быти лем trustedProxies з маймало єдным записом. Порожный масив є хыба. Неплатный файл не дасть слухачови RakNet удстартовати.

Убы вернути ся на прямі скапчаня UDP, уберіт файл тай запустіт слухач наново. У тот самый час убновіт пересыланя перед ним тай правила філтра подля нової пути.

Кой по уключеню сього штімованя скапчаня падают, перевірте правдивый жерелный адрес проксі, котрый видить задній сервер, записаный довіреный обсяг и ци проксі справды шле наголовкы UDP PROXY protocol v2.

За установляня проксі Minecraft и штімованя задніх серверу позріт Velocity тай BungeeCord.

Simple Voice Chat

На Fabric, Forge, NeoForge, Spigot и Paper Raknetify2 годен поділити ся своїм серверовым UDP-слухачом із Simple Voice Chat.

Установіт Simple Voice Chat на сервер и на каждый клієнт, котрый хоче голосового чета. Далші штімованя позріт у пораді Simple Voice Chat про сервер.

Файл Raknetify2 дайте у головну серверову тийку config, и на Spigot/Paper. Файл самого Simple Voice Chat лишать ся на містови, указаному долу про вашу платформу.

Єден порт про бавку и голос

  1. У тийці сервера учиніт config/raknetify2-voicechat.json из такым содержанём:

    {"enabled": true}
  2. У серверовому штімованю Simple Voice Chat дайте port=-1. На серверах из модами сесе є config/voicechat/voicechat-server.properties. На Spigot/Paper сесе є plugins/voicechat/voicechat-server.properties.

  3. Лишіт bind_address порожным, кой лем єден слухач RakNet пасує. Кой на тому UDP-портови є кілько слухачу, дайте локалный адрес того, котрый хочете поділити.

  4. Запустіт сервер наново тай дайте наказ /voicechat test <PLAYERNAME> про бавляча, котрый уже є на серверови.

Кой слухач RakNet хоснує другый порт ги Minecraft, у голосовому штімованю port прямо дайте його локалный UDP-порт місто -1. Наприклад, про слухач на локалному UDP-портови 25570 треба port=25570.

Дайте voice_host, кой клієнтам треба другый публичный адрес ци порт. Кой рутер пересылать публичный UDP 25580 на локалный UDP 25570, дайте port=25570 тай voice_host=play.example.com:25580. Публичный адрес іде у voice_host. Штімованя bind_address уберать локалный слухач.

Raknetify2 дає спулный UDP-сокет через API Simple Voice Chat. Сам 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-порт, з котрого йде пересыланя на сись сервер.

Выключити діленя порта ци розвязати сварь за сокет

Кой у записови є 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-порт, убновіт правила його філтра ци пересыланя тай запустіт сервер наново.

Гляданя хыбы

TCP фунґує, айбо RakNet ся не озвав дочасу

Перевірте по шорови:

  1. На клієнтови стоїть удповідный мод Raknetify2 про його ладовач и верзію Minecraft.
  2. На серверови авадь проксі, што примать скапчаня, є Raknetify2 и удстартовав без хыбы слухача.
  3. Адрес ся зачинає з raknet; и має публичный UDP-порт.
  4. Постачател гостінґа, рутер и філтер машыны допущают UDP на тому портови.
  5. Адресы IPv4 и IPv6 под именём госта ведут на обрану машыну и мают робочі правила філтра.

Успішноє TCP-скапчаня потверджує лем TCP-путь. У штімованю сітёвого філтра тай рутера перевірте пересыланя UDP и доступ IPv6. Кой протокол PROXY уключено, клієнты мусят дойти до слухача через наштімованый довіреный проксі.

Адрес уже занятый

Поглядайте другый процес на UDP-портови. Query, Geyser и другі UDP-службы просят свої порты. Simple Voice Chat годен хосновати спулный порт.

Другый локалный UDP-порт уберете у штімованю слухача прямого сервера авадь у штімованях Velocity тай BungeeCord. Перевірте, котра верзія нужна про штімованя Spigot/Paper. Зміна самого публичного порта на рутерови не увулнит локалный сокет.

Прикапчаня фунґує, а переношованя падає

Прикапчайте ся прямо до цілі по її адресови з raknet;. Кой сесе не фунґує, перш управте слухач цілі ци сітёву путь.

Кой прямоє скапчаня фунґує, перевірте, ци ціль примать входячі переношованя. Сервер Minecraft із server.properties просит 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

У 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. У документації API PacketOrdering є реалізація постачателя.

Кой Raknetify2 нема, Fabric не кличе сю вхідну точку. Постачателі мают при стартови оголосити ідентіфікаторы и ґрупы незалежно уд того, ци другый мод уже закінчив свуй старт.

Як фунґує реґістрація

Кой Raknetify2 є доступный, моды Forge и NeoForge тай плаґіны про сервер авадь проксі годні при стартови закликати PacketOrdering.register(identifier, group). Клас є com.ishland.raknetify.api.PacketOrdering. Зареґіструйте правила перед тым, як начнете примати скапчаня бавлячув. Код додаткового капчаня не має ладовати класы Raknetify2, кой залежность хыбить.

Оголошеня суть про нові скапчаня. Дотеперішні скапчаня лишат правила, што дістали при стартови. Удно и тото самоє оголошеня годно повторити. Різні ґрупы про єден ідентіфікатор ся удкидают.

Ідентіфікаторы властных податків мусят мати допустимый властный простур имен. Простур minecraft є зарезервованый. Ліміт на цілу точку скапчаня є 128 оголошень, у тум числі забудовані правила тай записы другых модів. Ідентіфікатор годен мати до 255 знакув ASCII подля правил API про назывкы з простором имен.

Убновлені стороны RakNet міняют ся оголошенями при удпираню скапчаня. Кой на серверови авадь проксі хыбить локалноє правило про податкы, годно узяти оголошеня другої стороны. Локалні правила суть перші, а оголошеня другої стороны важат лем про тото скапчаня.

UDP-проксі

За передавачі UDP и переслані адресы клієнтув позріт Пересыланя UDP тай протокол PROXY.

За штімованя проксі Minecraft позріт Velocity тай BungeeCord.

English (US)

Clone this wiki locally