Minecraft ganhou um novo cliente independente chamado Torch, escrito do zero na linguagem Rust. O projeto open source elimina a necessidade de rodar a máquina virtual Java (JVM) e, segundo os desenvolvedores, atinge 400 FPS contra 180 FPS do cliente Java clássico, consumindo cerca de 700 MB de RAM em comparação aos 2,3 GB. A informação sobre o projeto foi divulgada pelo site Hacker News, e o material-fonte está disponível na página do projeto e no repositório no GitHub.

O que o Rust muda exatamente no lugar da JVM

O cliente oficial de Minecraft Java Edition roda sobre a máquina virtual Java, o que há anos é criticado por conta do consumo extra de memória e das pausas causadas pela coleta de lixo (garbage collection). O Torch resolve esse problema reescrevendo todo o motor de renderização e a lógica do jogo em Rust, uma linguagem compilada nativamente, sem uma camada intermediária de máquina virtual. Os desenvolvedores afirmam, no site torchclient.com, que isso faz o jogo iniciar em cerca de um segundo, contra quatro segundos necessários no cliente Java.

O projeto suporta duas versões do jogo em um único build: 26.1.1 e 1.21.11, o que significa que os jogadores não precisam baixar pacotes separados para diferentes versões de servidor. Isso é relevante para quem joga em servidores que, por diversos motivos, não atualizaram para a versão mais recente. O código-fonte do Torch está disponível publicamente no repositório torch-client no GitHub, sob a licença GNU AGPL 3.0, o que significa que qualquer um pode baixar, verificar e modificar o código.

Funções já disponíveis na alfa

Apesar do estágio inicial de desenvolvimento, o Torch já oferece parte das funções conhecidas de mods populares de otimização de desempenho. A documentação do projeto cita, entre outras coisas, um overlay integrado com indicador de FPS, consumo de RAM, de CPU e número de chunks carregados, algo que lembra as soluções conhecidas de ferramentas de diagnóstico disponíveis nas ferramentas e calculadoras para jogadores de Minecraft.

  • Suporte parcial a shaders Iris
  • ClickGUI acionado pelo Shift direito
  • Controle por toque em dispositivos Android
  • Editor de interface HUD
  • Distância de renderização de até 32 chunks

Os próprios desenvolvedores destacam na página do projeto que se trata de um lançamento inicial: "o Torch está em estágio inicial de desenvolvimento. Algumas funções ainda faltam, e outras podem travar". Esse é um aviso padrão para clientes alternativos, que vale a pena levar em conta antes de instalar em um computador usado para trabalho ou estudo.

Plataformas e instalação

O Torch funciona atualmente em três plataformas: Windows 64 bits, Linux x86_64 e Android arm64. Arquivos binários prontos para Windows e Linux são publicados na página de releases do repositório no GitHub, e quem quiser pode também compilar o cliente manualmente usando o Cargo, o gerenciador de pacotes padrão do Rust. Em comparação, o cliente oficial está disponível pela página de download do Minecraft Java Edition, onde a Mojang disponibiliza o launcher, que exige uma licença comprada do jogo.

Vale destacar que usar clientes alternativos como o Torch não isenta ninguém da obrigação de possuir uma cópia legalmente comprada do Minecraft. O Torch apenas recria a camada do cliente, fazendo login nas mesmas contas Microsoft usadas pelo launcher oficial, então sem uma conta válida o jogo simplesmente não inicia.

Projetos parecidos no cenário da comunidade de Rust e Minecraft

O Torch não é o primeiro projeto que tenta substituir o cliente oficial do Java por um motor escrito em outra linguagem. No GitHub, são desenvolvidos paralelamente, entre outros, o Pomme, um cliente de Java Edition escrito em Rust e Vulkan que se conecta a servidores das versões 1.20 até 26.3, e o Rustcraft, que recria em Rust tanto o cliente quanto o servidor integrado da versão 26.3. A comunidade de desenvolvedores gosta de experimentar reescrever o código do Minecraft, já que o jogo tem um protocolo de rede aberto e bem documentado, o que facilita a criação de clientes compatíveis do zero.

Para os jogadores que usam servidores listados na lista de servidores de Minecraft, a questão principal é se os administradores vão permitir tráfego vindo desses clientes, já que parte dos sistemas anticheat verifica assinaturas do launcher oficial. O projeto Torch, por enquanto, não menciona certificação ou parceria com criadores de plugins anticheat populares, então quem usá-lo em servidores com segurança mais restritiva deve contar com a possibilidade de banimento.

O futuro do projeto

O repositório torch-client no GitHub ainda tem um número pequeno de estrelas e não reuniu um grupo amplo de contribuidores, mas a publicação no Hacker News com o título "Show HN: Torch" chamou a atenção de parte da comunidade interessada em Rust e otimização de jogos. Os desenvolvedores incentivam o envio de relatos de bugs e sugestões de novas funções pelo sistema de Issues no GitHub, caminho típico de desenvolvimento para pequenos projetos open source em estágio inicial.

Fontes