Skip to content

Wiki ro ro

pjscruggs edited this page Nov 11, 2026 · 2 revisions

Raknetify2 · Română (România)

Limbă

Multiplayer

Conexiuni de rețea prin RakNet pentru clienții și serverele Minecraft.

Descarcă · GitHub

Minecraft Raknetify2 Client / Server
Fabric mods/raknetify2-fabric-*.jar Client / Server
Forge mods/raknetify2-forge-*.jar Client / Server
NeoForge mods/raknetify2-neoforge-*.jar Client / Server
Spigot / Paper plugins/raknetify2-spigot-*.jar Server
Velocity plugins/raknetify2-velocity-*.jar Velocity
BungeeCord plugins/raknetify2-bungee-*.jar BungeeCord

Adaugă un server

  1. Multiplayer

  2. Adaugă un server

  3. Adresa serverului

    Adresa serverului
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Gata

  5. Intră pe server

F3 · Raknetify2

F3
RakNet · UDP Activ · MTU 1400
TCP Inactiv

Velocity / BungeeCord

  1. Client · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. Velocity / BungeeCord → TCP → Server
Număr port · 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

Timpul a expirat

Adresa serverului UDP
raknet;play.example.com:25580 play.example.com:25580 → NAT → 192.0.2.10:25570
Server · 192.0.2.10 25570/udp

config/raknetify2-compatibility.json

Server / Velocity / BungeeCord

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

Simple Voice Chat

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

Simple Voice Chat · Velocity / BungeeCord

PROXY protocol v2 · UDP

Adresa serverului trustedProxies RakNet
192.0.2.10 · PROXY v2 / UDP ["192.0.2.10"] ✓
192.0.2.11 · PROXY v2 / UDP ["192.0.2.10"] ✗
Client → RakNet / UDP ["192.0.2.10"] ✗

config/raknetify2-proxy-protocol.json

{"trustedProxies":["192.0.2.10"]}

Minecraft ≥ 1.20.5 · /transfer

  1. Server A · Fabric / Forge / NeoForge · config/raknetify2-transfers.json

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

  3. Server A · /transfer play.example.com 25565 Alex → Client (Alex) → RakNet · play.example.com:25570

PacketOrdering

Minecraft
ui Opțiuni
entity Schelet
world_interaction Inventar
effects Particule
chunk Blocuri

PacketOrdering.java

Versiune incompatibilă!

Sesizează erori

Acasă

Raknetify2

Raknetify2 folosește RakNet prin UDP pentru jocul în rețea în Minecraft. Traficul este împărțit pe canale, fiecare cu propria ordine a pachetelor. Dacă se pierde un pachet pe un canal, datele de pe celelalte canale pot circula în continuare. Astfel, jocul poate răspunde la acțiunile tale în timp ce datele pierdute sunt retransmise sau se transferă porțiuni ale lumii.

Raknetify2 este un fork întreținut independent al Raknetify, inițial dezvoltat de ishland. Fork-ul adaugă suport pentru versiuni mai noi de Minecraft și menține integrările de transport, platformă și testele de compatibilitate.

Începe

  1. Verifică compatibilitatea Minecraft și a modului.
  2. Alege o descărcare și instalează-o.
  3. Conectează-te cu o adresă precum raknet;play.example.com.

Ghiduri pentru servere

Autorii modului pot folosi interfața de ordonare a pachetelor pentru a declara dependențele între sarcini utile personalizate și traficul Minecraft.

Linkuri de proiect

Raknetify2 folosește licența MIT și păstrează notificările originale de drepturi de autor. Implementarea sa de rețea se bazează pe Raknetify și netty-raknet.

Instalare

Descarcă o versiune de la GitHub Releases. Verifică versiunea Minecraft și cerințele loader-ului pentru acea versiune înainte de a instala.

Unde instalezi Fișier Director
Fabric client sau server raknetify2-fabric-*.jar mods
Forge client sau server raknetify2-forge-*.jar mods
NeoForge client sau server raknetify2-neoforge-*.jar mods
Server Spigot sau Paper raknetify2-spigot-*.jar plugins
Proxy Velocity raknetify2-velocity-*.jar plugins
Proxy BungeeCord raknetify2-bungee-*.jar plugins

Închide clientul sau oprește serverul înainte de a înlocui fișierul JAR. Elimină fișierul JAR Raknetify original și orice fișier JAR Raknetify2 mai vechi din aceeași instalare înainte de a adăuga noul fișier.

Folderele clientului aparțin instanței Minecraft sau modpack-ului pe care îl lansezi. Folderele serverului și ale proxy-ului aparțin acelei instalări de server sau proxy. Creează folderul corespunzător dacă încă nu a fost creat de loader.

Conexiuni directe la server

  1. Instalează modul client pentru loader-ul tău.
  2. Instalează modul server corespunzător sau plugin-ul Spigot/Paper pe un server compatibil.
  3. Urmează Configurarea firewall-ului și a router-ului pentru a permite conexiunile UDP către server.
  4. Repornește clientul și serverul.
  5. Adaugă o adresă de server în formatul raknet;play.example.com sau raknet;play.example.com:25565.

Adresele fără prefixul raknet; folosesc TCP.

Instalarea singură a modului client nu adaugă suport RakNet unui server la distanță. Operatorul serverului trebuie să ofere un endpoint RakNet. Jucătorii care se conectează la serverul altcuiva de obicei nu au nevoie de reguli de redirecționare inbound.

Velocity și BungeeCord

Instalează pluginul proxy corespunzător și modul client. Urmează Velocity și BungeeCord pentru setările de ascultător, redirecționarea backend, restricțiile de acces și adresa pe care jucătorii ar trebui să o folosească.

Un port de ascultare UDP separat

Pentru un server Minecraft direct, setează argumentul Java corespunzător mai jos. Operatorii proxy ar trebui să folosească setările de ascultare Velocity și BungeeCord.

Platformă Argument Java Porturi acceptate
Server Fabric, Forge sau NeoForge -Draknetify.fabric.portOverride=25570 1 până la 65534
Server Spigot sau Paper -Draknetify.spigot.portOverride=25570 1 până la 65535

Forge și NeoForge folosesc codul de ascultare comun, așa că și numele proprietății lor conține fabric. Înlocuiește 25570 cu portul UDP dorit.

Spigot / Paper ≥ 0.1.0-beta.1.431

Adaugă argumentul înainte de -jar în comanda Java sau în câmpul de argumente JVM al gazdăi tale. Repornește serverul și permite UDP pe portul de ascultare ales. Dacă portul public este și 25570, conectează-te cu raknet;play.example.com:25570. Dacă un router traduce portul, folosește portul său public în adresa clientului. Portul TCP rămâne la valoarea sa existentă.

Pe Spigot/Paper, ascultătorul UDP păstrează adresa de legătură locală a ascultătorului TCP al Minecraft. O suprascriere invalidă sau un port UDP ocupat împiedică pornirea RakNet. Verifică jurnalul de pornire pentru adresa și portul UDP legat. Elimină argumentul și repornește pentru a reveni la numărul de port al ascultătorului TCP.

Un router sau un proxy UDP poate expune și un port UDP public diferit și poate redirecționa acesta către ascultătorul existent fără a schimba argumentele Java ale serverului.

Construcții de dezvoltare

Deschide o rulare main reușită în GitHub Actions și descarcă arhiva sa de Artifacts. GitHub necesită un cont pentru a descărca artefactele fluxului de lucru. Folosește tabelul de instalare de mai sus pentru a alege un JAR din arhivă.

Velocity și BungeeCord

Velocity și BungeeCord se află între jucători și serverele Minecraft de fundal. Instalează Raknetify2 pe proxy și pe fiecare client care se va conecta prin RakNet.

client Raknetify2 --UDP--> Velocity sau BungeeCord --TCP--> server de fundal

Serverele de fundal nu au nevoie de Raknetify2 pentru această cale de conexiune. Ele au totuși nevoie de modurile, plugin-urile și suportul de forwarding necesar de rețeaua ta. Raknetify2 nu traduce versiunile Minecraft sau nu schimbă autentificarea contului proxy-ului.

Instalează plugin-ul proxy

  1. Confirmă că conexiunile TCP obișnuite prin proxy-ul tău funcționează, inclusiv autentificarea și comutarea între serverele de fundal.
  2. Oprește proxy-ul și descarcă plugin-ul corespunzător de la GitHub Releases.
  3. Plasează raknetify2-velocity-*-all.jar sau raknetify2-bungee-*-all.jar în directorul plugins al proxy-ului. Șterge orice plugin Raknetify sau Raknetify2 mai vechi din acel director.
  4. Instalează modulul client Raknetify2 corespunzător folosind ghidul de instalare.
  5. Verifică setările de ascultare de mai jos, repornește proxy-ul și inspectează jurnalul său pentru erori de ascultător RakNet.
  6. Permite traficul UDP public către proxy și restricționează porturile de joc backend conform descrierii din Configurarea firewall-ului și routerului.

Folosește versiuni compatibile Raknetify2 pe client și proxy. Verifică Compatibilitate înainte de a amesteca versiuni.

Velocity

Setarea bind din velocity.toml selectează adresa de ascultare Minecraft și portul TCP al Velocity. Raknetify2 folosește de obicei același număr de port pentru UDP. Entrările [servers] identifică serverele backend. Menține aceste intrări direcționate către adresele TCP ale backend-ului. Vezi referința de configurare a Velocity.

Pentru a folosi un port UDP separat, adaugă acest argument JVM înainte de -jar în comanda de pornire a Velocity:

-Draknetify.velocity.portOverride=25570

Înlocuiește 25570 cu portul ales de tine. Acest lucru schimbă portul UDP RakNet menținând portul TCP al Velocity și adresele backend. Repornește Velocity după modificarea argumentului.

Configurați redirecționarea jucătorului atât pe Velocity, cât și pe backend-urile sale. Utilizați redirecționare modernă atunci când software-ul backend îl suportă și păstrați secretul de redirecționare privat. Urmați instrucțiunile specifice backend-ului din Ghidul de redirecționare a informațiilor jucătorului al Velocity. Păstrați restricțiile firewall-ului backend în loc împreună cu redirecționarea.

BungeeCord

În config.yml al lui BungeeCord, valoarea host sub fiecare intrare listeners identifică o adresă de ascultare Minecraft și un port TCP. Raknetify2 adaugă în mod normal UDP pe acel număr de port. Intrările servers dețin adresele TCP backend. Aceste setări sunt descrise în Ghid de configurare BungeeCord.

Pentru un port UDP separat, adaugă acest argument JVM înainte de -jar în comanda de pornire a BungeeCord:

-Draknetify.bungee.portOverride=25570

Suprascrierea aparține întregului proces de proxy. Pentru o configurare cu mai mulți ascultători Minecraft, verifică punctele finale RakNet reale în jurnalul de pornire înainte de a adăuga reguli firewall. Repornește BungeeCord după modificarea argumentului.

Păstrează autentificarea contului la proxy. Pentru backend-uri Spigot, ghidul IP forwarding al BungeeCord combină ip_forward: true pe proxy cu settings.bungeecord: true pe backend. Doar forwarding-ul nu împiedică pe cineva să se conecteze direct la un backend. Restricționează accesul la backend folosind instrucțiunile de firewall.

Alege adresa pe care o folosesc jucătorii

Ambele suprascrieri de proxy acceptă porturi de la 1 până la 65534. Valorile invalide sunt ignorate, așa că verifică portul UDP legat în jurnalul de pornire. Elimină argumentul și repornește pentru a reveni la numărul de port al ascultătorului Minecraft.

Jucătorii se conectează la numele de gazdă public al proxy-ului și la portul UDP, de exemplu raknet;play.example.com:25570. Când un router traduce porturile, folosește portul UDP public al său în adresa clientului. Adresele fără prefixul raknet; continuă să folosească ascultătorul TCP al proxy-ului.

Lasă Query, Geyser și alte servicii UDP pe porturi UDP separate. Un port TCP diferit nu rezolvă un conflict de socket UDP.

Chat vocal și redirecționare UDP suplimentară

Simple Voice Chat folosește propriul plugin proxy și port UDP pe Velocity și BungeeCord. Urmează ghidul Voice Chat proxy pentru acea configurare.

Dacă un relaie UDP separat se află în fața proxy-ului tău Minecraft și trimite anteturi PROXY protocol v2, configurează Raknetify2 folosind redirecționare UDP și PROXY protocol. Instalarea Velocity sau BungeeCord singură nu necesită acea configurare.

Verifică conexiunea

Testează din afara rețelei locale cu un client Raknetify2. Intră prin proxy, comută între serverele backend pe care le folosești și confirmă că identitatea și permisiunile jucătorului rămân corecte.

  • Dacă TCP prin proxy funcționează, dar RakNet expiră, verifică ascultătorul UDP al proxy-ului, portul public, rutele IPv4 și IPv6 și regulile firewall-ului.
  • Dacă ambele transporturi eșuează când proxy-ul se conectează la un backend, verifică adresa TCP a backend-ului, regulile de acces și configurarea de forwarding a jucătorilor.
  • Dacă proxy-ul raportează un port UDP ocupat, verifică dacă există Query, Geyser, un proxy vocal sau un alt proces legat de acesta.

Pentru rapoarte, includ log-urile atât ale proxy-ului, cât și ale backend-ului din aceeași încercare de conexiune. Vezi Depanare pentru informațiile de versiune de inclus.

Configurarea firewall-ului și a routerului

Acest ghid este pentru operatorii de server. Raknetify2 necesită o rută UDP funcțională către server sau proxy care acceptă conexiunile RakNet. Configurația implicită folosește același număr de port ca ascultătorul TCP al Minecraft.

Pentru jucătorii de pe aceeași rețea locală, folosiți adresa locală a serverului și permiteți UDP prin firewall-ul său de gazdă. Port forwarding-ul routerului este necesar atunci când traficul internet trebuie să treacă prin NAT-ul IPv4 al routerului dvs.

Alege destinația și portul

Server direct

Trimite traficul UDP public către mașina care rulează serverul Minecraft cu Raknetify2. Portul de destinație este ascultătorul UDP RakNet al acelui server. Permiteți acel port în firewall-ul de gazdă al mașinii serverului. Păstrați ruta TCP existentă pentru conexiunile obișnuite Minecraft.

De exemplu, dacă Raknetify2 ascultă pe UDP 25570, redirecționează portul public UDP către adresa locală a serverului pe portul 25570. Portul TCP al serverului poate rămâne la 25565. Vezi setările ascultătorului de server direct pentru a alege un alt port UDP.

Velocity sau BungeeCord

Trimite traficul UDP public către mașina care rulează Velocity sau BungeeCord cu pluginul proxy Raknetify2. Folosește ascultătorul UDP RakNet al proxy-ului ca destinație de redirecționare. Menține ruta TCP publică existentă a proxy-ului pentru conexiunile obișnuite Minecraft.

Proxy-ul se conectează la serverele Minecraft de fundal prin TCP. Adăugarea Raknetify2 la proxy nu necesită deschiderea porturilor UDP de joc de fundal pentru jucători.

Conexiune Acces pentru a permite
Jucători către proxy UDP public către ascultătorul RakNet, plus ascultătorul TCP public existent
Proxy către serverele backend Porturi TCP Minecraft backend, accesibile doar de la gazdele proxy intenționate
Jucători direct la porturile de joc ale backend-ului Menține blocat, inclusiv prin IPv6

Când proxy-ul și backend-urile rulează direct pe o mașină dedicată pe care o controlezi, ascultătorii backend pot folosi adresele de buclă pentru proxy configurat să ajungă la ei acolo. Între mașini, restricționa accesul TCP al backend-ului la gazdele proxy-ului folosind un firewall sau o rețea privată izolată. Containerele și gazdele gestionate necesită restricții echivalente pentru aranjamentul lor de rețea. Vezi ghidul de securitate a backend-ului al Velocity și ghidul de firewall al BungeeCord.

Redirecționarea jucătorilor și restricțiile firewall-ului lucrează împreună. Accesul direct la backend poate ocoli verificările de autentificare ale proxy-ului. Pentru instalarea plugin-urilor, setările de redirecționare și suprascrierile de port UDP, urmează Velocity și BungeeCord.

Numere de port public și local

Portul public și portul ascultător pot diferi atunci când un router traduce între ei:

Setare Port de utilizat
Adresa serverului client Port UDP public
Portul extern al regulii de redirecționare a routerului Port UDP public
Portul intern al regulii de redirecționare a routerului Portul UDP al ascultătorului RakNet
Portul local al firewall-ului gazdă Portul UDP al ascultătorului RakNet

Redirecționare a portului IPv4

Pentru găzduirea în spatele unui router IPv4:

  1. Găsește adresa IPv4 locală a mașinii care acceptă conexiunile RakNet. Folosește o rezervare DHCP sau o adresă statică potrivită pentru ca regula de redirecționare să continue să vizeze acea mașină.
  2. Adaugă o regulă de redirecționare UDP pentru portul public pe care jucătorii îl vor folosi.
  3. Setează destinația regulii la adresa locală a acelei mașini și la portul UDP al ascultătorului RakNet.
  4. Permite UDP în intrările pe portul ascultător în firewall-ul gazdă.

De exemplu, un server care ascultă pe portul UDP 25565 poate folosi o regulă cu port public 25565, adresă de destinație 192.168.1.100 și port de destinație 25565. Înlocuiește adresa de exemplu cu adresa locală reală a serverului tău.

Păstrează regula TCP existentă pentru conexiunile obișnuite Minecraft. O singură regulă de redirecționare TCP nu transportă UDP.

Când redirecționarea eșuează încă

Verifică dacă un alt router sau ISP-ul tău realizează NAT înainte ca traficul să ajungă la routerul tău. Dacă controlezi două routere, redirecționarea trebuie să acopere ambele. Dacă ISP-ul tău folosește NAT de grad de operator, întreabă dacă poate oferi o adresă IPv4 publică sau folosește un serviciu de găzduire sau un tunel care suportă UDP de intrare. Regula de redirecționare a routerului tău nu poate configura NAT-ul ISP-ului. Vezi ghidul de redirecționare a porturilor TP-Link pentru cerința de adresă WAN publică.

Reguli de firewall IPv6

Permite portul UDP selectat prin firewall-ul IPv6 al routerului și prin firewall-ul gazdă. Vizează adresa IPv6 a mașinii care acceptă conexiunile RakNet.

Verifică dacă adresa IPv6 a gazdei indică către acea mașină. Dacă adresa sa IPv6 se schimbă, actualizează înregistrarea DNS și orice reguli de firewall specifice adresei.

O gazdă care publică atât adrese IPv4, cât și IPv6 necesită o rută funcțională pentru fiecare adresă anunțată. Verifică ambele seturi de reguli atunci când un jucător poate se conecta și altul nu.

Dacă redirecționarea IPv4 schimbă numărul portului, asigură-te că portul introdus de jucători ajunge și la ascultătorul IPv6. O traducere a portului IPv4 nu configurează ruta IPv6.

Furnizori de găzduire și tuneluri

Furnizorul sau tunelul trebuie să suporte UDP pe punctul de acces public pe care i-l oferi jucătorilor. Verifică alocările de port și regulile firewall-ului de rețea, precum și firewall-ul propriu al serverului.

Dacă un proxy UDP suplimentar redirecționează adresele clientului folosind protocolul PROXY v2, urmează redirecționarea UDP și protocolul PROXY și restricționează accesul la ascultătorul UDP de recepție la proxy-ul de încredere.

Verifică conexiunea

Conectează-te de în afara rețelei locale a serverului cu un client Raknetify2 actualizat, folosind o adresă precum raknet;play.example.com:25565. Folosește portul UDP public din această adresă.

Folosește o conexiune RakNet reală pentru a verifica ruta. Un scan UDP care nu primește răspuns poate raporta un rezultat inconclusiv deoarece un serviciu funcțional ar putea arunca o sondă necunoscută. Documentația scan-ului UDP Nmap explică acest comportament.

O conexiune TCP reușită confirmă doar ruta TCP. Dacă RakNet expiră, verifică ascultătorul, destinația de redirecționare, portul UDP și regulile firewall-ului folosind ghidul de depanare.

Compatibilitate

Verifică compatibilitatea pentru versiunea specifică pe care o descarci. Ramura de dezvoltare poate conține suport care încă nu a apărut într-o versiune.

Versiuni Minecraft și Java

Versiuni Minecraft și Java · English

Cerința Java declarată de Raknetify2 este minimul. Minecraft sau loaderul pot necesita un runtime mai nou. Alege o versiune Java care să satisfacă toate cele trei.

Versiuni client și server

Folosește aceeași versiune Raknetify2 pe client și pe server sau proxy-ul care acceptă conexiunea. Verifică notițele de lansare înainte de a amesteca versiunile. Conexiunile RakNet criptate necesită suport pentru protocolul de criptare autentificat la ambele capete. Construcțiile originale Raknetify și Raknetify2 anterioare introducerii acestui protocol nu pot realiza aceste conexiuni criptate cu pii compatibili actualizați.

Raknetify2 poartă protocolul de joc existent al Minecraft. Conectarea unor versiuni diferite de Minecraft necesită o configurare de traducere a protocolului compatibilă.

Alte moduri

Alte moduri · English

Pentru o eșecare într-un modpack mai mare, urmează ghidul de depanare. Include versiunile complete ale modurilor în raportul tău.

Mod în ordine

Mod în ordine

De obicei, Raknetify2 permite canalele de pachete independente să continue în timp ce un canal așteaptă date lipsă. Modul în ordine plasează toate pachetele Minecraft pe un singur canal, astfel încât un pachet lipsă blochează toate pachetele ulterioare în acea direcție până când este retrimis. Acest lucru păstrează ordinea așteptată de unele programe anti-cheat, dar renunță la capacitatea Raknetify2 de a menține traficul de joc nelegat în mișcare în timpul acelei așteptări.

Activarea modului în ordine

  1. Instalează o versiune Raknetify2 care să suporte modul ordonat pe server sau proxy-ul care acceptă conexiuni RakNet și pe fiecare client RakNet.

  2. Creează config/raknetify2-compatibility.json în directorul de lucru al acelui server sau proxy. Creează directorul config dacă nu există.

  3. Adaugă următoarele:

    {"mode": "ordered"}
  4. Repornește serverul sau proxy-ul.

Clientii urmează automat setările serverului. Jucătorii nu trebuie să creeze un fișier de configurare sau să modifice adresa serverului RakNet lor.

Toate pachetele Minecraft folosesc un canal ordonat și fiabil în fiecare direcție, inclusiv delimitatorii de bundle și tranzițiile de lume.

Configurări de proxy

Când jucătorii se conectează prin Velocity sau BungeeCord, configurează modul ordonat pe acel proxy, chiar dacă anti-cheat rulează pe un server backend.

Politica se aplică pe toate switch-urile backend. În modul ordonat, proxy-ul redirecționează cererile keepalive ale backend-ului către clientul real în loc să le răspundă local.

Verificarea setării

La prima conexiune RakNet, consola afișează:

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

Un schimb de compatibilitate reușit înregistrează și ordered compatibility negotiated, urmat de adresa peer-ului.

Mențineți activate verificările anti-cheat și validați configurația dumneavoastră specifică.

Clientele mai vechi

Clientele RakNet care nu suportă modul ordonat nu pot se conecta la un server care îl necesită. Actualizați Raknetify2 pe acele cliente sau conectați-vă folosind adresa și numărul port normal TCP al serverului sau al proxy-ului, fără prefixul raknet;.

Returnarea la modul multichannel

Schimbă fișierul în:

{"mode": "multichannel"}

Apoi repornește serverul sau proxy-ul. Ștergerea fișierului restabilește modul multichannel după repornire.

Probleme de configurare

Fișierul trebuie să conțină exact o setare numită mode, cu fie "ordered" fie "multichannel" ca valoare. Valorile sunt sensibile la majuscule.

Configurația invalidă sau de citit nu acceptă conexiunile RakNet. Corectează fișierul și repornește procesul.

Dacă consola raportează încă multichannel, verifică dacă fișierul se află în directorul de lucru al serverului sau al proxy-ului care acceptă conexiunea RakNet, apoi repornește acel proces.

Transferuri automate

Serverele Fabric, Forge și NeoForge pot selecta RakNet atunci când transferă un client capabil către o destinație configurată. Acest lucru utilizează suportul nativ de transfer al Minecraft-ului, introdus în Java Edition 1.20.5. Verifică dacă versiunea ta Raknetify2 suportă versiunea Minecraft și loader-ul la fiecare capăt.

Instalează Raknetify2 pe serverul și clientul de trimitere. Destinația trebuie să ofere un ascultător RakNet compatibil și să accepte transferurile de intrare ale Minecraft-ului.

Această configurare se aplică transferurilor trimise de cele trei încărcătoare de mod de mai sus. Plugin-urile Spigot/Paper, Velocity și BungeeCord nu citesc acest fișier de transferuri.

Configurează serverul expeditor

Creează config/raknetify2-transfers.json în directorul serverului expeditor:

{
  "destinations": [
    {
      "host": "play.example.com",
      "tcpPort": 25565,
      "udpPort": 25570
    }
  ]
}

Înlocuiește numele de gazdă și porturile de exemplu cu valorile destinației tale, apoi repornește serverul expeditor. Destinațiile suplimentare sunt în același array.

Câmp Semnificație
host Nume de gazdă sau adresă IP de destinație, fără prefix de transport sau port
tcpPort Portul de destinație din cererea de transfer inițială
udpPort Portul public RakNet pe care clientul transferat ar trebui să îl contacteze

Numerele de port TCP și UDP pot fi egale. Dacă un router traduce portul UDP, folosește portul public din acest fișier. Scrie porturile ca numere JSON.

Trimite transferuri către numele de gazdă obișnuit și port TCP al destinației. Raknetify2 verifică dacă clientul anunță suport pentru transfer automat. Pentru un client capabil și o destinație potrivită, selectează portul UDP configurat. Alți clienți și destinații necorespunzătoare păstrează adresa de transfer originală.

Potrivirea folosește numele de gazdă și portul TCP din cererea de transfer. Capitalizarea numelui de gazdă, un punct DNS final și ortografia IPv6 echivalentă sunt normalizate. Căutările DNS nu participă la potrivire, astfel încât două nume de gazdă diferite care se rezolvă la aceeași adresă necesită intrări separate. Intrările cu wildcard nu sunt suportate.

Configurare destinație

Pentru o destinație care folosește server.properties al Minecraft, setează accepts-transfers=true și repornește-o. Un proxy de destinație poate avea propriile sale setări de transfer. Implicit, Minecraft respinge transferurile în intrăre, chiar dacă o intrare directă normală funcționează.

Ascultătorul RakNet al destinației, redirecționarea UDP publică și firewall-ul gazdă trebuie să fie deja configurate. Fișierul de transfer al serverului expeditor selectează adresa trimisă unui client.

Verifică rutele IPv4 și IPv6 ale destinației atunci când numele de gazdă publică ambele tipuri de adrese. Testează o conexiune RakNet directă obișnuită la destinație înainte de a investiga comportamentul de transfer automat.

Menține orice verificări de autentificare sau admitere ale destinației. Această configurare nu oferă jucătorilor acces sau înlocuiește autentificarea serverului.

Erori de configurare și dezactivare

Câmpuri lipsă, câmpuri necunoscute, porturi invalide și destinații duplicate provoacă o eroare de configurare în timpul inițializării. Folosește jurnalul serverului pentru a identifica eroarea, corectează JSON-ul și repornește.

Pentru a dezactiva selecția automată, elimină fișierul de configurare sau folosește {"destinations": []}, apoi repornește serverul de trimitere. Cererile sale de transfer își vor păstra adresele originale.

Forwardare UDP și protocol PROXY

Un proxy UDP poate transmite traficul RakNet și poate păstra adresa originală a clientului folosind protocolul PROXY v2. Activează această funcție atunci când un proxy UDP upstream trimite acele anteturi către listener-ul tău. Forwardarea portului obișnuit a routerului nu necesită acest lucru.

Pe server sau pe proxy-ul Minecraft care primește traficul UDP transmis, creează config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Înlocuiește exemplul cu adresa IP sursă reală a proxy-ului UDP sau un interval CIDR pe care îl controlezi. Adresa trebuie să corespundă cu ceea ce vede listener-ul de recepție după orice NAT intermediar. Sunt acceptate literele IPv4 și IPv6. Numele de gazdă DNS sunt respins. Repornește serverul sau proxy-ul de recepție.

Configurează proxy-ul de transmisie pentru a trimite anteturi PROXY protocol v2 pentru UDP. Raknetify2 acceptă adresele clientului transmise doar de la sursele listate. Conexiunile RakNet directe fără acele anteturi sunt refuzate în timp ce această configurare este activată. Listener-ul TCP își păstrează configurarea existentă.

Încredere și acces

Fiecare proxy listat este considerat de încredere pentru furnizarea adreselor clientului. Restricționați accesul la portul UDP de backend în firewall-ul său astfel încât doar proxy-ul intenționat să îl poată atinge. Păstrați intervalele de încredere cât de înguste permite rețeaua dumneavoastră.

Fișierul trebuie să conțină doar trustedProxies, cu cel puțin o intrare. Un array gol este o eroare. Un fișier invalid împiedică pornirea ascultătorului RakNet.

Pentru a reveni la conexiunile UDP directe, eliminați fișierul și reporniți ascultătorul. Actualizați comportamentul de redirecționare upstream și regulile firewall-ului pentru noua rută în același timp.

Dacă conexiunile eșuează după activarea acestei funcții, verificați adresa sursă reală a proxy-ului la backend, intervalul de încredere configurat și dacă proxy-ul emite anteturi UDP PROXY protocol v2.

Pentru instalarea proxy-ului Minecraft și configurarea backend-ului, urmează Velocity și BungeeCord.

Simple Voice Chat

Raknetify2 poate împărți ascultătorul UDP al serverului său cu Simple Voice Chat pe Fabric, Forge, NeoForge, Spigot și Paper.

Instalează Simple Voice Chat pe server și pe fiecare client care dorește chat vocal. Urmează ghidul său de configurare a serverului pentru restul configurării.

Folosește directorul config de nivel superior al serverului pentru fișierul Raknetify2, inclusiv pe Spigot/Paper. Fișierul propriu al Simple Voice Chat rămâne în locația specifică platformei de mai jos.

Distribuie portul de joc

  1. Creează config/raknetify2-voicechat.json în directorul serverului cu acest conținut:

    {"enabled": true}
  2. Setează port=-1 în configurația serverului Simple Voice Chat. Pe serverele modificate, este config/voicechat/voicechat-server.properties. Pe Spigot/Paper, este plugins/voicechat/voicechat-server.properties.

  3. Lasă bind_address gol atunci când există un ascultător RakNet care se potrivește. Dacă serverul are mai multe ascultători pe acel port UDP, setează-l la adresa locală a ascultătorului pe care vrei să îl distribui.

  4. Repornește serverul și rulează /voicechat test <PLAYERNAME> pentru un jucător conectat.

Dacă ascultătorul RakNet folosește un port diferit de Minecraft, setează port-ul de voce la acel port UDP local explicit în loc să folosești -1. De exemplu, un ascultător RakNet pe port UDP local 25570 necesită port=25570.

Setează voice_host atunci când clienții au nevoie de o adresă sau un port public diferit. Pentru un router care redirecționează UDP public 25580 către UDP local 25570, folosește port=25570 și voice_host=play.example.com:25580. Adresa publică aparține voice_host. Setarea bind_address selectează un ascultător local.

Raknetify2 furnizează socket-ul UDP comun prin API-ul Simple Voice Chat. Simple Voice Chat gestionează autentificarea și criptarea vocii. Jucătorii pot folosi chatul vocal cu conexiuni de joc atât TCP, cât și RakNet.

Alte servicii și proxy-uri UDP

Menține Query și Geyser pe porturi UDP separate. Integrarea socket-ului comun suportă doar Simple Voice Chat.

Integrarea nu împărtășește o priză de voce-proxy pe Velocity sau BungeeCord. Urmați Ghidul de configurare proxy al Simple Voice Chat și dați proxy-ului de voce propriul port UDP. Cu plugin-ul oficial de proxy de voce, setați orice suprascriere publică voice_host în configurația de voce a proxy-ului. Acest plugin ignoră setările voice_host ale serverelor backend.

Pentru un tunel UDP generic, setează voice_host la numele de gazdă public și la portul UDP care redirecționează către acest server.

Dezactivează împărtășirea sau rezolvă un conflict de socket

Dacă jurnalul raportează No RakNet listener matches the voice bind address and port, confirmă că RakNet a pornit cu succes și că portul vocal și adresa de legătură se potrivesc cu ascultătorul său local.

Dacă raportează Multiple RakNet listeners match the voice bind address, alege o adresă locală specifică care se potrivește în bind_address și repornește.

Doar un plugin Simple Voice Chat poate furniza socket-ul său UDP. Dacă pornirea raportează că un alt plugin furnizează deja un socket, alege integrarea de socket pe care dorești să o folosești.

Pentru a dezactiva integrarea Raknetify2, setează {"enabled": false} în configurația sa de voce sau elimină acel fișier. Oferă Simple Voice Chat un port UDP separat, actualizează regulile de firewall sau de forwarding și repornește serverul.

Depanare

TCP funcționează, dar RakNet expiră

Verifică acestea în această ordine:

  1. Clientul are modul Raknetify2 corect pentru loader și versiunea Minecraft.
  2. Serverul sau proxy-ul care acceptă conexiunea are Raknetify2 instalat și pornit fără erori de ascultare.
  3. Adresa începe cu raknet; și folosește portul UDP public.
  4. Furnizorul de găzduire, routerul și firewall-ul gazdă permit UDP pe acel port.
  5. Adresele IPv4 și IPv6 ale gazdăului duc la gazda dorită și au reguli de firewall funcționale.

O conexiune TCP reușită confirmă doar ruta TCP. Urmează Configurarea firewall-ului și a router-ului pentru a verifica redirecționarea UDP și accesul IPv6. Dacă protocolul PROXY este activat, clienții trebuie să ajungă la ascultător printr-un proxy de încredere configurat.

Adresă deja în uz

Verifică dacă un alt proces folosește portul UDP. Query, Geyser și alte servicii UDP au nevoie de propriile lor porturi. Simple Voice Chat poate utiliza integrarea de port partajat.

Poți alege un alt port UDP local folosind setările ascultătorului direct al serverului sau setările Velocity și BungeeCord. Verifică cerința de versiune pentru setarea Spigot/Paper. Schimbarea doar a portului public al unui router lasă conflictul socket-ului local în loc.

Intrarea funcționează, dar transferurile eșuează

Conectează-te direct la destinație folosind adresa sa raknet;. Dacă eșuează, fixează mai întâi ascultătorul destinației sau ruta de rețea.

Dacă conexiunile directe funcționează, verifică dacă destinația acceptă transferurile de intrare. Un server Minecraft care folosește server.properties necesită accepts-transfers=true. Intrările directe nu testează această setare.

Apoi compară numele de gazdă de transfer și portul TCP cu config/raknetify2-transfers.json pe serverul de trimitere. Confirmă că fișierul a fost încărcat după o repornire și că clientul suportă transferurile automate RakNet. Vezi Transferuri automate.

Erori de criptare sau de protocol

Verifică versiunile Raknetify2 la ambele capete ale conexiunii. Actualizează clientul și serverul sau proxy-ul împreună atunci când o lansare modifică protocolul criptat. Menține setările de autentificare ale serverului în timp ce investighezi.

Eșecuri specifice modului

Înregistrează acțiunea care declanșează eșecul, cum ar fi deschiderea unui inventar, primirea unui pachet de resurse, schimbarea de lumi sau apariția unei entități. Compară aceeași acțiune peste TCP și RakNet folosind o instalare de test separată, atunci când este practic.

Unele sarcini personalizate depind de ordinea pachetelor vanilla. Autorii modurilor pot declara aceste dependențe prin intermediul interfeței de ordonare a pachetelor.

Raportează o eroare

Deschideți o problemă în Urmărirea problemelor Raknetify2 și includeți:

  • Versiunile Minecraft, Java, loader și Raknetify2 de la ambele capete.
  • Versiunile software-ului server și proxy, inclusiv orice proxy de forwarding UDP.
  • Alte moduri instalate și versiunile acestora.
  • Pașii pentru a reproduce problema și ce ați așteptat să se întâmple.
  • Dacă aceleași pași funcționează peste TCP.
  • Extracte relevante de log ale clientului, serverului și proxy-ului din aceeași încercare.

Elimină token-urile de acces, parolele și alte informații private înainte de a încărca log-urile. Menține mesajele de eroare și traseele de apel necesare pentru a diagnostica problema.

Integrare de mod

Raknetify2 permite modurilor să declare ce trafic Minecraft trebuie să rămână ordonat cu payload-urile lor personalizate. Folosește acest lucru atunci când gestionarea unui payload necesită o entitate, un chunk, un inventar sau altă stare stabilită de pachete anterioare.

Grupuri de ordonare

Grup Trafic asociat
ui Meniuri și interacțiuni independente de lume
entity Aparire, eliminare și mișcare a entităților
world_interaction Inventare și alte interacțiuni dependente de lume
effects Sunete și particule
chunk Actualizări de teren, bloc și iluminare

Toate grupurile păstrează livrarea ordonată și fiabilă în cadrul canalului lor. Pachetele din grupuri diferite pot ajunge într-o ordine relativă diferită. Alege grupul care se potrivește dependenței încărcăturii.

Integrare opțională Fabric

Adaugă un furnizor sub punctul de intrare raknetify:packet_channels din fabric.mod.json al modului tău. Furnizorul implementează Consumer<BiConsumer<String, String>> folosind tipuri JDK. Primește un registrar care acceptă un identificator de încărcătură personalizat și o grupă de ordonare.

Integrați această intrare în metadatele dvs. existente, înlocuind numele clasei cu numele complet calificat al furnizorului dvs.:

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

Păstrați restul fișierului dvs. fabric.mod.json, inclusiv punctele de intrare existente. Acesta este un fragment al fișierului de metadate.

De exemplu, o extensie de mișcare a entității poate înregistra example:entity_path cu grupul entity, iar Documentația PacketOrdering API include implementarea furnizorului.

Fabric nu apelează acest punct de intrare când Raknetify2 este absent. Furnizorii ar trebui să declare identifcatori și grupuri în timpul inițializării fără a depinde de faptul că un alt mod și-a terminat propria inițializare.

Comportamentul de înregistrare

Modurile Forge și NeoForge, precum și pluginurile de server sau proxy, pot apela PacketOrdering.register(identifier, group) în timpul inițializării când Raknetify2 este disponibil. Clasa este com.ishland.raknetify.api.PacketOrdering. Înregistrează înainte de a accepta conexiunile jucătorilor și menține codul de integrare opțional de la încărcarea claselor Raknetify2 când dependența este absentă.

Declarațiile se aplică conexiunilor noi. Conexiunile existente păstrează regulile pe care le-au primit la configurare. Repetarea unei declarații identice este permisă. Grupurile conflictuale pentru același identificator sunt respingerea.

Identificatorii de payload trebuie să folosească un spațiu de nume personal valid. Spațiul de nume minecraft este rezervat. Limita la nivel de endpoint este de 128 de declarații, incluzând regulile încorporate și înregistrările din alte moduri. Identificatorii pot conține până la 255 de caractere ASCII folosind sintaxa de identificator cu spațiu de nume a API-ului.

Piierele RakNet actualizate schimbă declarații în timpul configurării conexiunii. Un server sau un proxy poate folosi declarația unui peer atunci când nu are o regulă locală pentru acel payload. Regulile locale au prioritate, iar declarațiile unui peer rămân în scope pentru acea conexiune.

Proxy-uri UDP

Vezi Redirecționarea UDP și protocolul PROXY pentru rețele UDP și adresele clientului redirecționat.

Pentru configurarea proxy-ului Minecraft, vezi Velocity și BungeeCord.

English (US)

Clone this wiki locally