Tela de login do cliente WYD
Tela de login — seletor de conta e entrada no servidor

Agosto de 2026 marca dois esforços paralelos no desenvolvimento: consolidar o servidor Linux e iniciar o port do cliente para Rust com execução nativa no Linux.

Servidor — DataServer em Rust

O DataServer em Rust já está operacional e implantado. São ~7.400 linhas distribuídas em 13 módulos, com 44 testes de regressão que rodam em menos de 0,1 segundo. O binário é estático (LTO + strip), sem dependências de runtime além da libc do sistema.

Durante a auditoria linha a linha, 4 bugs do C++ original foram encontrados e corrigidos — cada um com teste de regressão automatizado:

  • Off-by-one em arrays de guildas (índice 65535 fora do array de 65535 posições)
  • Falso "Servidor em Manutenção" (bloco de código ativo no TMLinux mas comentado na produção)
  • Expiração de conta que bloqueava para sempre (sem comparação com a data atual)
  • Banimento que expirava horas antes por usar UTC em vez do fuso local

Leia o artigo completo: DataServer em Rust — por que reescrevemos o coração do servidor.

Cliente — Port para Rust (em andamento)

O cliente atual é o binário Windows original (DirectX 9, MSVC). O novo esforço é portar o cliente para Rust com os seguintes objetivos:

  • Execução nativa no Linux — sem Wine, sem camada de compatibilidade
  • Segurança de memória — eliminar crashes por corrupção de heap/stack tão comuns no cliente C++ original
  • Build determinístico — um único cargo build produz o binário para Linux e Windows
  • Renderização moderna — substituir DirectX 9 por uma camada de rendering portável (wgpu ou OpenGL)
  • Protocolo de rede validado — o mesmo protocolo wire já testado no DataServer Rust

Este é um trabalho de longo prazo. O foco inicial é na camada de rede e no protocolo — receber e enviar os mesmos pacotes que o cliente Windows, validando contra o servidor Linux existente. A UI (NUI) e a renderização 3D vêm depois.

O código fonte do servidor (C++ e Rust) e os binários compilados estão disponíveis para estudo na página de downloads.

Como testar

Baixe o pacote completo na página de downloads, extraia e siga as instruções do arquivo LEIA-ME_ESTUDOS.txt incluso. Resumo rápido:

# 1. Extraia o pacote de estudos
unzip TMProject-Free_Linux_estudos_*.zip
cd TMProject-Free_Linux_estudos_*/

# 2. DataServer Rust
cd dbsrv_rust
cargo build --release
cp target/release/dbsrv_rust ../Release/DataServer/

# 3. GameServer (requer toolchain C++ 32-bit)
cd ../TMLinux
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
cp build/bin/tmsrv ../Release/GameServer/

# 4. Criar conta de teste e iniciar
cd ../Release/DataServer
./accountcreater SEU_USUARIO SUA_SENHA
./dbsrv_rust &
cd ../GameServer
./tmsrv &

Acompanhe o devlog para atualizações futuras.