Skip to content

Wiki es uy

pjscruggs edited this page Nov 11, 2026 · 1 revision

Raknetify2 · Español (Uruguay)

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

Agregar servidor

  1. Multijugador

  2. Agregar servidor

  3. Dirección IP

    Dirección IP
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. Aceptar

  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

Dirección IP 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

Dirección IP 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 no compatible!

Reportar 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. Agrega 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. Comprobá la compatibilidad de Minecraft y de los mods.
  2. Elegí qué archivo descargar e instalalo.
  3. Conectate 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

Descargá una versión desde la página de versiones en GitHub. Antes de instalarla, comprobá 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

Cerrá el cliente o detené el servidor antes de sustituir su JAR. Retirá de esa instalación el JAR del Raknetify original y cualquier JAR anterior de Raknetify2 antes de agregar el nuevo.

En el cliente, usá las carpetas de la instancia de Minecraft o del paquete de mods que vayas a iniciar. En el servidor o el proxy, usá las carpetas de la instalación correspondiente. Si el cargador aún no ha creado la carpeta que necesitás, creala.

Conexión directa a un servidor

  1. Instalá el mod de cliente correspondiente a tu cargador de mods.
  2. Instalá el mod de servidor correspondiente o, si tenés un servidor compatible, el plugin de Spigot/Paper.
  3. Seguí la guía de configuración del cortafuegos y del router para permitir las conexiones UDP al servidor.
  4. Reiniciá el cliente y el servidor.
  5. Seleccioná «Agregar servidor» e ingresá una dirección como raknet;play.example.com o raknet;play.example.com:25565.

Las direcciones sin el prefijo raknet; usan TCP.

Si solo instalás 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

Instalá el plugin correspondiente en el proxy y el mod en el cliente. Consultá 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, utilizá el argumento de Java que corresponda en la tabla. Si administrás un proxy, consultá 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. Sustituí 25570 por el puerto UDP que quieras usar.

Spigot / Paper ≥ 0.1.0-beta.1.431

Agregá el argumento antes de -jar en el comando de Java o en el campo de argumentos de la JVM de tu proveedor de alojamiento. Reiniciá el servidor y permití UDP en el puerto de escucha elegido. Si el puerto público también es 25570, conectate a raknet;play.example.com:25570. Si un router cambia el número de puerto, indicá el puerto público en la dirección que usás 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. Consultá en el registro de arranque en qué dirección y puerto escucha UDP. Para volver a usar el número de puerto TCP, quitá el argumento y reiniciá 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, abrí una ejecución de main que haya terminado correctamente y descargá el archivo del apartado Artifacts. GitHub exige una cuenta para descargar estos archivos. Utilizá la tabla de instalación anterior para identificar el JAR que necesitás.

Velocity y BungeeCord

Velocity y BungeeCord actúan como intermediarios entre los jugadores y los servidores de juego de Minecraft. Instalá 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. Comprobá que las conexiones TCP normales a través del proxy funcionan, incluida la autenticación y el cambio entre servidores de juego.
  2. Detené el proxy y descargá el plugin correspondiente desde la página de versiones en GitHub.
  3. Colocá raknetify2-velocity-*-all.jar o raknetify2-bungee-*-all.jar en la carpeta plugins del proxy. Retirá de esa carpeta cualquier versión anterior del plugin Raknetify o Raknetify2.
  4. Instalá el mod de Raknetify2 adecuado para el cliente según la guía de instalación.
  5. Revisá la configuración de escucha que se describe a continuación. Reiniciá el proxy y comprobá en su registro si RakNet ha tenido problemas al abrir el puerto de escucha.
  6. Permití el tráfico UDP público hacia el proxy y restringí el acceso a los puertos de los servidores de juego según la guía de configuración del cortafuegos y del router.

Utilizá versiones compatibles de Raknetify2 en el cliente y en el proxy. Consultá 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. Dejá en ellas las direcciones TCP de esos servidores. Consultá la referencia de configuración de Velocity.

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

-Draknetify.velocity.portOverride=25570

Sustituí 25570 por el puerto elegido. Así cambiás el puerto UDP de RakNet sin modificar el puerto TCP de Velocity ni las direcciones de los servidores de juego. Reiniciá Velocity después de modificar el argumento.

Configurá 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, usalo y mantené en secreto la clave de reenvío. Seguí las instrucciones para tu servidor en la guía de reenvío de información de los jugadores de Velocity. Mantené 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 agregar UDP en ese mismo número de puerto. En servers figuran las direcciones TCP de los servidores de juego. Consultá la guía de configuración de BungeeCord.

Para usar un puerto UDP distinto, agregá 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, comprobá en el registro de arranque cuáles son las direcciones y los puertos reales de RakNet antes de agregar reglas al cortafuegos. Reiniciá BungeeCord tras cambiar el argumento.

Mantené 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. Restringí 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 comprobá en el registro de arranque qué puerto UDP se ha abierto. Para volver a usar el número de puerto de escucha de Minecraft, quitá el argumento y reiniciá 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, usá 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.

Asigná 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. Consultá la guía de Simple Voice Chat para proxys para configurarlos.

Si hay un relé UDP delante del proxy Minecraft que envía encabezados del protocolo PROXY v2, configurá 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

Hacé una prueba desde fuera de tu red local con un cliente Raknetify2. Entrá a través del proxy, cambiá entre los servidores de juego que uses y verificá 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, comprobá 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, comprobá 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, comprobá si lo usa Query, Geyser, un proxy de voz u otro proceso.

Al informar de un problema, incluí 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 debés 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, usá la dirección local del servidor y permití UDP en el cortafuegos de esa máquina. Necesitás 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

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

Por ejemplo, si Raknetify2 escucha en el puerto UDP 25570, redirigí 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, consultá la configuración de escucha del servidor directo.

Velocity o BungeeCord

Dirigí el tráfico UDP público a la máquina que ejecuta Velocity o BungeeCord con el plugin Raknetify2. Utilizá como destino de la redirección el puerto de escucha UDP de RakNet en el proxy. Conservá 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 administrás, podés 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, utilizá 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. Consultá 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, consultá 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. Averiguá la dirección IPv4 local de la máquina que acepta las conexiones RakNet. Usá una reserva DHCP o una dirección estática adecuada para que la regla de redirección siga apuntando a esa máquina.
  2. Agregá una regla de redirección UDP para el puerto público que usarán los jugadores.
  3. En el destino de la regla, indicá la dirección local de esa máquina y el puerto de escucha UDP de RakNet.
  4. En el cortafuegos de la máquina, permití 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. Sustituí la dirección de ejemplo por la dirección local real de tu servidor.

Conservá 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

Comprobá si otro router o tu proveedor de Internet hace NAT antes de que el tráfico llegue a tu router. Si administrás dos routers en serie, configurá la redirección en ambos. Si tu proveedor usá NAT compartido entre clientes (CGNAT), preguntale si puede darte una dirección IPv4 pública o usá 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

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

Comprobá que la dirección IPv6 asociada al nombre de host apunta a esa máquina. Si su dirección IPv6 cambia, actualizá 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, comprobá las reglas de ambos protocolos.

Si la redirección IPv4 cambia el número de puerto, asegurate 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. Comprobá 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, seguí la guía de reenvío UDP y protocolo PROXY y limitá el acceso al puerto de escucha UDP de destino al proxy de confianza.

Comprobar la conexión

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

Comprobá 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, comprobá 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

Comprobá 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, descargá el archivo compatibility.json de la misma versión que el JAR. Buscá tu versión de Minecraft en gameVersions y comprobá 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, consultá 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. Elegí una versión de Java que cumpla los tres requisitos.

Versiones del cliente y del servidor

Siempre que puedas, usá la misma versión de Raknetify2 en el cliente y en el servidor o proxy que recibe la conexión. Consultá 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, consultá los resultados de compilación asociados a la versión que te interese.

Si tenés problemas en un paquete de mods más grande, seguí la guía de solución de problemas. Indicá 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. Instalá 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, creá el archivo config/raknetify2-compatibility.json. Si el directorio config no existe, crealo.

  3. Agregá este contenido:

    {"mode": "ordered"}
  4. Reiniciá 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 confiable y ordenado en cada sentido.

Instalaciones con proxy

Si los jugadores se conectan a través de Velocity o BungeeCord, configurá 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.

Mantené activados los controles antitrampas y probá tu propia configuración.

Clientes antiguos

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

Volver al modo multicanal

Sustituí el contenido del archivo por:

{"mode": "multichannel"}

Después, reiniciá el servidor o el proxy. También podés 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. Corregí el archivo y reiniciá el proceso.

Si la consola sigue indicando multichannel, comprobá que el archivo esté bajo el directorio de trabajo del servidor o proxy que recibe la conexión RakNet. Después, reiniciá 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. Comprobá que tu versión de Raknetify2 sea compatible con la versión de Minecraft y el cargador de cada extremo.

Instalá 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, creá el archivo config/raknetify2-transfers.json:

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

Sustituí el nombre de host y los puertos del ejemplo por los de tu destino. Después, reiniciá el servidor de origen. Si tenés más destinos, agregalos 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, indicá el puerto público en este archivo. Escribí los puertos como números JSON.

Enviá 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, establecé accepts-transfers=true y reinicialo. 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, comprobá ambas rutas. Antes de investigar problemas con la transferencia automática, probá una conexión RakNet directa al destino.

Mantené 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. Consultá el registro para identificar el error, corregí el JSON y reiniciá.

Para desactivar la selección automática, eliminá el archivo de configuración o usá {"destinations": []}. Después, reiniciá 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. Activá esta función si un proxy UDP situado antes de tu servidor envía esas encabezados 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, creá el archivo config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

Sustituí 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. Reiniciá el servidor o proxy receptor.

Configurá el proxy que reenvía el tráfico para que envíe encabezados 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 encabezados. 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. Restringí el acceso al puerto UDP de destino en su cortafuegos para que solo pueda llegar el proxy previsto. Limitá 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, eliminá el archivo y reiniciá el servicio de escucha. Actualizá 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, comprobá 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 encabezados PROXY v2 para UDP.

Para instalar un proxy Minecraft y configurar los servidores de juego, consultá 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.

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

Colocá 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, creá el archivo config/raknetify2-voicechat.json con este contenido:

    {"enabled": true}
  2. Establecé 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. Dejá 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, indicá la dirección local que quieres compartir.

  4. Reiniciá el servidor y ejecutá /voicechat test <PLAYERNAME> para un jugador conectado.

Si RakNet escucha en un puerto distinto del de Minecraft, indicá 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, usá port=25570.

Configurá 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, usá 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

Reservá 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. Seguí la guía de configuración del proxy de Simple Voice Chat y asigná 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 utilizás un túnel UDP genérico, indicá 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, comprobá 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, seleccioná una de las direcciones locales coincidentes en bind_address y reiniciá.

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

Para desactivar la integración de Raknetify2, establecé {"enabled": false} en su archivo de configuración de voz o eliminá el archivo. Asigná a Simple Voice Chat otro puerto UDP, actualizá las reglas del cortafuegos o de redirección y reiniciá el servidor.

Solución de problemas

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

Comprobá 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. Consultá 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

Comprobá 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.

Podés elegir otro puerto UDP local en la configuración de escucha del servidor directo o en la configuración de Velocity y BungeeCord. Comprobá 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

Conectate directamente al destino usando su dirección con el prefijo raknet;. Si la conexión falla, corregí primero el servicio de escucha de destino o la ruta de red.

Si las conexiones directas funcionan, comprobá 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 compará el nombre de host y el puerto TCP de la transferencia con los de config/raknetify2-transfers.json en el servidor de origen. Comprobá que el archivo se haya cargado tras reiniciar y que el cliente admita transferencias RakNet automáticas. Consultá Transferencias automáticas.

Errores de cifrado o de protocolo

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

Fallos relacionados con un mod

Anotá 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, repetí la misma acción en una instalación de prueba aparte y compará 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.

Reportar un error

Abrí una incidencia en el registro de incidencias de Raknetify2 e incluí:

  • 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, eliminá los tokens de acceso, contraseñas y demás información privada. Conservá 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. Utilizá 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 confiable y ordenada dentro de su canal. Los paquetes de grupos diferentes pueden llegar en otro orden relativo. Elegí el grupo que corresponda a los datos de los que dependa tu mensaje.

Integración opcional con Fabric

Declará 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.

Integrá esta entrada en tus metadatos actuales. Sustituí 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"
    ]
  }
}

Conservá 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. Registrá las declaraciones antes de aceptar conexiones de jugadores. Si la integración es opcional, evitá 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, consultá Reenvío UDP y protocolo PROXY.

Para configurar un proxy de Minecraft, consultá Velocity y BungeeCord.

English (US)

Clone this wiki locally