Skip to content

Wiki gl es

pjscruggs edited this page Nov 11, 2026 · 2 revisions

Raknetify2 · Galego (Galicia / Galiza)

Lingua

Multixogador

Conexións de rede mediante RakNet para clientes e servidores de Minecraft.

Baixar · GitHub

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

Engadir servidor

  1. Multixogador

  2. Engadir servidor

  3. Enderezo do servidor

    Enderezo do servidor
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Feito

  5. Entrar ó servidor

F3 · Raknetify2

F3
RakNet · UDP Activo · MTU 1400
TCP Inactivo

Velocity / BungeeCord

  1. Cliente · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. Velocity / BungeeCord → TCP → Servidor
Número de porto · 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

Esgotouse o tempo de espera

Enderezo do servidor UDP
raknet;play.example.com:25580 play.example.com:25580 → NAT → 192.0.2.10:25570
Servidor · 192.0.2.10 25570/udp

config/raknetify2-compatibility.json

Servidor / Velocity / BungeeCord

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

Simple Voice Chat

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

PROXY protocol v2 · UDP

Enderezo do 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"] ✗
Cliente → RakNet / UDP ["192.0.2.10"] ✗

config/raknetify2-proxy-protocol.json

{"trustedProxies":["192.0.2.10"]}

Minecraft ≥ 1.20.5 · /transfer

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

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

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

PacketOrdering

Minecraft
ui Opcións
entity Esqueleto
world_interaction Inventario
effects Partículas
chunk Bloques

PacketOrdering.java

Versión incompatible!

Informar de erros

Inicio

Raknetify2

Raknetify2 usa RakNet sobre UDP no multixogador de Minecraft. Distribúe o tráfico entre varias canles, cada un coa súa propio orde de entrega. Si pérdese un paquete nunha canle, as demais poden seguir transmitindo. Así, as interaccións no xogo poden seguir respondendo con normalidade mentres se recuperan os datos perdidos ou se transfiren chunks.

Raknetify2 é unha bifurcación de Raknetify, creado por ishland, e mantense de forma independente. Engade compatibilidade con versións máis recentes de Minecraft e encárgase do transporte de rede, a integración coas distintas plataformas e as probas de compatibilidade.

Primeiros pasos

  1. Comproba a compatibilidade de Minecraft e dos mods.
  2. Elixe que ficheiro descargar e instálao.
  3. Conéctate cun enderezo como raknet;play.example.com.

Guías para servidores

Os autores de mods poden usar a interface de ordenación de paquetes para declarar que relacións de orde deben respectarse entre as súas mensaxes personalizadas e o tráfico de Minecraft.

Enlaces do proxecto

Raknetify2 distribúese baixo a licenza MIT e conserva os avisos de dereitos de autor orixinais. O seu implementación de rede baséase en Raknetify e en netty-raknet.

Instalación

Descarga unha versión desde a páxina de versións en GitHub. Antes de instalala, comproba que versión de Minecraft e que cargador de mods require.

Tipo de instalación Ficheiro Cartafol
Cliente ou servidor Fabric raknetify2-fabric-*.jar mods
Cliente ou servidor Forge raknetify2-forge-*.jar mods
Cliente ou servidor NeoForge raknetify2-neoforge-*.jar mods
Servidor Spigot ou Paper raknetify2-spigot-*.jar plugins
Servidor proxy Velocity raknetify2-velocity-*.jar plugins
Servidor proxy BungeeCord raknetify2-bungee-*.jar plugins

Pecha o cliente ou detén o servidor antes de substituír o seu JAR. Retira desa instalación o JAR do Raknetify orixinal e calquera JAR anterior de Raknetify2 antes de engadir o novo.

No cliente, usa os cartafoles da instancia de Minecraft ou do paquete de mods que vaias iniciar. No servidor ou o servidor proxy, usa os cartafoles da instalación correspondente. Se o cargador aínda non creou o cartafol que necesitas, créao.

Conexión directa a un servidor

  1. Instala o mod de cliente correspondente ao teu cargador de mods.
  2. Instala o mod de servidor correspondente ou, si tes un servidor compatible, o complemento de Spigot/Paper.
  3. Segue a guía de configuración da devasa e do encamiñador para permitir as conexións UDP ao servidor.
  4. Reinicia o cliente e o servidor.
  5. Selecciona «Engadir servidor» e introduce un enderezo como raknet;play.example.com ou raknet;play.example.com:25565.

Os enderezos sen o prefixo raknet; usan TCP.

Si só instalas o mod no teu cliente, o servidor remoto non adquire compatibilidade con RakNet. O seu administrador ten que habilitar un punto de acceso RakNet. Para entrar no servidor doutra persoa normalmente non fai falta redirixir portos de entrada no teu encamiñador.

Velocity e BungeeCord

Instala o complemento correspondente no servidor proxy e o mod no cliente. Consulta Velocity e BungeeCord para configurar escóitaa, o reenvío de información aos servidores de xogo, as restricións de acceso e o enderezo que deben usar os xogadores.

Usar un porto de escoita UDP distinto

Si os xogadores conéctanse directamente ao servidor Minecraft, utiliza o argumento de Java que corresponda na táboa. Si administras un servidor proxy, consulta a configuración de escoita de Velocity e BungeeCord.

Plataforma Argumento de Java Portos admitidos
Servidor Fabric, Forge ou NeoForge -Draknetify.fabric.portOverride=25570 De 1 a 65534
Servidor Spigot ou Paper -Draknetify.spigot.portOverride=25570 De 1 a 65535

Forge e NeoForge comparten o código de escoita con Fabric, polo que o nome da súa propiedade tamén contén fabric. Substitúe 25570 polo porto UDP que queiras usar.

Spigot / Paper ≥ 0.1.0-beta.1.431

Engade o argumento antes de -jar no comando de Java ou no campo de argumentos da JVM do teu provedor de aloxamento. Reinicia o servidor e permite UDP no porto de escoita elixido. Se o porto público tamén é 25570, conéctate a raknet;play.example.com:25570. Si un encamiñador cambia o número de porto, indica o porto público no enderezo que usas no cliente. O porto TCP conserva o seu valor.

En Spigot/Paper, RakNet escoita en UDP na mesmo enderezo local que Minecraft en TCP. Se o porto indicado non é válido ou o porto UDP está ocupado, RakNet non se inicia. Consulta no rexistro de arranque en que enderezo e porto escoita UDP. Para volver usar o número de porto TCP, quita o argumento e reinicia o servidor.

Un encamiñador ou un servidor proxy UDP tamén pode expor un porto UDP público distinto e redirixilo ao porto de escoita existente sen modificar os argumentos de Java do servidor.

Versións de desenvolvemento

En GitHub Actions, abre unha execución de main que termine correctamente e descarga o ficheiro do apartado Artifacts. GitHub esixe unha conta para descargar estes ficheiros. Utiliza a táboa de instalación anterior para identificar o JAR que necesitas.

Velocity e BungeeCord

Velocity e BungeeCord actúan como intermediarios entre os xogadores e os servidores de xogo de Minecraft. Instala Raknetify2 no servidor proxy e en cada cliente que vaia conectarse mediante RakNet.

Cliente Raknetify2 --UDP--> Velocity ou BungeeCord --TCP--> servidor de xogo

Para esta modalidade de conexión, os servidores de xogo poden funcionar sen Raknetify2. Seguen necesitando os mods, complementos e mecanismos de reenvío que requira a túa rede. Raknetify2 non traduce entre versións de Minecraft nin cambia a autenticación de contas do servidor proxy.

Instalar o complemento no servidor proxy

  1. Comproba que as conexións TCP normais a través do servidor proxy funcionan, incluída a autenticación e o cambio entre servidores de xogo.
  2. Detén o servidor proxy e descarga o complemento correspondente desde a páxina de versións en GitHub.
  3. Coloca raknetify2-velocity-*-all.jar ou raknetify2-bungee-*-all.jar no cartafol plugins do servidor proxy. Retira dese cartafol calquera versión anterior do complemento Raknetify ou Raknetify2.
  4. Instala o mod de Raknetify2 axeitado para o cliente segundo a guía de instalación.
  5. Revisa a configuración de escoita que se describe a continuación. Reinicia o servidor proxy e comproba no seu rexistro se RakNet tivo problemas ao abrir o porto de escoita.
  6. Permite o tráfico UDP público cara ao servidor proxy e restrinxe o acceso aos portos dos servidores de xogo segundo a guía de configuración da devasa e do encamiñador.

Utiliza versións compatibles de Raknetify2 no cliente e no servidor proxy. Consulta Compatibilidade antes de combinar versións distintas.

Velocity

En velocity.toml, o axuste bind determina o enderezo e o porto TCP nos que Velocity escoita conexións de Minecraft. Normalmente Raknetify2 usa ese mesmo número de porto en UDP. As entradas de [servers] identifican os servidores de xogo. Deixa nelas os enderezos TCP deses servidores. Consulta a referencia de configuración de Velocity.

Para usar un porto UDP distinto, engade este argumento da JVM antes de -jar no comando de inicio de Velocity:

-Draknetify.velocity.portOverride=25570

Substitúe 25570 polo porto elixido. Así cambias o porto UDP de RakNet sen modificar o porto TCP de Velocity nin os enderezos dos servidores de xogo. Reinicia Velocity despois de modificar o argumento.

Configura o reenvío de información dos xogadores tanto en Velocity como nos seus servidores de xogo. Se o software do servidor de xogo admite o modo de reenvío moderno, úsao e mantén en segredo a clave de reenvío. Segue as instrucións para o teu servidor na guía de reenvío de información dos xogadores de Velocity. Mantén ademais as restricións da devasa nos servidores de xogo.

BungeeCord

No ficheiro config.yml de BungeeCord, o valor de host en cada entrada de listeners define un enderezo e un porto TCP de escoita para Minecraft. Raknetify2 adoita engadir UDP nese mesmo número de porto. En servers figuran os enderezos TCP dos servidores de xogo. Consulta a guía de configuración de BungeeCord.

Para usar un porto UDP distinto, engade este argumento da JVM antes de -jar no comando de inicio de BungeeCord:

-Draknetify.bungee.portOverride=25570

O axuste afecta a todo o proceso do servidor proxy. Se Minecraft escoita en varios enderezos, comproba no rexistro de arranque cales son os enderezos e os portos reais de RakNet antes de engadir regras á devasa. Reinicia BungeeCord tras cambiar o argumento.

Mantén a autenticación de contas no servidor proxy. Para os servidores de xogo Spigot, a guía de reenvío de enderezos IP de BungeeCord combina ip_forward: true no servidor proxy con settings.bungeecord: true no servidor de xogo. O reenvío por si só non impide que alguén se conecte directamente ao servidor de xogo. Restrinxe o acceso segundo as instrucións da devasa.

Elixir o enderezo que usarán os xogadores

Ambos servidores proxy admiten portos de 1 a 65534 neste axuste. Os valores non válidos ignóranse, polo que comproba no rexistro de arranque que porto UDP abriuse. Para volver usar o número de porto de escoita de Minecraft, quita o argumento e reinicia o servidor proxy.

Os xogadores conéctanse ao nome de máquina público e ao porto UDP do servidor proxy, por exemplo raknet;play.example.com:25570. Si un encamiñador cambia o número de porto, usa o seu porto UDP público no enderezo do cliente. Os enderezos sen o prefixo raknet; seguen usando o porto de escoita TCP do servidor proxy.

Asigna portos UDP distintos a Query, Geyser e os demais servizos UDP. Cambiar un porto TCP non resolve un conflito entre sóckets UDP.

Simple Voice Chat e outros relés UDP

Simple Voice Chat usa o seu propio complemento de servidor proxy e o seu propio porto UDP en Velocity e BungeeCord. Consulta a guía de Simple Voice Chat para servidores proxy para configuralos.

Se hai un relé UDP diante do servidor proxy Minecraft que envía cabeceiras do protocolo PROXY v2, configura Raknetify2 segundo a guía de reenvío UDP e protocolo PROXY. Instalar Velocity ou BungeeCord sen ese relé non require esta configuración.

Comprobar a conexión

Fai unha proba desde fóra da túa rede local cun cliente Raknetify2. Entra a través do servidor proxy, cambia entre os servidores de xogo que uses e verifica que se conservan a identidade e os permisos do xogador.

  • Se TCP funciona a través do servidor proxy pero esgótase o tempo de espera de RakNet, comproba o porto de escoita UDP do servidor proxy, o porto público, as rutas IPv4 e IPv6 e as regras da devasa.
  • Se ambos os transportes fallan cando o servidor proxy conéctase a un servidor de xogo, comproba o enderezo TCP, as regras de acceso e a configuración de reenvío de información dos xogadores nese servidor.
  • Se o servidor proxy indica que o porto UDP está ocupado, comproba si úsao Query, Geyser, un servidor proxy de voz ou outro proceso.

Ao informar dun problema, inclúe rexistros do servidor proxy e do servidor de xogo que correspondan ao mesmo intento de conexión. En Solución de problemas indícanse as versións que debes especificar.

Configuración da devasa e do encamiñador

Esta guía vai dirixida a quen administran servidores. Raknetify2 necesita unha ruta UDP operativa até o servidor ou servidor proxy que acepte as conexións RakNet. De forma predeterminada usa o mesmo número de porto que Minecraft en TCP.

Se os xogadores están na mesma rede local, usa o enderezo local do servidor e permite UDP na devasa desa máquina. Necesitas redirixir portos no encamiñador cando o tráfico de Internet ten que atravesar a súa NAT IPv4.

Elixir o destino e o porto

Servidor directo

Dirixe o tráfico UDP público á máquina que executa o servidor Minecraft con Raknetify2. Usa como destino o porto de escoita UDP de RakNet nese servidor e permíteo na devasa da máquina. Conserva a ruta TCP existente para as conexións normais de Minecraft.

Por exemplo, se Raknetify2 escoita no porto UDP 25570, redirixe o porto UDP público ao enderezo local do servidor no porto 25570. O porto TCP do servidor pode seguir sendo 25565. Para elixir outro porto UDP, consulta a configuración de escoita do servidor directo.

Velocity ou BungeeCord

Dirixe o tráfico UDP público á máquina que executa Velocity ou BungeeCord co complemento Raknetify2. Utiliza como destino da reenderezo o porto de escoita UDP de RakNet no servidor proxy. Conserva a ruta TCP pública que xa usa o servidor proxy para as conexións normais de Minecraft.

O servidor proxy conéctase aos servidores de xogo Minecraft mediante TCP. Instalar Raknetify2 no servidor proxy non require abrir aos xogadores os portos UDP dos servidores de xogo.

Conexión Acceso que se debe permitir
Dos xogadores ao servidor proxy UDP público ao porto de escoita de RakNet, ademais do porto de escoita TCP público existente
Do servidor proxy aos servidores de xogo Portos TCP de Minecraft dos servidores de xogo, accesibles unicamente desde as máquinas que executan os servidores proxy previstos
Dos xogadores directamente aos portos dos servidores de xogo Manter bloqueado este acceso, tamén por IPv6

Se o servidor proxy e os servidores de xogo execútanse directamente nunha máquina dedicada que administras, podes facer que os servidores de xogo escoiten en enderezos de bucle local e configurar o servidor proxy para que se conecte a elas. Se están en máquinas distintas, utiliza unha devasa ou unha rede privada illada para que só os servidores proxy poidan acceder por TCP aos servidores de xogo. Os colectores e os aloxamentos xestionados necesitan restricións equivalentes adaptadas á súa rede. Consulta a guía de seguridade dos servidores de xogo de Velocity e a guía da devasa de BungeeCord.

O reenvío de información dos xogadores e a devasa compleméntanse. Se se pode acceder directamente ao servidor de xogo, é posible saltarse os controis de inicio de sesión do servidor proxy. Para instalar o complemento, configurar o reenvío ou cambiar o porto UDP, consulta Velocity e BungeeCord.

Números de porto públicos e locais

Se o encamiñador traduce os portos, o porto público pode ser distinto do porto de escoita:

Axuste Porto que se debe usar
Enderezo do servidor introducida no cliente Porto UDP público
Porto externo da regra de reenderezo do encamiñador Porto UDP público
Porto interno da regra de reenderezo do encamiñador Porto de escoita UDP de RakNet
Porto local na devasa da máquina Porto de escoita UDP de RakNet

Reenderezo de portos IPv4

Para aloxar un servidor detrás dun encamiñador IPv4:

  1. Pescuda o enderezo IPv4 local da máquina que acepta as conexións RakNet. Usa unha reserva DHCP ou un enderezo estático axeitada para que a regra de reenderezo siga apuntando a esa máquina.
  2. Engade unha regra de reenderezo UDP para o porto público que usarán os xogadores.
  3. No destino da regra, indica o enderezo local desa máquina e o porto de escoita UDP de RakNet.
  4. Na devasa da máquina, permite o tráfico UDP entrante no porto de escoita.

Por exemplo, se o servidor escoita no porto UDP 25565, a regra pode usar o porto público 25565, o enderezo de destino 192.168.1.100 e o porto de destino 25565. Substitúe o enderezo de exemplo polo enderezo local real do teu servidor.

Conserva a regra TCP existente para as conexións normais de Minecraft. Unha regra que só redirixe TCP non transmite UDP.

Se a reenderezo segue sen funcionar

Comproba si outro encamiñador ou o teu provedor de Internet fai NAT antes de que o tráfico chegue ao teu encamiñador. Se administras dous encamiñadores en serie, configura a reenderezo en ambos. Se o teu provedor usa NAT compartido entre clientes (CGNAT), pregúntalle se pode darche un enderezo IPv4 pública ou usa un aloxamento ou túnel que admita UDP entrante. As regras do teu encamiñador non configuran o NAT do provedor. A guía de reenderezo de portos de TP-Link explica o requisito dun enderezo público na interface WAN.

Regras da devasa IPv6

Permite o porto UDP elixido tanto na devasa IPv6 do encamiñador como no da máquina. Usa como destino o enderezo IPv6 da máquina que acepta as conexións RakNet.

Comproba que o enderezo IPv6 asociado ao nome de máquina apunta a esa máquina. Se o seu enderezo IPv6 cambia, actualiza o rexistro DNS e calquera regra da devasa que especifique o enderezo antigo.

Se un nome de máquina publico enderezos IPv4 e IPv6, cado enderezo anunciado necesita unha ruta que funcione. Se un xogador consegue entrar e outro non, comproba as regras de ambos os protocolos.

Se a reenderezo IPv4 cambia o número de porto, asegúrache de que o porto introducido polos xogadores tamén chega ao servizo que escoita en IPv6. A tradución de portos IPv4 non configura a ruta IPv6.

Provedores de aloxamento e túneles

O provedor ou o túnel ten que admitir UDP no enderezo e o porto públicos que comuniques aos xogadores. Comproba os portos asignados e as regras da súa devasa de rede, ademais da devasa do servidor.

Si un servidor proxy UDP adicional reenvía os enderezos dos clientes mediante o protocolo PROXY v2, segue a guía de reenvío UDP e protocolo PROXY e limita o acceso ao porto de escoita UDP de destino ao servidor proxy de confianza.

Comprobar a conexión

Conéctate desde fóra da rede local do servidor cun cliente Raknetify2 actualizado usando un enderezo como raknet;play.example.com:25565. Indica nela o porto UDP público.

Comproba a ruta cunha conexión RakNet real. Un escaneo UDP que non recibe resposta pode dar un resultado indeterminado, xa que un servizo operativo pode descartar unha sonda que non recoñece. A documentación de Nmap sobre escaneo UDP explica este comportamento.

Unha conexión TCP correcta só confirma que funciona a ruta TCP. Se se esgota o tempo de espera de RakNet, comproba o porto de escoita, o destino da reenderezo, o porto UDP e as regras da devasa coa guía de solución de problemas.

Compatibilidade

Comproba a compatibilidade da versión concreta que descargues. A rama de desenvolvemento pode incluír funcións que aínda non forman parte de ningunha versión publicada.

Versións de Minecraft e de Java

Versións de Minecraft e de Java · English

A versión de Java que indica Raknetify2 é o mínimo que necesita o mod. Minecraft ou o cargador poden requirir unha versión máis recente. Elixe unha versión de Java que cumpra os tres requisitos.

Versións do cliente e do servidor

Sempre que poidas, usa a mesma versión de Raknetify2 no cliente e no servidor ou servidor proxy que recibe a conexión. Consulta as notas da versión antes de combinar versións distintas. Para cifrar unha conexión RakNet, ambos os extremos deben admitir o protocolo de cifrado autenticado. O Raknetify orixinal e as versións de Raknetify2 anteriores á introdución dese protocolo non poden establecer estas conexións cifradas con instalacións actualizadas.

Raknetify2 transporta o protocolo de xogo de Minecraft. Para conectar versións distintas de Minecraft fai falta un sistema compatible de tradución de protocolos.

Outros mods

Outros mods · English

Se tes problemas nun paquete de mods máis grande, segue a guía de solución de problemas. Indica no informe as versións exactas de todos os mods.

Modo ordenado

Modo ordenado

Normalmente as canles de paquetes de Raknetify2 son independentes: cando unha canle espera datos perdidos, as demais poden seguir avanzando. En modo ordenado todos os paquetes de Minecraft viaxan por unha única canle. Se se perde un paquete, todos os posteriores que viaxan no mesmo sentido esperan a que se retransmita. Isto mantén a orde que esperan algúns sistemas antitrampas, á conta de que o tráfico de xogo non relacionado tamén teña que esperar.

Activar o modo ordenado

  1. Instala unha versión de Raknetify2 que admita o modo ordenado no servidor ou servidor proxy que acepta as conexións RakNet e en cada cliente RakNet.

  2. No directorio de traballo dese servidor ou servidor proxy, crea o ficheiro config/raknetify2-compatibility.json. Se o directorio config non existe, créao.

  3. Engade este contido:

    {"mode": "ordered"}
  4. Reinicia o servidor ou o servidor proxy.

Os clientes adoptan o axuste do servidor automaticamente. Os xogadores non necesitan crear un ficheiro de configuración nin cambiar o enderezo RakNet do servidor.

Todos os paquetes de Minecraft, incluídos os delimitadores de grupos de paquetes e os cambios de mundo, usan unha única canle fiable e ordenado en cada sentido.

Instalacións con servidor proxy

Se os xogadores se conectan a través de Velocity ou BungeeCord, configura o modo ordenado nese servidor proxy, aínda que o sistema antitrampas se execute nun servidor de xogo.

O axuste segue aplicándose ao cambiar de servidor de xogo. En modo ordenado, o servidor proxy reenvía as solicitudes de mantemento de conexión do servidor de xogo ao cliente do xogador en lugar de respondelas el mesmo.

Comprobar o axuste

Na primeira conexión RakNet, a consola mostra:

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

Se ambos os extremos negocian correctamente o modo de compatibilidade, no rexistro tamén aparece ordered compatibility negotiated, seguido do enderezo do outro extremo.

Mantén activados os controis antitrampas e proba a túa propia configuración.

Clientes antigos

Os clientes RakNet que non admiten o modo ordenado non poden conectarse a un servidor que o esixa. Actualiza Raknetify2 neses clientes ou conéctate ao enderezo e o porto TCP habituais do servidor ou do servidor proxy sen o prefixo raknet;.

Volver ao modo multicanle

Substitúe o contido do ficheiro por:

{"mode": "multichannel"}

Despois, reinicia o servidor ou o servidor proxy. Tamén podes eliminar o ficheiro e reiniciar para restablecer o modo multicanle.

Problemas de configuración

O ficheiro debe conter un único axuste chamado mode, co valor "ordered" ou "multichannel". Os valores distinguen entre maiúsculas e minúsculas.

Se a configuración non é válida ou non se pode ler, rexéitanse as conexións RakNet. Corrixe o ficheiro e reinicia o proceso.

Se a consola segue indicando multichannel, comproba que o ficheiro estea baixo o directorio de traballo do servidor ou servidor proxy que recibe a conexión RakNet. Despois, reinicia ese proceso.

Transferencias automáticas

Os servidores Fabric, Forge e NeoForge poden elixir RakNet ao transferir un cliente compatible a un destino configurado. Para iso utilizan as transferencias que Minecraft incorpora desde Java Edition 1.20.5. Comproba que a túa versión de Raknetify2 sexa compatible coa versión de Minecraft e o cargador de cada extremo.

Instala Raknetify2 no servidor que envía a transferencia e no cliente. O destino debe escoitar conexións RakNet compatibles e aceptar transferencias entrantes de Minecraft.

Esta configuración aplícase ás transferencias que envían o tres cargadores anteriores. Os complementos de Spigot/Paper, Velocity e BungeeCord non len este ficheiro de transferencias.

Configurar o servidor de orixe

No directorio do servidor de orixe, crea o ficheiro config/raknetify2-transfers.json:

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

Substitúe o nome de máquina e os portos do exemplo polos do teu destino. Despois, reinicia o servidor de orixe. Se tes máis destinos, engádeos á mesma lista.

Campo Significado
host Nome de máquina ou enderezo IP de destino, sen prefixo de transporte nin porto
tcpPort Porto de destino da solicitude de transferencia orixinal
udpPort Porto RakNet público ao que debe conectarse o cliente transferido

Os números de porto TCP e UDP poden coincidir. Si un encamiñador cambia o número de porto UDP, indica o porto público neste ficheiro. Escribe os portos como números JSON.

Envía as solicitudes de transferencia ao nome de máquina e ao porto TCP habituais do destino. Raknetify2 comproba se o cliente anuncia que admite transferencias automáticas. Se as admite e o destino coincide cunha entrada, selecciona o porto UDP configurado. Para os demais clientes ou destinos, consérvase o enderezo de transferencia orixinal.

A comparación utiliza o nome de máquina e o porto TCP da solicitude. Ao comparar nomes de máquina, ignóranse as diferenzas entre maiúsculas e minúsculas e o punto DNS final. Tamén se normalizan as formas equivalentes de escribir un enderezo IPv6. Non se realizan consultas DNS. Dous nomes que se resolven á mesmo enderezo necesitan entradas independentes. Non se admiten comodíns.

Configurar o destino

Se o destino usa o ficheiro server.properties de Minecraft, establece accepts-transfers=true e reiníciao. Se é un servidor proxy, pode ter un axuste de transferencias propio. De forma predeterminada Minecraft rexeita as transferencias entrantes aínda que se poida entrar directamente no servidor.

O porto de escoita RakNet do destino, a reenderezo UDP pública e a devasa da máquina deben estar configurados de antemán. O ficheiro de transferencias do servidor de orixe determina que enderezo envíase ao cliente.

Se o nome de máquina do destino publico enderezos IPv4 e IPv6, comproba ambas as rutas. Antes de investigar problemas coa transferencia automática, proba unha conexión RakNet directa ao destino.

Mantén os controis de acceso e inicio de sesión do destino. Esta configuración non dá acceso aos xogadores nin substitúe a autenticación do servidor.

Erros de configuración e desactivación

Se falta un campo, hai campos descoñecidos, portos non válidos ou destinos duplicados, prodúcese un erro de configuración ao iniciarse o servidor. Consulta o rexistro para identificar o erro, corrixe o JSON e reinicia.

Para desactivar a selección automática, elimina o ficheiro de configuración ou usa {"destinations": []}. Despois, reinicia o servidor de orixe. As súas solicitudes de transferencia conservarán os enderezos orixinais.

Reenvío UDP e protocolo PROXY

Un servidor proxy UDP pode reenviar o tráfico RakNet e conservar o enderezo orixinal do cliente mediante o protocolo PROXY v2. Activa esta función se un servidor proxy UDP situado antes do teu servidor envía esas cabeceiras ao porto de escoita. Para unha reenderezo de portos normal no encamiñador non fai falta activala.

No servidor ou servidor proxy Minecraft que recibe o tráfico UDP reenviado, crea o ficheiro config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Substitúe o exemplo polo enderezo IP de orixe real do servidor proxy UDP ou por un intervalo CIDR que controles. O enderezo debe coincidir coa que ve o servizo receptor despois de calquera NAT intermedio. Admítense enderezos IPv4 e IPv6 escritas directamente. Os nomes de máquina DNS rexéitanse. Reinicia o servidor ou servidor proxy receptor.

Configura o servidor proxy que reenvía o tráfico para que envíe cabeceiras do protocolo PROXY v2 para UDP. Raknetify2 só acepto enderezos de clientes transmitidas polas orixes da lista. Mentres esta configuración estea activa, rexéitanse as conexións RakNet directas que non inclúan esas cabeceiras. A configuración de escoita TCP consérvase.

Confianza e control de acceso

Cada servidor proxy da lista está autorizado a indicar os enderezos dos clientes. Restrinxe o acceso ao porto UDP de destino na súa devasa para que só poida chegar o servidor proxy previsto. Limita os intervalos de enderezos de confianza tanto como permita a túa rede.

O ficheiro debe conter unicamente trustedProxies con polo menos unha entrada. Unha lista baleira produce un erro. Se o ficheiro non é válido, RakNet non pode abrir o seu porto de escoita.

Para volver ás conexións UDP directas, elimina o ficheiro e reinicia o servizo de escoita. Actualiza tamén o reenvío do servidor proxy anterior e as regras da devasa para a nova ruta.

Se as conexións fallan despois de activar esta función, comproba o enderezo de orixe real do servidor proxy tal como vea o servidor de destino, o intervalo de confianza configurado e se o servidor proxy envía cabeceiras PROXY v2 para UDP.

Para instalar un servidor proxy Minecraft e configurar os servidores de xogo, consulta Velocity e BungeeCord.

Simple Voice Chat

Raknetify2 pode compartir o seu porto de escoita UDP con Simple Voice Chat en servidores Fabric, Forge, NeoForge, Spigot e Paper.

Instala Simple Voice Chat no servidor e nos clientes que vaian usar o chat de voz. Para o resto de axústelos, consulta a súa guía de configuración do servidor.

Coloca o ficheiro de Raknetify2 no directorio config situado na raíz do servidor, tamén en Spigot/Paper. O ficheiro de Simple Voice Chat permanece na localización que corresponda á túa plataforma, como se indica a continuación.

Compartir o porto de xogo

  1. No directorio do servidor, crea o ficheiro config/raknetify2-voicechat.json con este contido:

    {"enabled": true}
  2. Establece port=-1 na configuración de servidor de Simple Voice Chat. En servidores con mods, o ficheiro é config/voicechat/voicechat-server.properties. En Spigot/Paper é plugins/voicechat/voicechat-server.properties.

  3. Deixa baleiro bind_address se hai un único servizo de escoita RakNet que coincida. Se o servidor escoita en varios enderezos nese porto UDP, indica o enderezo local que queres compartir.

  4. Reinicia o servidor e executa /voicechat test <PLAYERNAME> para un xogador conectado.

Se RakNet escoita nun porto distinto do de Minecraft, indica ese porto UDP local no axuste de voz port en lugar de usar -1. Por exemplo, se RakNet escoita no porto UDP local 25570, usa port=25570.

Configura voice_host cando o cliente necesite un enderezo ou un porto público distinto. Se o encamiñador redirixe o porto UDP público 25580 ao porto UDP local 25570, usa port=25570 e voice_host=play.example.com:25580. O enderezo público vai en voice_host. O axuste bind_address selecciona o enderezo local de escoita.

Raknetify2 proporciona o sócket UDP compartido mediante a API de Simple Voice Chat. Simple Voice Chat ocúpase da autenticación e o cifrado da voz. Os xogadores poden usar o chat de voz tanto se xogan a través de TCP coma se o fan a través de RakNet.

Outros servizos UDP e servidores proxy

Reserva portos UDP distintos para Query e Geyser. A integración de sócket compartido só admite Simple Voice Chat.

A integración non comparte o sócket do servidor proxy de voz en Velocity nin en BungeeCord. Segue a guía de configuración do servidor proxy de Simple Voice Chat e asigna ao servidor proxy de voz o seu propio porto UDP. Co complemento oficial do servidor proxy de voz, calquera valor público de voice_host que queiras fixar debe ir na configuración de voz do servidor proxy. O complemento ignora axústelos de voice_host dos servidores de xogo.

Se utilizas un túnel UDP xenérico, indica en voice_host o nome de máquina e o porto UDP públicos que conducen a este servidor.

Desactivar o uso compartido ou resolver un conflito de sóckets

Se o rexistro mostra No RakNet listener matches the voice bind address and port, comproba que RakNet arrinque correctamente e que o porto e o enderezo de escoita do servizo de voz coincidan cos de RakNet nesa máquina.

Se aparece Multiple RakNet listeners match the voice bind address, selecciona unha dos enderezos locais coincidentes en bind_address e reinicia.

Só un complemento de Simple Voice Chat pode proporcionar o sócket UDP. Si ao arrincar indícase que outro complemento xa o proporciona, elixe cal das dúas integracións queres usar.

Para desactivar a integración de Raknetify2, establece {"enabled": false} no seu ficheiro de configuración de voz ou elimina o ficheiro. Asigna a Simple Voice Chat outro porto UDP, actualiza as regras da devasa ou de reenderezo e reinicia o servidor.

Solución de problemas

TCP funciona, pero se esgota o tempo de espera de RakNet

Comproba estes puntos en orde:

  1. O cliente ten o mod Raknetify2 axeitado para o seu cargador e a súa versión de Minecraft.
  2. Raknetify2 está instalado no servidor ou servidor proxy que acepta a conexión e iniciouse sen erros ao abrir o porto de escoita.
  3. O enderezo empeza por raknet; e usa o porto UDP público.
  4. O provedor de aloxamento, o encamiñador e a devasa da máquina permiten UDP nese porto.
  5. Os enderezos IPv4 e IPv6 do nome de máquina apuntan á máquina prevista e as súas regras de devasas permiten o acceso.

Unha conexión TCP correcta só confirma que funciona a ruta TCP. Consulta a configuración da devasa e do encamiñador para comprobar a reenderezo UDP e o acceso IPv6. Se está activado o protocolo PROXY, os clientes deben chegar ao porto de escoita a través dun servidor proxy configurado como de confianza.

Enderezo en uso

Comproba si outro proceso usa o porto UDP. Query, Geyser e os demais servizos UDP necesitan os seus propios portos. Simple Voice Chat admite o uso compartido do porto.

Podes elixir outro porto UDP local na configuración de escoita do servidor directo ou na configuración de Velocity e BungeeCord. Comproba que versión de Spigot/Paper require este axuste. Cambiar unicamente o porto público do encamiñador non resolve un conflito de sóckets na máquina.

Pódese entrar directamente, pero as transferencias fallan

Conéctate directamente ao destino usando o seu enderezo co prefixo raknet;. Se a conexión falla, corrixe primeiro o servizo de escoita de destino ou a ruta de rede.

Se as conexións directas funcionan, comproba que o destino acepte transferencias entrantes. Un servidor Minecraft que utiliza server.properties necesita o axuste accepts-transfers=true. Unha conexión directa non pon a proba ese axuste.

Despois compara o nome de máquina e o porto TCP da transferencia cos de config/raknetify2-transfers.json no servidor de orixe. Comproba que o ficheiro se cargase tras reiniciar e que o cliente admita transferencias RakNet automáticas. Consulta Transferencias automáticas.

Erros de cifrado ou de protocolo

Comproba as versións de Raknetify2 en ambos os extremos da conexión. Cando unha versión cambie o protocolo cifrado, actualiza á vez o cliente e o servidor ou servidor proxy. Mantén a configuración de autenticación do servidor mentres investigas o problema.

Fallos relacionados cun mod

Anota que acción provoca o fallo, por exemplo abrir un inventario, recibir un paquete de recursos, cambiar de mundo ou xerar unha entidade. Cando sexa posible, repite a mesma acción nunha instalación de proba aparte e compara os resultados con TCP e RakNet.

Algunhas mensaxes personalizadas dependen da orde dos paquetes de Minecraft. Os autores de mods poden declarar estas dependencias mediante a interface de ordenación de paquetes.

Informar de erros

Abre unha incidencia no rexistro de incidencias de Raknetify2 e inclúe:

  • As versións de Minecraft, Java, o cargador de mods e Raknetify2 en ambos os extremos.
  • As versións do software do servidor e do servidor proxy, incluído calquera servidor proxy de reenvío UDP.
  • Os demais mods instalados e as súas versións.
  • Os pasos para reproducir o problema e o resultado que esperabas.
  • Se os mesmos pasos funcionan con TCP.
  • Extractos pertinentes dos rexistros do cliente, do servidor e do servidor proxy correspondentes ao mesmo intento.

Antes de subir os rexistros, elimina os testemuños de acceso, contrasinais e demais información privada. Conserva as mensaxes de excepción e as trazas da pila necesarios para diagnosticar o problema.

Integración con outros mods

Con Raknetify2, os mods poden indicar que paquetes de Minecraft deben conservar a súa orde con respecto ás súas mensaxes personalizadas. Utiliza esta función se para procesar unha mensaxe é necesario que paquetes anteriores creen unha entidade ou un chunk, preparado un inventario ou establecido algún outro estado do xogo.

Grupos de ordenación

Grupo Tráfico relacionado
ui Menús e interaccións independentes do mundo
entity Aparición, eliminación e movemento de entidades
world_interaction Inventarios e outras interaccións que dependen do mundo
effects Sons e partículas
chunk Actualizacións do terreo, os bloques e a iluminación

Cada grupo mantén unha entrega fiable e ordenada dentro da súa canle. Os paquetes de grupos diferentes poden chegar noutra orde relativa. Elixe o grupo que corresponda aos datos dos que dependa a túa mensaxe.

Integración opcional con Fabric

Declara un provedor no punto de entrada raknetify:packet_channels do ficheiro fabric.mod.json do teu mod. O provedor implementa Consumer<BiConsumer<String, String>> con tipos do JDK. Recibe unha función de rexistro que acepta o identificador dunha mensaxe personalizada e un grupo de ordenación.

Integra esta entrada nas túas metadatos actuais. Substitúe o nome da clase polo nome completo da clase do teu provedor, incluído o paquete:

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

Conserva o resto do ficheiro fabric.mod.json, incluídos os puntos de entrada existentes. O exemplo mostra só un fragmento dos metadatos.

Por exemplo, unha extensión que xestione o movemento de entidades pode rexistrar example:entity_path no grupo entity. A documentación da API PacketOrdering inclúe a implementación do provedor.

Si Raknetify2 non está instalado, Fabric non invoca este punto de entrada. Os provedores deben declarar os identificadores e os grupos durante a inicialización, sen depender de que outro mod xa termine de inicializarse.

Funcionamento do rexistro

Os mods de Forge e NeoForge e os complementos de servidor ou de servidor proxy poden chamar a PacketOrdering.register(identifier, group) durante a inicialización cando Raknetify2 estea dispoñible. A clase é com.ishland.raknetify.api.PacketOrdering. Rexistra as declaracións antes de aceptar conexións de xogadores. Se a integración é opcional, evita que o seu código cargue clases de Raknetify2 cando falte esa dependencia.

As declaracións aplícanse ás conexións novas. As conexións existentes conservan as regras que recibiron ao establecerse. Permítese repetir unha declaración idéntica. Non se pode asignar un mesmo identificador a grupos distintos.

Os identificadores de mensaxes deben usar un espazo de nomes personalizado válido. O espazo de nomes minecraft está reservado. O límite de cada extremo é de 128 declaracións en total, incluídas as regras integradas e os rexistros doutros mods. Os identificadores admiten até 255 caracteres ASCII e deben seguir a sintaxe de identificadores con espazo de nomes da API.

Os extremos RakNet actualizados intercambian as súas declaracións ao establecer a conexión. Se un servidor ou servidor proxy non ten unha regra local para unha mensaxe, pode usar a declaración do outro extremo. As regras locais teñen prioridade e as declaracións recibidas só aplícanse a esa conexión.

Servidores proxy UDP

Para os relés UDP e o reenvío de enderezos de clientes, consulta Reenvío UDP e protocolo PROXY.

Para configurar un servidor proxy de Minecraft, consulta Velocity e BungeeCord.

English (US)

Clone this wiki locally