Minecraft tiene un nuevo cliente independiente llamado Torch, escrito desde cero en el lenguaje Rust. El proyecto de código abierto elimina la necesidad de ejecutar la máquina virtual de Java (JVM) y, según sus autores, alcanza 400 FPS frente a los 180 FPS del cliente clásico de Java, consumiendo además unos 700 MB de RAM frente a 2.3 GB. La información sobre el proyecto fue publicada por Hacker News, y el material fuente se encuentra en la página del proyecto y en el repositorio de GitHub.
Qué cambia exactamente Rust en lugar de la JVM
El cliente oficial de Minecraft Java Edition funciona sobre la máquina virtual de Java, algo que desde hace años se critica por su sobrecarga de memoria y los retrasos causados por la recolección de basura (garbage collection). Torch resuelve este problema reescribiendo todo el motor de renderizado y la lógica del juego en Rust, un lenguaje compilado de forma nativa, sin la capa intermedia de una máquina virtual. Los autores afirman en la página torchclient.com que gracias a esto el juego arranca en aproximadamente un segundo, frente a los cuatro segundos que necesita el cliente de Java.
El proyecto soporta dos versiones del juego en un mismo build: 26.1.1 y 1.21.11, lo que significa que los jugadores no tienen que descargar paquetes separados según la versión del servidor. Esto es importante para quienes juegan en servidores que, por distintos motivos, no se han actualizado a la última versión. El código fuente de Torch está disponible públicamente en el repositorio torch-client en GitHub bajo la licencia GNU AGPL 3.0, lo que significa que cualquiera puede descargarlo, verificarlo y modificarlo.
Funciones ya disponibles en la alfa
A pesar de estar en una etapa temprana de desarrollo, Torch ofrece algunas funciones conocidas de los mods populares de optimización de rendimiento. La documentación del proyecto menciona, entre otras cosas, un overlay integrado con vista de FPS, uso de RAM, CPU y número de chunks cargados, lo que recuerda a las soluciones conocidas de las herramientas de diagnóstico disponibles en las herramientas y calculadoras para jugadores de Minecraft.
- Soporte parcial de shaders Iris
- ClickGUI activable con Shift derecho
- Controles táctiles en dispositivos Android
- Editor de interfaz HUD
- Distancia de renderizado de hasta 32 chunks
Los propios autores señalan en la página del proyecto que se trata de una versión temprana: "Torch está en una etapa temprana de desarrollo. Todavía faltan algunas funciones y otras pueden fallar". Es una advertencia estándar para clientes alternativos que vale la pena tener en cuenta antes de instalarlo en una computadora usada para trabajo o estudio.
Plataformas e instalación
Torch funciona actualmente en tres plataformas: Windows de 64 bits, Linux x86_64 y Android arm64. Los archivos binarios listos para Windows y Linux se publican en la página de lanzamientos del repositorio de GitHub, y quienes lo deseen también pueden compilar el cliente ellos mismos usando Cargo, el gestor de paquetes estándar de Rust. Como comparación, el cliente oficial está disponible a través de la página de descarga de Minecraft Java Edition, donde Mojang ofrece el launcher que requiere una licencia comprada del juego.
Vale la pena destacar que usar clientes alternativos como Torch no exime de la obligación de tener una copia legalmente comprada de Minecraft. Torch solo recrea la capa del cliente, iniciando sesión en las mismas cuentas de Microsoft que el launcher oficial, así que sin una cuenta válida el juego simplemente no arrancará.
Proyectos similares en el trasfondo de la comunidad de Rust y Minecraft
Torch no es el primer proyecto que intenta reemplazar el cliente oficial de Java con un motor escrito en otro lenguaje. En GitHub se desarrollan en paralelo, entre otros, Pomme, un cliente de Java Edition escrito en Rust y Vulkan que se conecta a servidores desde la versión 1.20 hasta la 26.3, y Rustcraft, que recrea en Rust tanto el cliente como el servidor integrado de la versión 26.3. La comunidad de desarrolladores experimenta con gusto reescribiendo el código de Minecraft, porque el juego tiene un protocolo de red abierto y bien documentado, lo que facilita escribir clientes compatibles desde cero.
Para los jugadores que usan los servidores mencionados en la lista de servidores de Minecraft, la pregunta clave es si los administradores permitirán tráfico proveniente de estos clientes, ya que parte de los sistemas anticheat verifican las firmas del launcher oficial. El proyecto Torch, por ahora, no menciona ninguna certificación ni colaboración con creadores de plugins anticheat populares, así que quienes lo usen en servidores con seguridad restrictiva deben contar con la posibilidad de ser banneados.
Qué sigue para el proyecto
El repositorio torch-client en GitHub todavía tiene pocas estrellas y aún no ha reunido un grupo amplio de colaboradores, pero la publicación en Hacker News titulada "Show HN: Torch" atrajo la atención de parte de la comunidad interesada en Rust y en la optimización de juegos. Los autores animan a reportar errores y proponer nuevas funciones a través del sistema de Issues en GitHub, lo cual es el camino típico de desarrollo para proyectos pequeños de código abierto en etapa temprana.