Repository navigation
Wiki ca es
- Inici
- Instal·lació
- Velocity i BungeeCord
- Configuració del tallafocs i de l'encaminador
- Compatibilitat
- Mode ordenat
- Transferències automàtiques
- Reenviament UDP i protocol PROXY
- Simple Voice Chat
- Solució de problemes
- Integració amb altres mods
- Servidors intermediaris UDP
Connexions de xarxa amb RakNet per als clients i servidors de Minecraft.
| Minecraft | Raknetify2 | Client / Servidor |
|---|---|---|
| Fabric | mods/raknetify2-fabric-*.jar |
Client / Servidor |
| Forge | mods/raknetify2-forge-*.jar |
Client / Servidor |
| NeoForge | mods/raknetify2-neoforge-*.jar |
Client / Servidor |
| Spigot / Paper | plugins/raknetify2-spigot-*.jar |
Servidor |
| Velocity | plugins/raknetify2-velocity-*.jar |
Velocity |
| BungeeCord | plugins/raknetify2-bungee-*.jar |
BungeeCord |
-
Multijugador
-
Afegir servidor
-
IP del servidor
IP del servidor RakNet · UDP raknet;play.example.com:25565TCP play.example.com:25565 -
Fet
-
Entrar al servidor
| F3 | |
|---|---|
| RakNet · UDP | Actiu · MTU 1400 |
| TCP | Inactiu |
- Client · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
- Velocity / BungeeCord → TCP → Servidor
| Nombre de 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 |
| IP del servidor | UDP |
|---|---|
raknet;play.example.com:25580 |
play.example.com:25580 → NAT → 192.0.2.10:25570
|
Servidor · 192.0.2.10
|
25570/udp |
Servidor / Velocity / BungeeCord
| JSON | |
|---|---|
| ① ② ③ | {"mode":"ordered"} |
| ① ∥ ② ∥ ③ | {"mode":"multichannel"} |
| Servidor | 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
| IP del servidor | 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"]}-
Servidor A · Fabric / Forge / NeoForge ·
config/raknetify2-transfers.json{"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]} -
Servidor B ·
play.example.com·server.properties→accepts-transfers=true -
Servidor A ·
/transfer play.example.com 25565 Alex→ Client (Alex) → RakNet ·play.example.com:25570
| Minecraft | |
|---|---|
ui |
Opcions |
entity |
Esquelet |
world_interaction |
Inventari |
effects |
Partícules |
chunk |
Blocs |
- Fabric · Minecraft / Java · English
- Forge / NeoForge / Spigot / Paper · GitHub Releases
Raknetify2 usa RakNet sobre UDP en el multijugador de Minecraft. Distribueix el trànsit entre diversos canals, cadascun amb el seu propi ordre de lliurament. Si es perd un paquet en un canal, els altres poden continuar transmetent. Així, les interaccions en el joc poden continuar responent amb normalitat mentre es recuperen les dades perdudes o es transfereixen chunks.
Raknetify2 és una bifurcació de Raknetify, creat per ishland, i es manté de manera independent. Afegeix compatibilitat amb versions més recents de Minecraft i s'encarrega del transport de xarxa, la integració amb les diferents plataformes i les proves de compatibilitat.
- Comprova la compatibilitat de Minecraft i dels mods.
- Tria quin fitxer vols descarregar i instal·la'l.
- Connecta't amb una adreça com
raknet;play.example.com.
- Velocity i BungeeCord
- Configuració del tallafocs i de l'encaminador
- Transferències automàtiques
- Reenviament UDP i protocol PROXY
- Compartir un port UDP amb Simple Voice Chat
- Solució de problemes i informes d'errors
Els autors de mods poden usar la interfície d'ordenació de paquets per a declarar quines relacions d'ordre han de respectar-se entre els seus missatges personalitzats i el trànsit de Minecraft.
Raknetify2 es distribueix sota la llicència MIT i conserva els avisos de drets d'autor originals. La seva implementació de xarxa es basa en Raknetify i en netty-raknet.
Descarrega una versió des de la pàgina de versions a GitHub. Abans d'instal·lar-la, comprova quina versió de Minecraft i quin carregador de mods requereix.
| Tipus d'instal·lació | Fitxer | Carpeta |
|---|---|---|
| Client o servidor Fabric | raknetify2-fabric-*.jar |
mods |
| Client o servidor Forge | raknetify2-forge-*.jar |
mods |
| Client o servidor NeoForge | raknetify2-neoforge-*.jar |
mods |
| Servidor Spigot o Paper | raknetify2-spigot-*.jar |
plugins |
| Servidor intermediari Velocity | raknetify2-velocity-*.jar |
plugins |
| Servidor intermediari BungeeCord | raknetify2-bungee-*.jar |
plugins |
Tanca el client o atura el servidor abans de substituir el seu JAR. Retira d'aquesta instal·lació el JAR del Raknetify original i qualsevol JAR anterior de Raknetify2 abans d'afegir-hi el nou.
En el client, usa les carpetes de la instància de Minecraft o del paquet de mods que vagis a iniciar. En el servidor o el servidor intermediari, usa les carpetes de la instal·lació corresponent. Si el carregador encara no ha creat la carpeta que necessites, crea-la.
- Instal·la el mod de client corresponent al teu carregador de mods.
- Instal·la el mod de servidor corresponent o, si tens un servidor compatible, el complement de Spigot/Paper.
- Segueix la guia de configuració del tallafocs i de l'encaminador per a permetre les connexions UDP al servidor.
- Reinicia el client i el servidor.
- Selecciona «Afegir servidor» i introdueix una adreça com
raknet;play.example.comoraknet;play.example.com:25565.
Les adreces sense el prefix raknet; usen TCP.
Si només instal·les el mod en el teu client, el servidor remot no adquireix compatibilitat amb RakNet. El seu administrador ha d'habilitar un punt d'accés RakNet. Per a entrar en el servidor d'una altra persona normalment no fa falta redirigir ports d'entrada en el teu encaminador.
Instal·la el complement corresponent en el servidor intermediari i el mod en el client. Consulta Velocity i BungeeCord per a configurar l'escolta, el reenviament d'informació als servidors de joc, les restriccions d'accés i l'adreça que han d'usar els jugadors.
Si els jugadors es connecten directament al servidor Minecraft, utilitza l'argument de Java que correspongui en la taula. Si administres un servidor intermediari, consulta la configuració d'escolta de Velocity i BungeeCord.
| Plataforma | Argument de Java | Ports admesos |
|---|---|---|
| Servidor Fabric, Forge o NeoForge | -Draknetify.fabric.portOverride=25570 |
De 1 a 65534
|
| Servidor Spigot o Paper | -Draknetify.spigot.portOverride=25570 |
De 1 a 65535
|
Forge i NeoForge comparteixen el codi d'escolta amb Fabric, per la qual cosa el nom de la seva propietat també conté fabric. Substitueix 25570 pel port UDP que vulguis usar.
Spigot / Paper ≥ 0.1.0-beta.1.431
Afegeix l'argument abans de -jar en l'ordre de Java o en el camp d'arguments de la JVM del teu proveïdor d'allotjament. Reinicia el servidor i permet UDP en el port d'escolta triat. Si el port públic també és 25570, connecta't a raknet;play.example.com:25570. Si un encaminador canvia el número de port, indica el port públic en l'adreça que uses en el client. El port TCP conserva el seu valor.
En Spigot/Paper, RakNet escolta en UDP en la mateixa adreça local que Minecraft en TCP. Si el port indicat no és vàlid o el port UDP està ocupat, RakNet no s'inicia. Consulta al registre d'arrencada en quina adreça i port escolta UDP. Per a tornar a usar el número de port TCP, treu l'argument i reinicia el servidor.
Un encaminador o un servidor intermediari UDP també pot exposar un port UDP públic diferent i redirigir-lo al port d'escolta existent sense modificar els arguments de Java del servidor.
En GitHub Actions, obre una execució de main que hagi acabat correctament i descarrega el fitxer de l'apartat Artifacts. GitHub exigeix un compte per a descarregar aquests fitxers. Utilitza la taula d'instal·lació anterior per a identificar el JAR que necessites.
Velocity i BungeeCord actuen com a intermediaris entre els jugadors i els servidors de joc de Minecraft. Instal·la Raknetify2 en el servidor intermediari i en cada client que vagi a connectar-se mitjançant RakNet.
Client Raknetify2 --UDP--> Velocity o BungeeCord --TCP--> servidor de joc
Per a aquesta modalitat de connexió, els servidors de joc poden funcionar sense Raknetify2. Continuen necessitant els mods, complements i mecanismes de reenviament que requereixi la teva xarxa. Raknetify2 no tradueix entre versions de Minecraft ni canvia l'autenticació de comptes del servidor intermediari.
- Comprova que les connexions TCP normals a través del servidor intermediari funcionen, inclosa l'autenticació i el canvi entre servidors de joc.
- Atura el servidor intermediari i descarrega el complement corresponent des de la pàgina de versions a GitHub.
- Col·loca
raknetify2-velocity-*-all.jaroraknetify2-bungee-*-all.jaren la carpetapluginsdel servidor intermediari. Retira d'aquesta carpeta qualsevol versió anterior del complement Raknetify o Raknetify2. - Instal·la el mod de Raknetify2 adequat per al client segons la guia d'instal·lació.
- Revisa la configuració d'escolta que es descriu a continuació. Reinicia el servidor intermediari i comprova en el seu registre si RakNet ha tingut problemes en obrir el port d'escolta.
- Permet el trànsit UDP públic cap al servidor intermediari i restringeix l'accés als ports dels servidors de joc segons la guia de configuració del tallafocs i de l'encaminador.
Utilitza versions compatibles de Raknetify2 en el client i en el servidor intermediari. Consulta Compatibilitat abans de combinar versions diferents.
En velocity.toml, l'ajust bind determina l'adreça i el port TCP en els quals Velocity escolta connexions de Minecraft. Normalment Raknetify2 usa aquest mateix número de port en UDP. Les entrades de [servers] identifiquen els servidors de joc. Deixa en elles les adreces TCP d'aquests servidors. Consulta la referència de configuració de Velocity.
Per a usar un port UDP diferent, afegeix aquest argument de la JVM abans de -jar en l'ordre d'inici de Velocity:
-Draknetify.velocity.portOverride=25570
Substitueix 25570 pel port triat. Així canvies el port UDP de RakNet sense modificar el port TCP de Velocity ni les adreces dels servidors de joc. Reinicia Velocity després de modificar l'argument.
Configura el reenviament d'informació dels jugadors tant en Velocity com en els seus servidors de joc. Si el programari del servidor de joc admet el mode de reenviament modern, usa'l i mantingues en secret la clau de reenviament. Segueix les instruccions per al teu servidor en la guia de reenviament d'informació dels jugadors de Velocity. Mantingues a més les restriccions del tallafocs en els servidors de joc.
En el fitxer config.yml de BungeeCord, el valor de host en cada entrada de listeners defineix una adreça i un port TCP d'escolta per a Minecraft. Raknetify2 sol afegir UDP en aquest mateix número de port. En servers figuren les adreces TCP dels servidors de joc. Consulta la guia de configuració de BungeeCord.
Per a usar un port UDP diferent, afegeix aquest argument de la JVM abans de -jar en l'ordre d'inici de BungeeCord:
-Draknetify.bungee.portOverride=25570
L'ajust afecta tot el procés del servidor intermediari. Si Minecraft escolta en diverses adreces, comprova al registre d'arrencada quines són les adreces i els ports reals de RakNet abans d'afegir regles al tallafocs. Reinicia BungeeCord després de canviar l'argument.
Mantingues l'autenticació de comptes en el servidor intermediari. Per als servidors de joc Spigot, la guia de reenviament de adreces IP de BungeeCord combina ip_forward: true en el servidor intermediari amb settings.bungeecord: true en el servidor de joc. El reenviament per si sol no impedeix que algú es connecti directament al servidor de joc. Restringeix l'accés segons les instruccions del tallafocs.
Tots dos servidors intermediaris admeten ports de 1 a 65534 en aquest ajust. Els valors no vàlids s'ignoren, així que comprova al registre d'arrencada quin port UDP s'ha obert. Per a tornar a usar el número de port d'escolta de Minecraft, treu l'argument i reinicia el servidor intermediari.
Els jugadors es connecten al nom de màquina públic i al port UDP del servidor intermediari, per exemple raknet;play.example.com:25570. Si un encaminador canvia el número de port, usa el seu port UDP públic en l'adreça del client. Les adreces sense el prefix raknet; continuen usant el port d'escolta TCP del servidor intermediari.
Assigna ports UDP diferents a Query, Geyser i els altres serveis UDP. Canviar un port TCP no resol un conflicte entre sòcols UDP.
Simple Voice Chat usa el seu propi complement de servidor intermediari i el seu propi port UDP en Velocity i BungeeCord. Consulta la guia de Simple Voice Chat per a servidors intermediaris per a configurar-los.
Si hi ha un relé UDP davant del servidor intermediari Minecraft que envia capçaleres del protocol PROXY v2, configura Raknetify2 segons la guia de reenviament UDP i protocol PROXY. Instal·lar Velocity o BungeeCord sense aquest relé no requereix aquesta configuració.
Fes una prova des de fora de la teva xarxa local amb un client Raknetify2. Entra a través del servidor intermediari, canvia entre els servidors de joc que usis i verifica que es conserven la identitat i els permisos del jugador.
- Si TCP funciona a través del servidor intermediari però s'esgota el temps d'espera de RakNet, comprova el port d'escolta UDP del servidor intermediari, el port públic, les rutes IPv4 i IPv6 i les regles del tallafocs.
- Si tots dos transports fallen quan el servidor intermediari es connecta a un servidor de joc, comprova l'adreça TCP, les regles d'accés i la configuració de reenviament d'informació dels jugadors en aquest servidor.
- Si el servidor intermediari indica que el port UDP està ocupat, comprova si l'usa Query, Geyser, un servidor intermediari de veu o un altre procés.
En informar d'un problema, inclou registres del servidor intermediari i del servidor de joc que corresponguin al mateix intent de connexió. En Solució de problemes s'indiquen les versions que has d'especificar.
Aquesta guia va dirigida als qui administren servidors. Raknetify2 necessita una ruta UDP operativa fins al servidor o servidor intermediari que accepti les connexions RakNet. De manera predeterminada usa el mateix número de port que Minecraft en TCP.
Si els jugadors estan en la mateixa xarxa local, usa l'adreça local del servidor i permet UDP en el tallafocs d'aquesta màquina. Necessites redirigir ports en l'encaminador quan el trànsit d'Internet ha de travessar la seva NAT IPv4.
Dirigeix el trànsit UDP públic a la màquina que executa el servidor Minecraft amb Raknetify2. Usa com a destinació el port d'escolta UDP de RakNet en aquest servidor i permet-lo en el tallafocs de la màquina. Conserva la ruta TCP existent per a les connexions normals de Minecraft.
Per exemple, si Raknetify2 escolta en el port UDP 25570, redirigeix el port UDP públic a l'adreça local del servidor en el port 25570. El port TCP del servidor pot continuar sent 25565. Per a triar un altre port UDP, consulta la configuració d'escolta del servidor directe.
Dirigeix el trànsit UDP públic a la màquina que executa Velocity o BungeeCord amb el complement Raknetify2. Utilitza com a destinació de la readreça el port d'escolta UDP de RakNet en el servidor intermediari. Conserva la ruta TCP pública que ja usa el servidor intermediari per a les connexions normals de Minecraft.
El servidor intermediari es connecta als servidors de joc Minecraft mitjançant TCP. Instal·lar Raknetify2 en el servidor intermediari no requereix obrir als jugadors els ports UDP dels servidors de joc.
| Connexió | Accés que s'ha de permetre |
|---|---|
| Dels jugadors al servidor intermediari | UDP públic al port d'escolta de RakNet, a més del port d'escolta TCP públic existent |
| Del servidor intermediari als servidors de joc | Ports TCP de Minecraft dels servidors de joc, accessibles únicament des de les màquines que executen els servidors intermediaris previstos |
| Dels jugadors directament als ports dels servidors de joc | Mantenir bloquejat aquest accés, també per IPv6 |
Si el servidor intermediari i els servidors de joc s'executen directament en una màquina dedicada que administres, pots fer que els servidors de joc escoltin en adreces de bucle local i configurar el servidor intermediari perquè es connecti a aquestes adreces. Si estan en màquines diferents, utilitza un tallafocs o una xarxa privada aïllada perquè només els servidors intermediaris puguin accedir per TCP als servidors de joc. Els contenidors i els allotjaments gestionats necessiten restriccions equivalents adaptades a la seva xarxa. Consulta la guia de seguretat dels servidors de joc de Velocity i la guia del tallafocs de BungeeCord.
El reenviament d'informació dels jugadors i el tallafocs es complementen. Si es pot accedir directament al servidor de joc, és possible saltar-se els controls d'inici de sessió del servidor intermediari. Per a instal·lar el complement, configurar el reenviament o canviar el port UDP, consulta Velocity i BungeeCord.
Si l'encaminador tradueix els ports, el port públic pot ser diferent del port d'escolta:
| Ajust | Port que s'ha d'usar |
|---|---|
| Adreça del servidor introduïda en el client | Port UDP públic |
| Port extern de la regla de readreça de l'encaminador | Port UDP públic |
| Port intern de la regla de readreça de l'encaminador | Port d'escolta UDP de RakNet |
| Port local en el tallafocs de la màquina | Port d'escolta UDP de RakNet |
Per a allotjar un servidor darrere d'un encaminador IPv4:
- Esbrina l'adreça IPv4 local de la màquina que accepta les connexions RakNet. Usa una reserva DHCP o una adreça estàtica adequada perquè la regla de readreça continuï apuntant a aquesta màquina.
- Afegeix una regla de readreça UDP per al port públic que usaran els jugadors.
- En la destinació de la regla, indica l'adreça local d'aquesta màquina i el port d'escolta UDP de RakNet.
- En el tallafocs de la màquina, permet el trànsit UDP entrant en el port d'escolta.
Per exemple, si el servidor escolta en el port UDP 25565, la regla pot usar el port públic 25565, l'adreça de destinació 192.168.1.100 i el port de destinació 25565. Substitueix l'adreça d'exemple per l'adreça local real del teu servidor.
Conserva la regla TCP existent per a les connexions normals de Minecraft. Una regla que només redirigeix TCP no transmet UDP.
Comprova si un altre encaminador o el teu proveïdor d'Internet fa NAT abans que el trànsit arribi al teu encaminador. Si administres dos encaminadors en sèrie, configura la readreça en tots dos. Si el teu proveïdor usa NAT compartit entre clients (CGNAT), pregunta-li si pot donar-te una adreça IPv4 pública o usa un allotjament o túnel que admeti UDP entrant. Les regles del teu encaminador no configuren el NAT del proveïdor. La guia de readreça de ports de TP-Link explica el requisit d'una adreça pública en la interfície WAN.
Permet el port UDP triat tant en el tallafocs IPv6 de l'encaminador com en el de la màquina. Usa com a destinació l'adreça IPv6 de la màquina que accepta les connexions RakNet.
Comprova que l'adreça IPv6 associada al nom de màquina apunta a aquesta màquina. Si la seva adreça IPv6 canvia, actualitza el registre DNS i qualsevol regla del tallafocs que especifiqui l'adreça antiga.
Si un nom de màquina publica adreces IPv4 i IPv6, cada adreça anunciada necessita una ruta que funcioni. Si un jugador aconsegueix entrar i un altre no, comprova les regles de tots dos protocols.
Si la readreça IPv4 canvia el número de port, assegura't que el port introduït pels jugadors també arriba al servei que escolta en IPv6. La traducció de ports IPv4 no configura la ruta IPv6.
El proveïdor o el túnel ha d'admetre UDP en l'adreça i el port públics que comuniquis als jugadors. Comprova els ports assignats i les regles del seu tallafocs de xarxa, a més del tallafocs del servidor.
Si un servidor intermediari UDP addicional reenvia les adreces dels clients mitjançant el protocol PROXY v2, segueix la guia de reenviament UDP i protocol PROXY i limita l'accés al port d'escolta UDP de destinació al servidor intermediari de confiança.
Connecta't des de fora de la xarxa local del servidor amb un client Raknetify2 actualitzat usant una adreça com raknet;play.example.com:25565. Indica en ella el port UDP públic.
Comprova la ruta amb una connexió RakNet real. Un escaneig UDP que no rep resposta pot donar un resultat indeterminat, ja que un servei operatiu pot descartar una sonda que no reconeix. La documentació de Nmap sobre escaneig UDP explica aquest comportament.
Una connexió TCP correcta només confirma que funciona la ruta TCP. Si s'esgota el temps d'espera de RakNet, comprova el port d'escolta, la destinació de la readreça, el port UDP i les regles del tallafocs amb la guia de solució de problemes.
Comprova la compatibilitat de la versió concreta que descarreguis. La branca de desenvolupament pot incloure funcions que encara no formen part de cap versió publicada.
Versions de Minecraft i de Java · English
La versió de Java que indica Raknetify2 és el mínim que necessita el mod. Minecraft o el carregador poden requerir una versió més recent. Tria una versió de Java que compleixi els tres requisits.
Sempre que puguis, usa la mateixa versió de Raknetify2 en el client i en el servidor o servidor intermediari que rep la connexió. Consulta les notes de la versió abans de combinar versions diferents. Per a xifrar una connexió RakNet, tots dos extrems han d'admetre el protocol de xifrat autenticat. El Raknetify original i les versions de Raknetify2 anteriors a la introducció d'aquest protocol no poden establir aquestes connexions xifrades amb instal·lacions actualitzades.
Raknetify2 transporta el protocol de joc de Minecraft. Per a connectar versions diferents de Minecraft fa falta un sistema compatible de traducció de protocols.
Si tens problemes en un paquet de mods més gran, segueix la guia de solució de problemes. Indica en l'informe les versions exactes de tots els mods.
Normalment els canals de paquets de Raknetify2 són independents: quan un canal espera dades perdudes, els altres poden continuar avançant. En mode ordenat tots els paquets de Minecraft viatgen per un únic canal. Si es perd un paquet, tots els posteriors que viatgen en el mateix sentit esperen que es retransmeti. Això manté l'ordre que esperen alguns sistemes antitrampes, a costa que el trànsit de joc no relacionat també hagi d'esperar.
-
Instal·la una versió de Raknetify2 que admeti el mode ordenat en el servidor o servidor intermediari que accepta les connexions RakNet i en cada client RakNet.
-
En el directori de treball d'aquest servidor o servidor intermediari, crea el fitxer
config/raknetify2-compatibility.json. Si el directoriconfigno existeix, crea'l. -
Afegeix aquest contingut:
{"mode": "ordered"} -
Reinicia el servidor o el servidor intermediari.
Els clients adopten l'ajust del servidor automàticament. Els jugadors no necessiten crear un fitxer de configuració ni canviar l'adreça RakNet del servidor.
Tots els paquets de Minecraft, inclosos els delimitadors de grups de paquets i els canvis de món, usen un únic canal fiable i ordenat en cada sentit.
Si els jugadors es connecten a través de Velocity o BungeeCord, configura el mode ordenat en aquest servidor intermediari, encara que el sistema antitrampes s'executi en un servidor de joc.
L'ajust continua aplicant-se en canviar de servidor de joc. En mode ordenat, el servidor intermediari reenvia les sol·licituds de manteniment de connexió del servidor de joc al client del jugador en lloc de respondre-les ell mateix.
En la primera connexió RakNet, la consola mostra:
Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)
Si tots dos extrems negocien correctament el mode de compatibilitat, en el registre també apareix ordered compatibility negotiated, seguit de l'adreça de l'altre extrem.
Mantingues activats els controls antitrampes i prova la teva pròpia configuració.
Els clients RakNet que no admeten el mode ordenat no poden connectar-se a un servidor que l'exigeixi. Actualitza Raknetify2 en aquests clients o connecta't a l'adreça i el port TCP habituals del servidor o del servidor intermediari sense el prefix raknet;.
Substitueix el contingut del fitxer per:
{"mode": "multichannel"}Després, reinicia el servidor o el servidor intermediari. També pots eliminar el fitxer i reiniciar per a restablir el mode multicanal.
El fitxer ha de contenir un únic ajust anomenat mode, amb el valor "ordered" o "multichannel". Els valors distingeixen entre majúscules i minúscules.
Si la configuració no és vàlida o no es pot llegir, es rebutgen les connexions RakNet. Corregeix el fitxer i reinicia el procés.
Si la consola continua indicant multichannel, comprova que el fitxer estigui sota el directori de treball del servidor o servidor intermediari que rep la connexió RakNet. Després, reinicia aquest procés.
Els servidors Fabric, Forge i NeoForge poden triar RakNet en transferir un client compatible a una destinació configurada. Per a això utilitzen les transferències que Minecraft incorpora des de Java Edition 1.20.5. Comprova que la teva versió de Raknetify2 sigui compatible amb la versió de Minecraft i el carregador de cada extrem.
Instal·la Raknetify2 en el servidor que envia la transferència i en el client. La destinació ha d'escoltar connexions RakNet compatibles i acceptar transferències entrants de Minecraft.
Aquesta configuració s'aplica a les transferències que envien els tres carregadors anteriors. Els complements de Spigot/Paper, Velocity i BungeeCord no llegeixen aquest fitxer de transferències.
En el directori del servidor d'origen, crea el fitxer config/raknetify2-transfers.json:
{
"destinations": [
{
"host": "play.example.com",
"tcpPort": 25565,
"udpPort": 25570
}
]
}Substitueix el nom de màquina i els ports de l'exemple pels de la teva destinació. Després, reinicia el servidor d'origen. Si tens més destinacions, afegeix-les a la mateixa llista.
| Camp | Significat |
|---|---|
host |
Nom de màquina o adreça IP de destinació, sense prefix de transport ni port |
tcpPort |
Port de destinació de la sol·licitud de transferència original |
udpPort |
Port RakNet públic al qual ha de connectar-se el client transferit |
Els números de port TCP i UDP poden coincidir. Si un encaminador canvia el número de port UDP, indica el port públic en aquest fitxer. Escriu els ports com a números JSON.
Envia les sol·licituds de transferència al nom de màquina i al port TCP habituals de la destinació. Raknetify2 comprova si el client anuncia que admet transferències automàtiques. Si les admet i la destinació coincideix amb una entrada, selecciona el port UDP configurat. Per als altres clients o destinacions, es conserva l'adreça de transferència original.
La comparació utilitza el nom de màquina i el port TCP de la sol·licitud. En comparar noms de màquina, s'ignoren les diferències entre majúscules i minúscules i el punt DNS final. També es normalitzen les formes equivalents d'escriure una adreça IPv6. No es realitzen consultes DNS. Dos noms que es resolen a la mateixa adreça necessiten entrades independents. No s'admeten comodins.
Si la destinació usa el fitxer server.properties de Minecraft, estableix accepts-transfers=true i reinicia'l. Si és un servidor intermediari, pot tenir un ajust de transferències propi. De manera predeterminada Minecraft rebutja les transferències entrants encara que es pugui entrar directament en el servidor.
El port d'escolta RakNet de la destinació, la readreça UDP pública i el tallafocs de la màquina han d'estar configurats per endavant. El fitxer de transferències del servidor d'origen determina quina adreça s'envia al client.
Si el nom de màquina de la destinació publica adreces IPv4 i IPv6, comprova totes dues rutes. Abans d'investigar problemes amb la transferència automàtica, prova una connexió RakNet directa a la destinació.
Mantingues els controls d'accés i inici de sessió de la destinació. Aquesta configuració no dona accés als jugadors ni substitueix l'autenticació del servidor.
Si falta un camp, hi ha camps desconeguts, ports no vàlids o destinacions duplicades, es produeix un error de configuració en iniciar-se el servidor. Consulta el registre per a identificar l'error, corregeix el JSON i reinicia.
Per a desactivar la selecció automàtica, elimina el fitxer de configuració o usa {"destinations": []}. Després, reinicia el servidor d'origen. Les seves sol·licituds de transferència conservaran les adreces originals.
Un servidor intermediari UDP pot reenviar el trànsit RakNet i conservar l'adreça original del client mitjançant el protocol PROXY v2. Activa aquesta funció si un servidor intermediari UDP situat abans del teu servidor envia aquestes capçaleres al port d'escolta. Per a una readreça de ports normal en l'encaminador no fa falta activar-la.
En el servidor o servidor intermediari Minecraft que rep el trànsit UDP reenviat, crea el fitxer config/raknetify2-proxy-protocol.json:
{
"trustedProxies": ["192.0.2.10"]
}Substitueix l'exemple per l'adreça IP d'origen real del servidor intermediari UDP o per un interval CIDR que controles. L'adreça ha de coincidir amb la que veu el servei receptor després de qualsevol NAT intermedi. S'admeten adreces IPv4 i IPv6 escrites directament. Els noms de màquina DNS es rebutgen. Reinicia el servidor o servidor intermediari receptor.
Configura el servidor intermediari que reenvia el trànsit perquè enviï capçaleres del protocol PROXY v2 per a UDP. Raknetify2 només accepta adreces de clients transmeses pels orígens de la llista. Mentre aquesta configuració estigui activa, es rebutgen les connexions RakNet directes que no incloguin aquestes capçaleres. La configuració d'escolta TCP es conserva.
Cada servidor intermediari de la llista està autoritzat a indicar les adreces dels clients. Restringeix l'accés al port UDP de destinació en el seu tallafocs perquè només pugui arribar el servidor intermediari previst. Limita els intervals de adreces de confiança tant com permeti la teva xarxa.
El fitxer ha de contenir únicament trustedProxies amb almenys una entrada. Una llista buida produeix un error. Si el fitxer no és vàlid, RakNet no pot obrir el seu port d'escolta.
Per a tornar a les connexions UDP directes, elimina el fitxer i reinicia el servei d'escolta. Actualitza també el reenviament del servidor intermediari anterior i les regles del tallafocs per a la nova ruta.
Si les connexions fallen després d'activar aquesta funció, comprova l'adreça d'origen real del servidor intermediari tal com la veu el servidor de destinació, l'interval de confiança configurat i si el servidor intermediari envia capçaleres PROXY v2 per a UDP.
Per a instal·lar un servidor intermediari Minecraft i configurar els servidors de joc, consulta Velocity i BungeeCord.
Raknetify2 pot compartir el seu port d'escolta UDP amb Simple Voice Chat en servidors Fabric, Forge, NeoForge, Spigot i Paper.
Instal·la Simple Voice Chat en el servidor i en els clients que vagin a usar el xat de veu. Per a la resta dels ajustos, consulta la seva guia de configuració del servidor.
Col·loca el fitxer de Raknetify2 en el directori config situat en l'arrel del servidor, també en Spigot/Paper. El fitxer de Simple Voice Chat roman en la ubicació que correspongui a la teva plataforma, com s'indica a continuació.
-
En el directori del servidor, crea el fitxer
config/raknetify2-voicechat.jsonamb aquest contingut:{"enabled": true} -
Estableix
port=-1en la configuració de servidor de Simple Voice Chat. En servidors amb mods, el fitxer ésconfig/voicechat/voicechat-server.properties. En Spigot/Paper ésplugins/voicechat/voicechat-server.properties. -
Deixa buit
bind_addresssi hi ha un únic servei d'escolta RakNet que coincideixi. Si el servidor escolta en diverses adreces en aquest port UDP, indica l'adreça local que vols compartir. -
Reinicia el servidor i executa
/voicechat test <PLAYERNAME>per a un jugador connectat.
Si RakNet escolta en un port diferent del de Minecraft, indica aquest port UDP local en l'ajust de veu port en lloc d'usar -1. Per exemple, si RakNet escolta en el port UDP local 25570, usa port=25570.
Configura voice_host quan el client necessiti una adreça o un port públic diferent. Si l'encaminador redirigeix el port UDP públic 25580 al port UDP local 25570, usa port=25570 i voice_host=play.example.com:25580. L'adreça pública va en voice_host. L'ajust bind_address selecciona l'adreça local d'escolta.
Raknetify2 proporciona el sòcol UDP compartit mitjançant l'API de Simple Voice Chat. Simple Voice Chat s'ocupa de l'autenticació i el xifrat de la veu. Els jugadors poden usar el xat de veu tant si juguen a través de TCP com si ho fan a través de RakNet.
Reserva ports UDP diferents per a Query i Geyser. La integració de sòcol compartit només admet Simple Voice Chat.
La integració no comparteix el sòcol del servidor intermediari de veu en Velocity ni en BungeeCord. Segueix la guia de configuració del servidor intermediari de Simple Voice Chat i assigna al servidor intermediari de veu el seu propi port UDP. Amb el complement oficial del servidor intermediari de veu, qualsevol valor públic de voice_host que vulguis fixar ha d'anar en la configuració de veu del servidor intermediari. El complement ignora els ajustos de voice_host dels servidors de joc.
Si utilitzes un túnel UDP genèric, indica en voice_host el nom de màquina i el port UDP públics que condueixen a aquest servidor.
Si el registre mostra No RakNet listener matches the voice bind address and port, comprova que RakNet hagi arrencat correctament i que el port i l'adreça d'escolta del servei de veu coincideixin amb els de RakNet en aquesta màquina.
Si apareix Multiple RakNet listeners match the voice bind address, selecciona una de les adreces locals coincidents en bind_address i reinicia.
Només un complement de Simple Voice Chat pot proporcionar el sòcol UDP. Si en arrencar s'indica que un altre complement ja ho proporciona, tria quina de les dues integracions vols usar.
Per a desactivar la integració de Raknetify2, estableix {"enabled": false} en el seu fitxer de configuració de veu o elimina el fitxer. Assigna a Simple Voice Chat un altre port UDP, actualitza les regles del tallafocs o de readreça i reinicia el servidor.
Comprova aquests punts en ordre:
- El client té el mod Raknetify2 adequat per al seu carregador i la seva versió de Minecraft.
- Raknetify2 està instal·lat en el servidor o servidor intermediari que accepta la connexió i s'ha iniciat sense errors en obrir el port d'escolta.
- L'adreça comença per
raknet;i usa el port UDP públic. - El proveïdor d'allotjament, l'encaminador i el tallafocs de la màquina permeten UDP en aquest port.
- Les adreces IPv4 i IPv6 del nom de màquina apunten a la màquina prevista i les seves regles de tallafocs permeten l'accés.
Una connexió TCP correcta només confirma que funciona la ruta TCP. Consulta la configuració del tallafocs i de l'encaminador per a comprovar la readreça UDP i l'accés IPv6. Si està activat el protocol PROXY, els clients han d'arribar al port d'escolta a través d'un servidor intermediari configurat com de confiança.
Comprova si un altre procés usa el port UDP. Query, Geyser i els altres serveis UDP necessiten els seus propis ports. Simple Voice Chat admet l'ús compartit del port.
Pots triar un altre port UDP local en la configuració d'escolta del servidor directe o en la configuració de Velocity i BungeeCord. Comprova quina versió de Spigot/Paper requereix aquest ajust. Canviar únicament el port públic de l'encaminador no resol un conflicte de sòcols en la màquina.
Connecta't directament a la destinació usant la seva adreça amb el prefix raknet;. Si la connexió falla, corregeix primer el servei d'escolta de destinació o la ruta de xarxa.
Si les connexions directes funcionen, comprova que la destinació accepti transferències entrants. Un servidor Minecraft que utilitza server.properties necessita l'ajust accepts-transfers=true. Una connexió directa no posa a prova aquest ajust.
Després compara el nom de màquina i el port TCP de la transferència amb els de config/raknetify2-transfers.json en el servidor d'origen. Comprova que el fitxer s'hagi carregat després de reiniciar i que el client admeti transferències RakNet automàtiques. Consulta Transferències automàtiques.
Comprova les versions de Raknetify2 en tots dos extrems de la connexió. Quan una versió canviï el protocol xifrat, actualitza alhora el client i el servidor o servidor intermediari. Mantingues la configuració d'autenticació del servidor mentre investigues el problema.
Anota quina acció provoca la fallada, per exemple obrir un inventari, rebre un paquet de recursos, canviar de món o generar una entitat. Quan sigui possible, repeteix la mateixa acció en una instal·lació de prova a part i compara els resultats amb TCP i RakNet.
Alguns missatges personalitzats depenen de l'ordre dels paquets de Minecraft. Els autors de mods poden declarar aquestes dependències mitjançant la interfície d'ordenació de paquets.
Obre una incidència en el registre d'incidències de Raknetify2 i inclou:
- Les versions de Minecraft, Java, el carregador de mods i Raknetify2 en tots dos extrems.
- Les versions del programari del servidor i del servidor intermediari, inclòs qualsevol servidor intermediari de reenviament UDP.
- Els altres mods instal·lats i les seves versions.
- Els passos per a reproduir el problema i el resultat que esperaves.
- Si els mateixos passos funcionen amb TCP.
- Extractes pertinents dels registres del client, del servidor i del servidor intermediari corresponents al mateix intent.
Abans de pujar els registres, elimina els testimonis d'accés, contrasenyes i altra informació privada. Conserva els missatges d'excepció i les traces de la pila necessaris per a diagnosticar el problema.
Amb Raknetify2, els mods poden indicar quins paquets de Minecraft han de conservar el seu ordre respecte als seus missatges personalitzats. Utilitza aquesta funció si per a processar un missatge és necessari que paquets anteriors hagin creat una entitat o un chunk, preparat un inventari o establert algun altre estat del joc.
| Grup | Trànsit relacionat |
|---|---|
ui |
Menús i interaccions independents del món |
entity |
Aparició, eliminació i moviment d'entitats |
world_interaction |
Inventaris i altres interaccions que depenen del món |
effects |
Sons i partícules |
chunk |
Actualitzacions del terreny, els blocs i la il·luminació |
Cada grup manté un lliurament fiable i ordenat dins del seu canal. Els paquets de grups diferents poden arribar en un altre ordre relatiu. Tria el grup que correspongui a les dades de les quals depengui el teu missatge.
Declara un proveïdor en el punt d'entrada raknetify:packet_channels del fitxer fabric.mod.json del teu mod. El proveïdor implementa Consumer<BiConsumer<String, String>> amb tipus del JDK. Rep una funció de registre que accepta l'identificador d'un missatge personalitzat i un grup d'ordenació.
Integra aquesta entrada en les teves metadades actuals. Substitueix el nom de la classe pel nom complet de la classe del teu proveïdor, inclòs el paquet:
{
"entrypoints": {
"raknetify:packet_channels": [
"com.example.mod.OrderingProvider"
]
}
}Conserva la resta del fitxer fabric.mod.json, inclosos els punts d'entrada existents. L'exemple mostra només un fragment de les metadades.
Per exemple, una extensió que gestioni el moviment d'entitats pot registrar example:entity_path en el grup entity. La documentació de l'API PacketOrdering inclou la implementació del proveïdor.
Si Raknetify2 no està instal·lat, Fabric no invoca aquest punt d'entrada. Els proveïdors han de declarar els identificadors i els grups durant la inicialització, sense dependre del fet que un altre mod ja hagi acabat d'inicialitzar-se.
Els mods de Forge i NeoForge i els complements de servidor o de servidor intermediari poden cridar a PacketOrdering.register(identifier, group) durant la inicialització quan Raknetify2 estigui disponible. La classe és com.ishland.raknetify.api.PacketOrdering. Registra les declaracions abans d'acceptar connexions de jugadors. Si la integració és opcional, evita que el seu codi carregui classes de Raknetify2 quan falti aquesta dependència.
Les declaracions s'apliquen a les connexions noves. Les connexions existents conserven les regles que van rebre en establir-se. Es permet repetir una declaració idèntica. No es pot assignar un mateix identificador a grups diferents.
Els identificadors de missatges han d'usar un espai de noms personalitzat vàlid. L'espai de noms minecraft està reservat. El límit de cada extrem és de 128 declaracions en total, incloses les regles integrades i els registres d'altres mods. Els identificadors admeten fins a 255 caràcters ASCII i han de seguir la sintaxi d'identificadors amb espai de noms de l'API.
Els extrems RakNet actualitzats intercanvien les seves declaracions en establir la connexió. Si un servidor o servidor intermediari no té una regla local per a un missatge, pot usar la declaració de l'altre extrem. Les regles locals tenen prioritat i les declaracions rebudes només s'apliquen a aquesta connexió.
Per als relés UDP i el reenviament de adreces de clients, consulta Reenviament UDP i protocol PROXY.
Per a configurar un servidor intermediari de Minecraft, consulta Velocity i BungeeCord.