Skip to content

Wiki es es

pjscruggs edited this page Nov 11, 2026 · 1 revision

Raknetify2 · Español (España)

Idioma

Multijugador

Conexiones de red mediante RakNet para clientes y servidores de Minecraft.

Descargar · 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

Añadir servidor

  1. Multijugador

  2. Añadir servidor

  3. IP del servidor

    IP del servidor
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Hecho

  5. Entrar al 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 puerto · 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

Tiempo de espera agotado

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

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

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"] ✗
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 Opciones
entity Esqueleto
world_interaction Inventario
effects Partículas
chunk Bloques

PacketOrdering.java

¡Versión incompatible!

Informar de error

Inicio

Raknetify2

Raknetify2 usa RakNet sobre UDP en el multijugador de Minecraft. Distribuye el tráfico entre varios canales, cada uno con su propio orden de entrega. Si se pierde un paquete en un canal, los demás pueden seguir transmitiendo. Así, las interacciones en el juego pueden seguir respondiendo con normalidad mientras se recuperan los datos perdidos o se transfieren chunks.

Raknetify2 es una bifurcación de Raknetify, creado por ishland, y se mantiene de forma independiente. Añade compatibilidad con versiones más recientes de Minecraft y se encarga del transporte de red, la integración con las distintas plataformas y las pruebas de compatibilidad.

Primeros pasos

  1. Comprueba la compatibilidad de Minecraft y de los mods.
  2. Elige qué archivo descargar e instálalo.
  3. Conéctate con una dirección como raknet;play.example.com.

Guías para servidores

Los autores de mods pueden usar la interfaz de ordenación de paquetes para declarar qué relaciones de orden deben respetarse entre sus mensajes personalizados y el tráfico de Minecraft.

Enlaces del proyecto

Raknetify2 se distribuye bajo la licencia MIT y conserva los avisos de derechos de autor originales. Su implementación de red se basa en Raknetify y en netty-raknet.

Instalación

Descarga una versión desde la página de versiones en GitHub. Antes de instalarla, comprueba qué versión de Minecraft y qué cargador de mods requiere.

Tipo de instalación Archivo Carpeta
Cliente o servidor Fabric raknetify2-fabric-*.jar mods
Cliente o servidor Forge raknetify2-forge-*.jar mods
Cliente o servidor NeoForge raknetify2-neoforge-*.jar mods
Servidor Spigot o Paper raknetify2-spigot-*.jar plugins
Proxy Velocity raknetify2-velocity-*.jar plugins
Proxy BungeeCord raknetify2-bungee-*.jar plugins

Cierra el cliente o detén el servidor antes de sustituir su JAR. Retira de esa instalación el JAR del Raknetify original y cualquier JAR anterior de Raknetify2 antes de añadir el nuevo.

En el cliente, usa las carpetas de la instancia de Minecraft o del paquete de mods que vayas a iniciar. En el servidor o el proxy, usa las carpetas de la instalación correspondiente. Si el cargador aún no ha creado la carpeta que necesitas, créala.

Conexión directa a un servidor

  1. Instala el mod de cliente correspondiente a tu cargador de mods.
  2. Instala el mod de servidor correspondiente o, si tienes un servidor compatible, el plugin de Spigot/Paper.
  3. Sigue la guía de configuración del cortafuegos y del router para permitir las conexiones UDP al servidor.
  4. Reinicia el cliente y el servidor.
  5. Selecciona «Añadir servidor» e introduce una dirección como raknet;play.example.com o raknet;play.example.com:25565.

Las direcciones sin el prefijo raknet; usan TCP.

Si solo instalas el mod en tu cliente, el servidor remoto no adquiere compatibilidad con RakNet. Su administrador tiene que habilitar un punto de acceso RakNet. Para entrar en el servidor de otra persona normalmente no hace falta redirigir puertos de entrada en tu router.

Velocity y BungeeCord

Instala el plugin correspondiente en el proxy y el mod en el cliente. Consulta Velocity y BungeeCord para configurar la escucha, el reenvío de información a los servidores de juego, las restricciones de acceso y la dirección que deben usar los jugadores.

Usar un puerto de escucha UDP distinto

Si los jugadores se conectan directamente al servidor Minecraft, utiliza el argumento de Java que corresponda en la tabla. Si administras un proxy, consulta la configuración de escucha de Velocity y BungeeCord.

Plataforma Argumento de Java Puertos admitidos
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 y NeoForge comparten el código de escucha con Fabric, por lo que el nombre de su propiedad también contiene fabric. Sustituye 25570 por el puerto UDP que quieras usar.

Spigot / Paper ≥ 0.1.0-beta.1.431

Añade el argumento antes de -jar en el comando de Java o en el campo de argumentos de la JVM de tu proveedor de alojamiento. Reinicia el servidor y permite UDP en el puerto de escucha elegido. Si el puerto público también es 25570, conéctate a raknet;play.example.com:25570. Si un router cambia el número de puerto, indica el puerto público en la dirección que usas en el cliente. El puerto TCP conserva su valor.

En Spigot/Paper, RakNet escucha en UDP en la misma dirección local que Minecraft en TCP. Si el puerto indicado no es válido o el puerto UDP está ocupado, RakNet no se inicia. Consulta en el registro de arranque en qué dirección y puerto escucha UDP. Para volver a usar el número de puerto TCP, quita el argumento y reinicia el servidor.

Un router o un proxy UDP también puede exponer un puerto UDP público distinto y redirigirlo al puerto de escucha existente sin modificar los argumentos de Java del servidor.

Versiones de desarrollo

En GitHub Actions, abre una ejecución de main que haya terminado correctamente y descarga el archivo del apartado Artifacts. GitHub exige una cuenta para descargar estos archivos. Utiliza la tabla de instalación anterior para identificar el JAR que necesitas.

Velocity y BungeeCord

Velocity y BungeeCord actúan como intermediarios entre los jugadores y los servidores de juego de Minecraft. Instala Raknetify2 en el proxy y en cada cliente que vaya a conectarse mediante RakNet.

Cliente Raknetify2 --UDP--> Velocity o BungeeCord --TCP--> servidor de juego

Para esta modalidad de conexión, los servidores de juego pueden funcionar sin Raknetify2. Siguen necesitando los mods, plugins y mecanismos de reenvío que requiera tu red. Raknetify2 no traduce entre versiones de Minecraft ni cambia la autenticación de cuentas del proxy.

Instalar el plugin en el proxy

  1. Comprueba que las conexiones TCP normales a través del proxy funcionan, incluida la autenticación y el cambio entre servidores de juego.
  2. Detén el proxy y descarga el plugin correspondiente desde la página de versiones en GitHub.
  3. Coloca raknetify2-velocity-*-all.jar o raknetify2-bungee-*-all.jar en la carpeta plugins del proxy. Retira de esa carpeta cualquier versión anterior del plugin Raknetify o Raknetify2.
  4. Instala el mod de Raknetify2 adecuado para el cliente según la guía de instalación.
  5. Revisa la configuración de escucha que se describe a continuación. Reinicia el proxy y comprueba en su registro si RakNet ha tenido problemas al abrir el puerto de escucha.
  6. Permite el tráfico UDP público hacia el proxy y restringe el acceso a los puertos de los servidores de juego según la guía de configuración del cortafuegos y del router.

Utiliza versiones compatibles de Raknetify2 en el cliente y en el proxy. Consulta Compatibilidad antes de combinar versiones distintas.

Velocity

En velocity.toml, el ajuste bind determina la dirección y el puerto TCP en los que Velocity escucha conexiones de Minecraft. Normalmente Raknetify2 usa ese mismo número de puerto en UDP. Las entradas de [servers] identifican los servidores de juego. Deja en ellas las direcciones TCP de esos servidores. Consulta la referencia de configuración de Velocity.

Para usar un puerto UDP distinto, añade este argumento de la JVM antes de -jar en el comando de inicio de Velocity:

-Draknetify.velocity.portOverride=25570

Sustituye 25570 por el puerto elegido. Así cambias el puerto UDP de RakNet sin modificar el puerto TCP de Velocity ni las direcciones de los servidores de juego. Reinicia Velocity después de modificar el argumento.

Configura el reenvío de información de los jugadores tanto en Velocity como en sus servidores de juego. Si el software del servidor de juego admite el modo de reenvío moderno, úsalo y mantén en secreto la clave de reenvío. Sigue las instrucciones para tu servidor en la guía de reenvío de información de los jugadores de Velocity. Mantén además las restricciones del cortafuegos en los servidores de juego.

BungeeCord

En el archivo config.yml de BungeeCord, el valor de host en cada entrada de listeners define una dirección y un puerto TCP de escucha para Minecraft. Raknetify2 suele añadir UDP en ese mismo número de puerto. En servers figuran las direcciones TCP de los servidores de juego. Consulta la guía de configuración de BungeeCord.

Para usar un puerto UDP distinto, añade este argumento de la JVM antes de -jar en el comando de inicio de BungeeCord:

-Draknetify.bungee.portOverride=25570

El ajuste afecta a todo el proceso del proxy. Si Minecraft escucha en varias direcciones, comprueba en el registro de arranque cuáles son las direcciones y los puertos reales de RakNet antes de añadir reglas al cortafuegos. Reinicia BungeeCord tras cambiar el argumento.

Mantén la autenticación de cuentas en el proxy. Para los servidores de juego Spigot, la guía de reenvío de direcciones IP de BungeeCord combina ip_forward: true en el proxy con settings.bungeecord: true en el servidor de juego. El reenvío por sí solo no impide que alguien se conecte directamente al servidor de juego. Restringe el acceso según las instrucciones del cortafuegos.

Elegir la dirección que usarán los jugadores

Ambos proxys admiten puertos de 1 a 65534 en este ajuste. Los valores no válidos se ignoran, así que comprueba en el registro de arranque qué puerto UDP se ha abierto. Para volver a usar el número de puerto de escucha de Minecraft, quita el argumento y reinicia el proxy.

Los jugadores se conectan al nombre de host público y al puerto UDP del proxy, por ejemplo raknet;play.example.com:25570. Si un router cambia el número de puerto, usa su puerto UDP público en la dirección del cliente. Las direcciones sin el prefijo raknet; siguen usando el puerto de escucha TCP del proxy.

Asigna puertos UDP distintos a Query, Geyser y los demás servicios UDP. Cambiar un puerto TCP no resuelve un conflicto entre sockets UDP.

Simple Voice Chat y otros relés UDP

Simple Voice Chat usa su propio plugin de proxy y su propio puerto UDP en Velocity y BungeeCord. Consulta la guía de Simple Voice Chat para proxys para configurarlos.

Si hay un relé UDP delante del proxy Minecraft que envía cabeceras del protocolo PROXY v2, configura Raknetify2 según la guía de reenvío UDP y protocolo PROXY. Instalar Velocity o BungeeCord sin ese relé no requiere esta configuración.

Comprobar la conexión

Haz una prueba desde fuera de tu red local con un cliente Raknetify2. Entra a través del proxy, cambia entre los servidores de juego que uses y verifica que se conservan la identidad y los permisos del jugador.

  • Si TCP funciona a través del proxy pero se agota el tiempo de espera de RakNet, comprueba el puerto de escucha UDP del proxy, el puerto público, las rutas IPv4 e IPv6 y las reglas del cortafuegos.
  • Si ambos transportes fallan cuando el proxy se conecta a un servidor de juego, comprueba la dirección TCP, las reglas de acceso y la configuración de reenvío de información de los jugadores en ese servidor.
  • Si el proxy indica que el puerto UDP está ocupado, comprueba si lo usa Query, Geyser, un proxy de voz u otro proceso.

Al informar de un problema, incluye registros del proxy y del servidor de juego que correspondan al mismo intento de conexión. En Solución de problemas se indican las versiones que debes especificar.

Configuración del cortafuegos y del router

Esta guía va dirigida a quienes administran servidores. Raknetify2 necesita una ruta UDP operativa hasta el servidor o proxy que acepte las conexiones RakNet. De forma predeterminada usa el mismo número de puerto que Minecraft en TCP.

Si los jugadores están en la misma red local, usa la dirección local del servidor y permite UDP en el cortafuegos de esa máquina. Necesitas redirigir puertos en el router cuando el tráfico de Internet tiene que atravesar su NAT IPv4.

Elegir el destino y el puerto

Servidor directo

Dirige el tráfico UDP público a la máquina que ejecuta el servidor Minecraft con Raknetify2. Usa como destino el puerto de escucha UDP de RakNet en ese servidor y permítelo en el cortafuegos de la máquina. Conserva la ruta TCP existente para las conexiones normales de Minecraft.

Por ejemplo, si Raknetify2 escucha en el puerto UDP 25570, redirige el puerto UDP público a la dirección local del servidor en el puerto 25570. El puerto TCP del servidor puede seguir siendo 25565. Para elegir otro puerto UDP, consulta la configuración de escucha del servidor directo.

Velocity o BungeeCord

Dirige el tráfico UDP público a la máquina que ejecuta Velocity o BungeeCord con el plugin Raknetify2. Utiliza como destino de la redirección el puerto de escucha UDP de RakNet en el proxy. Conserva la ruta TCP pública que ya usa el proxy para las conexiones normales de Minecraft.

El proxy se conecta a los servidores de juego Minecraft mediante TCP. Instalar Raknetify2 en el proxy no requiere abrir a los jugadores los puertos UDP de los servidores de juego.

Conexión Acceso que se debe permitir
De los jugadores al proxy UDP público al puerto de escucha de RakNet, además del puerto de escucha TCP público existente
Del proxy a los servidores de juego Puertos TCP de Minecraft de los servidores de juego, accesibles únicamente desde las máquinas que ejecutan los proxys previstos
De los jugadores directamente a los puertos de los servidores de juego Mantener bloqueado este acceso, también por IPv6

Si el proxy y los servidores de juego se ejecutan directamente en una máquina dedicada que administras, puedes hacer que los servidores de juego escuchen en direcciones de bucle local y configurar el proxy para que se conecte a ellas. Si están en máquinas distintas, utiliza un cortafuegos o una red privada aislada para que solo los proxys puedan acceder por TCP a los servidores de juego. Los contenedores y los alojamientos gestionados necesitan restricciones equivalentes adaptadas a su red. Consulta la guía de seguridad de los servidores de juego de Velocity y la guía del cortafuegos de BungeeCord.

El reenvío de información de los jugadores y el cortafuegos se complementan. Si se puede acceder directamente al servidor de juego, es posible saltarse los controles de inicio de sesión del proxy. Para instalar el plugin, configurar el reenvío o cambiar el puerto UDP, consulta Velocity y BungeeCord.

Números de puerto públicos y locales

Si el router traduce los puertos, el puerto público puede ser distinto del puerto de escucha:

Ajuste Puerto que se debe usar
Dirección del servidor introducida en el cliente Puerto UDP público
Puerto externo de la regla de redirección del router Puerto UDP público
Puerto interno de la regla de redirección del router Puerto de escucha UDP de RakNet
Puerto local en el cortafuegos de la máquina Puerto de escucha UDP de RakNet

Redirección de puertos IPv4

Para alojar un servidor detrás de un router IPv4:

  1. Averigua la dirección IPv4 local de la máquina que acepta las conexiones RakNet. Usa una reserva DHCP o una dirección estática adecuada para que la regla de redirección siga apuntando a esa máquina.
  2. Añade una regla de redirección UDP para el puerto público que usarán los jugadores.
  3. En el destino de la regla, indica la dirección local de esa máquina y el puerto de escucha UDP de RakNet.
  4. En el cortafuegos de la máquina, permite el tráfico UDP entrante en el puerto de escucha.

Por ejemplo, si el servidor escucha en el puerto UDP 25565, la regla puede usar el puerto público 25565, la dirección de destino 192.168.1.100 y el puerto de destino 25565. Sustituye la dirección de ejemplo por la dirección local real de tu servidor.

Conserva la regla TCP existente para las conexiones normales de Minecraft. Una regla que solo redirige TCP no transmite UDP.

Si la redirección sigue sin funcionar

Comprueba si otro router o tu proveedor de Internet hace NAT antes de que el tráfico llegue a tu router. Si administras dos routers en serie, configura la redirección en ambos. Si tu proveedor usa NAT compartido entre clientes (CGNAT), pregúntale si puede darte una dirección IPv4 pública o usa un alojamiento o túnel que admita UDP entrante. Las reglas de tu router no configuran el NAT del proveedor. La guía de redirección de puertos de TP-Link explica el requisito de una dirección pública en la interfaz WAN.

Reglas del cortafuegos IPv6

Permite el puerto UDP elegido tanto en el cortafuegos IPv6 del router como en el de la máquina. Usa como destino la dirección IPv6 de la máquina que acepta las conexiones RakNet.

Comprueba que la dirección IPv6 asociada al nombre de host apunta a esa máquina. Si su dirección IPv6 cambia, actualiza el registro DNS y cualquier regla del cortafuegos que especifique la dirección antigua.

Si un nombre de host publica direcciones IPv4 e IPv6, cada dirección anunciada necesita una ruta que funcione. Si un jugador consigue entrar y otro no, comprueba las reglas de ambos protocolos.

Si la redirección IPv4 cambia el número de puerto, asegúrate de que el puerto introducido por los jugadores también llega al servicio que escucha en IPv6. La traducción de puertos IPv4 no configura la ruta IPv6.

Proveedores de alojamiento y túneles

El proveedor o el túnel tiene que admitir UDP en la dirección y el puerto públicos que comuniques a los jugadores. Comprueba los puertos asignados y las reglas de su cortafuegos de red, además del cortafuegos del servidor.

Si un proxy UDP adicional reenvía las direcciones de los clientes mediante el protocolo PROXY v2, sigue la guía de reenvío UDP y protocolo PROXY y limita el acceso al puerto de escucha UDP de destino al proxy de confianza.

Comprobar la conexión

Conéctate desde fuera de la red local del servidor con un cliente Raknetify2 actualizado usando una dirección como raknet;play.example.com:25565. Indica en ella el puerto UDP público.

Comprueba la ruta con una conexión RakNet real. Un escaneo UDP que no recibe respuesta puede dar un resultado indeterminado, ya que un servicio operativo puede descartar una sonda que no reconoce. La documentación de Nmap sobre escaneo UDP explica este comportamiento.

Una conexión TCP correcta solo confirma que funciona la ruta TCP. Si se agota el tiempo de espera de RakNet, comprueba el puerto de escucha, el destino de la redirección, el puerto UDP y las reglas del cortafuegos con la guía de solución de problemas.

Compatibilidad

Comprueba la compatibilidad de la versión concreta que descargues. La rama de desarrollo puede incluir funciones que todavía no forman parte de ninguna versión publicada.

Versiones de Minecraft y de Java

Para Fabric, descarga el archivo compatibility.json de la misma versión que el JAR. Busca tu versión de Minecraft en gameVersions y comprueba los requisitos de depends en la entrada correspondiente de runtimes. Este archivo JSON sirve de referencia y no hace falta colocarlo en la carpeta mods.

Para Forge, NeoForge y Spigot/Paper, consulta los requisitos declarados por el archivo distribuido y los que aparecen en su página de descarga. Que un cargador sea compatible no garantiza que lo sea otro.

La versión de Java que indica Raknetify2 es el mínimo que necesita el mod. Minecraft o el cargador pueden requerir una versión más reciente. Elige una versión de Java que cumpla los tres requisitos.

Versiones del cliente y del servidor

Siempre que puedas, usa la misma versión de Raknetify2 en el cliente y en el servidor o proxy que recibe la conexión. Consulta las notas de la versión antes de combinar versiones distintas. Para cifrar una conexión RakNet, ambos extremos deben admitir el protocolo de cifrado autenticado. El Raknetify original y las versiones de Raknetify2 anteriores a la introducción de ese protocolo no pueden establecer estas conexiones cifradas con instalaciones actualizadas.

Raknetify2 transporta el protocolo de juego de Minecraft. Para conectar versiones distintas de Minecraft hace falta un sistema compatible de traducción de protocolos.

Otros mods

El flujo de compilación incluye pruebas de compatibilidad con Polymer, Krypton, PacketFixer y Fast IP Ping. Las pruebas cubren las versiones y combinaciones seleccionadas en ese flujo. Para investigar una combinación concreta, consulta los resultados de compilación asociados a la versión que te interese.

Si tienes problemas en un paquete de mods más grande, sigue la guía de solución de problemas. Indica en el informe las versiones exactas de todos los mods.

Modo ordenado

Modo ordenado

Normalmente los canales de paquetes de Raknetify2 son independientes: cuando un canal espera datos perdidos, los demás pueden seguir avanzando. En modo ordenado todos los paquetes de Minecraft viajan por un único canal. Si se pierde un paquete, todos los posteriores que viajan en el mismo sentido esperan a que se retransmita. Esto mantiene el orden que esperan algunos sistemas antitrampas, a costa de que el tráfico de juego no relacionado también tenga que esperar.

Activar el modo ordenado

  1. Instala una versión de Raknetify2 que admita el modo ordenado en el servidor o proxy que acepta las conexiones RakNet y en cada cliente RakNet.

  2. En el directorio de trabajo de ese servidor o proxy, crea el archivo config/raknetify2-compatibility.json. Si el directorio config no existe, créalo.

  3. Añade este contenido:

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

Los clientes adoptan el ajuste del servidor automáticamente. Los jugadores no necesitan crear un archivo de configuración ni cambiar la dirección RakNet del servidor.

Todos los paquetes de Minecraft, incluidos los delimitadores de grupos de paquetes y los cambios de mundo, usan un único canal fiable y ordenado en cada sentido.

Instalaciones con proxy

Si los jugadores se conectan a través de Velocity o BungeeCord, configura el modo ordenado en ese proxy, aunque el sistema antitrampas se ejecute en un servidor de juego.

El ajuste sigue aplicándose al cambiar de servidor de juego. En modo ordenado, el proxy reenvía las solicitudes de mantenimiento de conexión del servidor de juego al cliente del jugador en lugar de responderlas él mismo.

Comprobar el ajuste

En la primera conexión RakNet, la consola muestra:

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

Si ambos extremos negocian correctamente el modo de compatibilidad, en el registro también aparece ordered compatibility negotiated, seguido de la dirección del otro extremo.

Mantén activados los controles antitrampas y prueba tu propia configuración.

Clientes antiguos

Los clientes RakNet que no admiten el modo ordenado no pueden conectarse a un servidor que lo exija. Actualiza Raknetify2 en esos clientes o conéctate a la dirección y el puerto TCP habituales del servidor o del proxy sin el prefijo raknet;.

Volver al modo multicanal

Sustituye el contenido del archivo por:

{"mode": "multichannel"}

Después, reinicia el servidor o el proxy. También puedes eliminar el archivo y reiniciar para restablecer el modo multicanal.

Problemas de configuración

El archivo debe contener un único ajuste llamado mode, con el valor "ordered" o "multichannel". Los valores distinguen entre mayúsculas y minúsculas.

Si la configuración no es válida o no se puede leer, se rechazan las conexiones RakNet. Corrige el archivo y reinicia el proceso.

Si la consola sigue indicando multichannel, comprueba que el archivo esté bajo el directorio de trabajo del servidor o proxy que recibe la conexión RakNet. Después, reinicia ese proceso.

Transferencias automáticas

Los servidores Fabric, Forge y NeoForge pueden elegir RakNet al transferir un cliente compatible a un destino configurado. Para ello utilizan las transferencias que Minecraft incorpora desde Java Edition 1.20.5. Comprueba que tu versión de Raknetify2 sea compatible con la versión de Minecraft y el cargador de cada extremo.

Instala Raknetify2 en el servidor que envía la transferencia y en el cliente. El destino debe escuchar conexiones RakNet compatibles y aceptar transferencias entrantes de Minecraft.

Esta configuración se aplica a las transferencias que envían los tres cargadores anteriores. Los plugins de Spigot/Paper, Velocity y BungeeCord no leen este archivo de transferencias.

Configurar el servidor de origen

En el directorio del servidor de origen, crea el archivo config/raknetify2-transfers.json:

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

Sustituye el nombre de host y los puertos del ejemplo por los de tu destino. Después, reinicia el servidor de origen. Si tienes más destinos, añádelos a la misma lista.

Campo Significado
host Nombre de host o dirección IP de destino, sin prefijo de transporte ni puerto
tcpPort Puerto de destino de la solicitud de transferencia original
udpPort Puerto RakNet público al que debe conectarse el cliente transferido

Los números de puerto TCP y UDP pueden coincidir. Si un router cambia el número de puerto UDP, indica el puerto público en este archivo. Escribe los puertos como números JSON.

Envía las solicitudes de transferencia al nombre de host y al puerto TCP habituales del destino. Raknetify2 comprueba si el cliente anuncia que admite transferencias automáticas. Si las admite y el destino coincide con una entrada, selecciona el puerto UDP configurado. Para los demás clientes o destinos, se conserva la dirección de transferencia original.

La comparación utiliza el nombre de host y el puerto TCP de la solicitud. Al comparar nombres de host, se ignoran las diferencias entre mayúsculas y minúsculas y el punto DNS final. También se normalizan las formas equivalentes de escribir una dirección IPv6. No se realizan consultas DNS. Dos nombres que se resuelven a la misma dirección necesitan entradas independientes. No se admiten comodines.

Configurar el destino

Si el destino usa el archivo server.properties de Minecraft, establece accepts-transfers=true y reinícialo. Si es un proxy, puede tener un ajuste de transferencias propio. De forma predeterminada Minecraft rechaza las transferencias entrantes aunque se pueda entrar directamente en el servidor.

El puerto de escucha RakNet del destino, la redirección UDP pública y el cortafuegos de la máquina deben estar configurados de antemano. El archivo de transferencias del servidor de origen determina qué dirección se envía al cliente.

Si el nombre de host del destino publica direcciones IPv4 e IPv6, comprueba ambas rutas. Antes de investigar problemas con la transferencia automática, prueba una conexión RakNet directa al destino.

Mantén los controles de acceso e inicio de sesión del destino. Esta configuración no da acceso a los jugadores ni sustituye la autenticación del servidor.

Errores de configuración y desactivación

Si falta un campo, hay campos desconocidos, puertos no válidos o destinos duplicados, se produce un error de configuración al iniciarse el servidor. Consulta el registro para identificar el error, corrige el JSON y reinicia.

Para desactivar la selección automática, elimina el archivo de configuración o usa {"destinations": []}. Después, reinicia el servidor de origen. Sus solicitudes de transferencia conservarán las direcciones originales.

Reenvío UDP y protocolo PROXY

Un proxy UDP puede reenviar el tráfico RakNet y conservar la dirección original del cliente mediante el protocolo PROXY v2. Activa esta función si un proxy UDP situado antes de tu servidor envía esas cabeceras al puerto de escucha. Para una redirección de puertos normal en el router no hace falta activarla.

En el servidor o proxy Minecraft que recibe el tráfico UDP reenviado, crea el archivo config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Sustituye el ejemplo por la dirección IP de origen real del proxy UDP o por un intervalo CIDR que controles. La dirección debe coincidir con la que ve el servicio receptor después de cualquier NAT intermedio. Se admiten direcciones IPv4 e IPv6 escritas directamente. Los nombres de host DNS se rechazan. Reinicia el servidor o proxy receptor.

Configura el proxy que reenvía el tráfico para que envíe cabeceras del protocolo PROXY v2 para UDP. Raknetify2 solo acepta direcciones de clientes transmitidas por los orígenes de la lista. Mientras esta configuración esté activa, se rechazan las conexiones RakNet directas que no incluyan esas cabeceras. La configuración de escucha TCP se conserva.

Confianza y control de acceso

Cada proxy de la lista está autorizado a indicar las direcciones de los clientes. Restringe el acceso al puerto UDP de destino en su cortafuegos para que solo pueda llegar el proxy previsto. Limita los intervalos de direcciones de confianza tanto como permita tu red.

El archivo debe contener únicamente trustedProxies con al menos una entrada. Una lista vacía produce un error. Si el archivo no es válido, RakNet no puede abrir su puerto de escucha.

Para volver a las conexiones UDP directas, elimina el archivo y reinicia el servicio de escucha. Actualiza también el reenvío del proxy anterior y las reglas del cortafuegos para la nueva ruta.

Si las conexiones fallan después de activar esta función, comprueba la dirección de origen real del proxy tal como la ve el servidor de destino, el intervalo de confianza configurado y si el proxy envía cabeceras PROXY v2 para UDP.

Para instalar un proxy Minecraft y configurar los servidores de juego, consulta Velocity y BungeeCord.

Simple Voice Chat

Raknetify2 puede compartir su puerto de escucha UDP con Simple Voice Chat en servidores Fabric, Forge, NeoForge, Spigot y Paper.

Instala Simple Voice Chat en el servidor y en los clientes que vayan a usar el chat de voz. Para el resto de los ajustes, consulta su guía de configuración del servidor.

Coloca el archivo de Raknetify2 en el directorio config situado en la raíz del servidor, también en Spigot/Paper. El archivo de Simple Voice Chat permanece en la ubicación que corresponda a tu plataforma, como se indica a continuación.

Compartir el puerto de juego

  1. En el directorio del servidor, crea el archivo config/raknetify2-voicechat.json con este contenido:

    {"enabled": true}
  2. Establece port=-1 en la configuración de servidor de Simple Voice Chat. En servidores con mods, el archivo es config/voicechat/voicechat-server.properties. En Spigot/Paper es plugins/voicechat/voicechat-server.properties.

  3. Deja vacío bind_address si hay un único servicio de escucha RakNet que coincida. Si el servidor escucha en varias direcciones en ese puerto UDP, indica la dirección local que quieres compartir.

  4. Reinicia el servidor y ejecuta /voicechat test <PLAYERNAME> para un jugador conectado.

Si RakNet escucha en un puerto distinto del de Minecraft, indica ese puerto UDP local en el ajuste de voz port en lugar de usar -1. Por ejemplo, si RakNet escucha en el puerto UDP local 25570, usa port=25570.

Configura voice_host cuando el cliente necesite una dirección o un puerto público distinto. Si el router redirige el puerto UDP público 25580 al puerto UDP local 25570, usa port=25570 y voice_host=play.example.com:25580. La dirección pública va en voice_host. El ajuste bind_address selecciona la dirección local de escucha.

Raknetify2 proporciona el socket UDP compartido mediante la API de Simple Voice Chat. Simple Voice Chat se ocupa de la autenticación y el cifrado de la voz. Los jugadores pueden usar el chat de voz tanto si juegan a través de TCP como si lo hacen a través de RakNet.

Otros servicios UDP y proxys

Reserva puertos UDP distintos para Query y Geyser. La integración de socket compartido solo admite Simple Voice Chat.

La integración no comparte el socket del proxy de voz en Velocity ni en BungeeCord. Sigue la guía de configuración del proxy de Simple Voice Chat y asigna al proxy de voz su propio puerto UDP. Con el plugin oficial del proxy de voz, cualquier valor público de voice_host que quieras fijar debe ir en la configuración de voz del proxy. El plugin ignora los ajustes de voice_host de los servidores de juego.

Si utilizas un túnel UDP genérico, indica en voice_host el nombre de host y el puerto UDP públicos que conducen a este servidor.

Desactivar el uso compartido o resolver un conflicto de sockets

Si el registro muestra No RakNet listener matches the voice bind address and port, comprueba que RakNet haya arrancado correctamente y que el puerto y la dirección de escucha del servicio de voz coincidan con los de RakNet en esa máquina.

Si aparece Multiple RakNet listeners match the voice bind address, selecciona una de las direcciones locales coincidentes en bind_address y reinicia.

Solo un plugin de Simple Voice Chat puede proporcionar el socket UDP. Si al arrancar se indica que otro plugin ya lo proporciona, elige cuál de las dos integraciones quieres usar.

Para desactivar la integración de Raknetify2, establece {"enabled": false} en su archivo de configuración de voz o elimina el archivo. Asigna a Simple Voice Chat otro puerto UDP, actualiza las reglas del cortafuegos o de redirección y reinicia el servidor.

Solución de problemas

TCP funciona, pero se agota el tiempo de espera de RakNet

Comprueba estos puntos en orden:

  1. El cliente tiene el mod Raknetify2 adecuado para su cargador y su versión de Minecraft.
  2. Raknetify2 está instalado en el servidor o proxy que acepta la conexión y se ha iniciado sin errores al abrir el puerto de escucha.
  3. La dirección empieza por raknet; y usa el puerto UDP público.
  4. El proveedor de alojamiento, el router y el cortafuegos de la máquina permiten UDP en ese puerto.
  5. Las direcciones IPv4 e IPv6 del nombre de host apuntan a la máquina prevista y sus reglas de cortafuegos permiten el acceso.

Una conexión TCP correcta solo confirma que funciona la ruta TCP. Consulta la configuración del cortafuegos y del router para comprobar la redirección UDP y el acceso IPv6. Si está activado el protocolo PROXY, los clientes deben llegar al puerto de escucha a través de un proxy configurado como de confianza.

Dirección en uso

Comprueba si otro proceso usa el puerto UDP. Query, Geyser y los demás servicios UDP necesitan sus propios puertos. Simple Voice Chat admite el uso compartido del puerto.

Puedes elegir otro puerto UDP local en la configuración de escucha del servidor directo o en la configuración de Velocity y BungeeCord. Comprueba qué versión de Spigot/Paper requiere este ajuste. Cambiar únicamente el puerto público del router no resuelve un conflicto de sockets en la máquina.

Se puede entrar directamente, pero las transferencias fallan

Conéctate directamente al destino usando su dirección con el prefijo raknet;. Si la conexión falla, corrige primero el servicio de escucha de destino o la ruta de red.

Si las conexiones directas funcionan, comprueba que el destino acepte transferencias entrantes. Un servidor Minecraft que utiliza server.properties necesita el ajuste accepts-transfers=true. Una conexión directa no pone a prueba ese ajuste.

Después compara el nombre de host y el puerto TCP de la transferencia con los de config/raknetify2-transfers.json en el servidor de origen. Comprueba que el archivo se haya cargado tras reiniciar y que el cliente admita transferencias RakNet automáticas. Consulta Transferencias automáticas.

Errores de cifrado o de protocolo

Comprueba las versiones de Raknetify2 en ambos extremos de la conexión. Cuando una versión cambie el protocolo cifrado, actualiza a la vez el cliente y el servidor o proxy. Mantén la configuración de autenticación del servidor mientras investigas el problema.

Fallos relacionados con un mod

Anota qué acción provoca el fallo, por ejemplo abrir un inventario, recibir un paquete de recursos, cambiar de mundo o generar una entidad. Cuando sea posible, repite la misma acción en una instalación de prueba aparte y compara los resultados con TCP y RakNet.

Algunos mensajes personalizados dependen del orden de los paquetes de Minecraft. Los autores de mods pueden declarar estas dependencias mediante la interfaz de ordenación de paquetes.

Informar de un error

Abre una incidencia en el registro de incidencias de Raknetify2 e incluye:

  • Las versiones de Minecraft, Java, el cargador de mods y Raknetify2 en ambos extremos.
  • Las versiones del software del servidor y del proxy, incluido cualquier proxy de reenvío UDP.
  • Los demás mods instalados y sus versiones.
  • Los pasos para reproducir el problema y el resultado que esperabas.
  • Si los mismos pasos funcionan con TCP.
  • Extractos pertinentes de los registros del cliente, del servidor y del proxy correspondientes al mismo intento.

Antes de subir los registros, elimina los tokens de acceso, contraseñas y demás información privada. Conserva los mensajes de excepción y las trazas de la pila necesarios para diagnosticar el problema.

Integración con otros mods

Con Raknetify2, los mods pueden indicar qué paquetes de Minecraft deben conservar su orden con respecto a sus mensajes personalizados. Utiliza esta función si para procesar un mensaje es necesario que paquetes anteriores hayan creado una entidad o un chunk, preparado un inventario o establecido algún otro estado del juego.

Grupos de ordenación

Grupo Tráfico relacionado
ui Menús e interacciones independientes del mundo
entity Aparición, eliminación y movimiento de entidades
world_interaction Inventarios y otras interacciones que dependen del mundo
effects Sonidos y partículas
chunk Actualizaciones del terreno, los bloques y la iluminación

Cada grupo mantiene una entrega fiable y ordenada dentro de su canal. Los paquetes de grupos diferentes pueden llegar en otro orden relativo. Elige el grupo que corresponda a los datos de los que dependa tu mensaje.

Integración opcional con Fabric

Declara un proveedor en el punto de entrada raknetify:packet_channels del archivo fabric.mod.json de tu mod. El proveedor implementa Consumer<BiConsumer<String, String>> con tipos del JDK. Recibe una función de registro que acepta el identificador de un mensaje personalizado y un grupo de ordenación.

Integra esta entrada en tus metadatos actuales. Sustituye el nombre de la clase por el nombre completo de la clase de tu proveedor, incluido el paquete:

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

Conserva el resto del archivo fabric.mod.json, incluidos los puntos de entrada existentes. El ejemplo muestra solo un fragmento de los metadatos.

Por ejemplo, una extensión que gestione el movimiento de entidades puede registrar example:entity_path en el grupo entity. La documentación de la API PacketOrdering incluye la implementación del proveedor.

Si Raknetify2 no está instalado, Fabric no invoca este punto de entrada. Los proveedores deben declarar los identificadores y los grupos durante la inicialización, sin depender de que otro mod ya haya terminado de inicializarse.

Funcionamiento del registro

Los mods de Forge y NeoForge y los plugins de servidor o de proxy pueden llamar a PacketOrdering.register(identifier, group) durante la inicialización cuando Raknetify2 esté disponible. La clase es com.ishland.raknetify.api.PacketOrdering. Registra las declaraciones antes de aceptar conexiones de jugadores. Si la integración es opcional, evita que su código cargue clases de Raknetify2 cuando falte esa dependencia.

Las declaraciones se aplican a las conexiones nuevas. Las conexiones existentes conservan las reglas que recibieron al establecerse. Se permite repetir una declaración idéntica. No se puede asignar un mismo identificador a grupos distintos.

Los identificadores de mensajes deben usar un espacio de nombres personalizado válido. El espacio de nombres minecraft está reservado. El límite de cada extremo es de 128 declaraciones en total, incluidas las reglas integradas y los registros de otros mods. Los identificadores admiten hasta 255 caracteres ASCII y deben seguir la sintaxis de identificadores con espacio de nombres de la API.

Los extremos RakNet actualizados intercambian sus declaraciones al establecer la conexión. Si un servidor o proxy no tiene una regla local para un mensaje, puede usar la declaración del otro extremo. Las reglas locales tienen prioridad y las declaraciones recibidas solo se aplican a esa conexión.

Proxys UDP

Para los relés UDP y el reenvío de direcciones de clientes, consulta Reenvío UDP y protocolo PROXY.

Para configurar un proxy de Minecraft, consulta Velocity y BungeeCord.

English (US)

Clone this wiki locally