Skip to content
Saltar al contenido
Volver al Blog
Waterfall Minecraft: Arquitectura, Características y Legado

Waterfall Minecraft: Arquitectura, Características y Legado

Alexandru Maftei
Alexandru Maftei
@ice
Actualizado
27 vistas
TL;DR:Waterfall es un fork archivado de BungeeCord que mejoró la estabilidad y el rendimiento del proxy para grandes redes de Minecraft. Aprende por qué existió, cómo funcionaba y por qué deberías migrar a Velocity.

"Fork de BungeeCord que busca mejorar el rendimiento y la estabilidad."

PaperMC/Waterfall · github.com
⭐ 746 estrellas💻 Shell📋 MIT

Waterfall es un fork de BungeeCord que ya no se mantiene. Antes de instalarlo, debes saber: los mantenedores recomiendan cambiar a Velocity. Dicho esto, comprender el diseño de Waterfall y por qué existió te enseña algo real sobre cómo funcionan las redes grandes de Minecraft. Si estás gestionando una configuración proxy o desarrollando plugins de servidor, todavía hay valor en saber qué problemas Waterfall intentaba resolver.

Qué era Waterfall

BungeeCord es el estándar de la industria para conectar múltiples servidores Minecraft juntos. Un único servidor proxy se coloca frente a tus servidores de juego reales y enruta a los jugadores entre ellos. Pero la base de código de BungeeCord no fue diseñada para la escala que algunos administradores necesitaban. Waterfall fue un fork creado por el equipo de PaperMC (el mismo grupo detrás de Paper, software de servidor muy popular) para construir un proxy con mejor rendimiento y estabilidad.

El proyecto se enfocó en tres cosas:

  • Estabilidad - código que es comprobable y no se ralentiza bajo carga
  • Características - más funcionalidad que BungeeCord canónico, agregada más rápidamente
  • Escalabilidad - manejo de miles de jugadores simultáneos en hardware moderno

Suena sencillo ahora, pero en ese momento, los mantenedores principales de BungeeCord no aceptaban contribuciones al ritmo que la comunidad deseaba. Waterfall existía porque el fork era más ágil y estaba dispuesto a experimentar.


Por Qué Surgió el Fork (y Qué Dice sobre el Código Abierto)

Esta es la parte interesante. BungeeCord es código abierto, pero se mueve con cautela. Los mantenedores de Waterfall básicamente dijeron: "Podemos hacer esto más rápido." Hicieron un fork del proyecto, siguieron fusionando cambios principales, pero también añadieron sus propios parches. Esto les permitió lanzar funcionalidades y correcciones mientras seguían sincronizados con las actualizaciones centrales de BungeeCord.

No fue hostil ni conflictivo. Fue pragmático.

La comunidad de administradores de servidores Minecraft tenía problemas reales de escalabilidad, y el fork les permitía resolverlos sin esperar consenso de los mantenedores principales. Así es como funciona el código abierto a veces - no todos esperan permiso.


Cómo Funcionaba Waterfall Internamente

Como BungeeCord, Waterfall se ubicaba entre los jugadores y tus servidores backend. Cuando un jugador se conecta, Waterfall maneja el login y decide a qué servidor dirigirlo. Gestiona cambios de servidor, chat, movimiento y toda la lógica del proxy. La diferencia estaba en los detalles: mejor rendimiento bajo carga concurrente, estructura de código más limpia y una API más activa.

Para los desarrolladores de plugins, Waterfall proporcionaba una API JavaDocs limpia y artefactos Maven/Gradle. Podrías construir plugins usando:

xml
<repository>
 <id>papermc</id>
 <url>https://repo.papermc.io/repository/maven-public/</url>
</repository>

<dependency>
 <groupId>io.github.waterfallmc</groupId>
 <artifactId>waterfall-api</artifactId>
 <version>1.21-R0.3-SNAPSHOT</version>
 <scope>provided</scope>
</dependency>

O con Gradle:

groovy
repositories {
 maven {
 url 'https://repo.papermc.io/repository/maven-public/'
 }
}

dependencies {
 compileOnly 'io.github.waterfallmc:waterfall-api:1.21-R0.3-SNAPSHOT'
}

Esta API fue uno de los puntos fuertes de Waterfall - fue documentada activamente y mantenida sincronizada con los lanzamientos, a diferencia de otros proyectos proxy cuya documentación de API se atrasa respecto al código.


Instalación y Compilación

Ejecutar Waterfall requería Java 8 o superior (bastante estándar). Descargarías el archivo JAR desde papermc.io/downloads, lo colocarías en una carpeta y lo ejecutarías. La configuración era simple en YAML.

Si querías compilar desde la fuente, Waterfall mantenía la compilación simple:

bash
git clone https://github.com/PaperMC/Waterfall.git
cd Waterfall./waterfall b

Ese comando se encargaba de descargar dependencias, ejecutar pruebas y construir el JAR. El binario compilado terminaba en Waterfall-Proxy/bootstrap/target/. Limpio. Sin ceremonias innecesarias.


Qué Diferenciaba a Waterfall del BungeeCord Estándar

El rendimiento no era solo palabrería de marketing. Los parches de Waterfall se enfocaron en reducir la sobrecarga del proxy. Algunos aspectos destacados:

  • Mejor manejo de conexiones de jugadores concurrentes sin cuellos de botella de threads
  • Gestión de búfer más inteligente para reducir pausas de recolección de basura
  • Manejo de paquetes más eficiente, especialmente para grandes cantidades de jugadores
  • Código comprobable - los mantenedores realmente escribieron pruebas unitarias, lo que BungeeCord no siempre priorizó

Si ejecutabas una red con 5.000+ jugadores simultáneos, esto importaba. Si tenías 200 jugadores, probablemente no notarías mucha diferencia.

El proyecto también respondió más rápidamente a problemas de seguridad y actualizaciones de compatibilidad cuando se lanzaban nuevas versiones de Minecraft. PaperMC tenía recursos y motivación para actuar rápidamente.


Por Qué Waterfall fue Archivado

PaperMC no abandonó Waterfall a la ligera. Crearon algo mejor: Velocity. Velocity no es un fork de BungeeCord - es un proxy completamente nuevo escrito desde cero. Está diseñado para Java moderno, tiene mejor rendimiento, APIs de plugin más limpias y desarrollo más activo.

Los mantenedores de Waterfall hicieron un anuncio oficial: usa Velocity en su lugar. Lo están manteniendo, mejorándolo, y es hacia donde se dirige el ecosistema de proxies de servidor Minecraft. Después de un período en el que ambos proyectos coexistieron, decidieron archivar Waterfall.

Esto no fue un fracaso. Fue que los autores reconocieron que la siguiente generación de su propio software era mejor, y siendo honestos con la comunidad sobre esto.


Qué Significa Esto para tu Configuración de Servidor

Si estás construyendo una nueva red proxy hoy, no uses Waterfall. Usa Velocity. Se mantiene activamente, funciona mejor y obtendrás correcciones de errores y actualizaciones de seguridad.

Si tienes curiosidad sobre cómo funcionan los proxies de Minecraft a un nivel más profundo, la base de código y la arquitectura de Waterfall todavía tienen valor educativo. Leer los parches y entender por qué eran necesarios te enseña cosas reales sobre el rendimiento del proxy.

¿Y si ya estás ejecutando Waterfall en una red estable? La migración a Velocity es directa, y el equipo de PaperMC proporciona orientación para ello. Los formatos de configuración son diferentes pero no de manera drástica.

Un consejo práctico: si estás personalizando tu lista de servidores con texto MOTD (el mensaje que aparece cuando los jugadores ven tu servidor en el menú multijugador), herramientas como nuestro Creador MOTD pueden ayudarte a formatearlo correctamente para tu proxy. Waterfall y Velocity respetan el formato MOTD estándar.


Aprendiendo de la Historia de Waterfall

Waterfall importa no porque debas usarlo hoy, sino porque representa algo importante en el código abierto. Un equipo reconoció un problema real, hizo un fork del proyecto, demostró que podían resolverlo mejor, y luego hicieron una transición elegante a un sucesor cuando la siguiente evolución se hizo evidente.

No murió porque fuera malo. Pero tuvo tanto éxito que sus creadores construyeron algo mejor para reemplazarlo, y tuvieron la integridad de insistir en que la gente lo usara.

Además, si estás construyendo algo con la infraestructura del servidor Minecraft - tal vez buscando comportamiento de bloques o intentando entender cómo funcionan mecánicas de juego complejas - encontrarás referencias a Waterfall en foros y documentación. Comprender su papel en el ecosistema te ayuda a entender el panorama general.

¿Necesitas comprender bloques de Minecraft para tu proxy o servidor? La herramienta de Búsqueda de Bloques es sorprendentemente útil cuando depuras problemas de proxy o entiendes por qué ciertos bloques causan problemas con el enrutamiento de paquetes.

PaperMC/Waterfall - MIT, ★746
Sobre el autor
Alexandru Maftei
Alexandru MafteiRedactor principal

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

¡Compártelo con tus amigos!

Comentarios

Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy