Código da DLL do Tibia 8.60 Extended Client sai sob licença MIT
Nottinghster publicou no GitHub o código C++ da DLL do Tibia 8.60 Extended Client sob licença MIT, com suporte a alfa de 32 bits e limites ampliados.
Em 21 de setembro de 2026, o desenvolvedor Nottinghster, do OTLand, publicou no GitHub o código-fonte C++ completo da Tibia 8.60 Extended Client DLL sob licença MIT. O arquivo funciona como um proxy de DirectDraw chamado ddraw.dll, que modifica a memória do cliente limpo de 2010 assim que ele é aberto. O desenvolvimento ocorre no repositório público rodrigopaixaorj/Tibia-860-Extended-DLL.
A Tibia 8.60 Extended Client DLL é uma DLL de proxy DirectDraw de código aberto que modifica na memória o clássico cliente Tibia 8.60 de 2010 sem alterar o executável. Escrita em C++ por Nottinghster sob licença MIT, ela adiciona transparência alfa de 32 bits, suporte a sprites estendidos além de 65.535, leitura de arquivos .DAT modernos, montarias e uma janela de mercado desenhada no frame buffer.
O que o lançamento inclui
A DLL modifica o executável do cliente diretamente na memória para ampliar os recursos gráficos e remover limites antigos do motor de jogo.
No pipeline de renderização, a DLL introduz mistura alfa ARGB de 32 bits para OpenGL e DirectX 9. Isso elimina o recorte por cor magenta e permite transparências suaves. A indexação de sprites passa de 16 bits para valores uint32_t de 32 bits, permitindo que os arquivos de sprites superem o limite fixo de 65.535. Um cache interno na memória RAM armazena até 250 MB de dados de sprites para reduzir leituras em disco. A DLL também redireciona as chamadas de interface do DirectDraw para o DirectDraw 7.
Os limites originais do cliente de 2010 foram ampliados. A vida e a mana do jogador agora são lidas como inteiros de 32 bits com sinal, suportando valores de até 2 bilhões e substituindo o teto anterior de 65.535. Identificadores de efeitos mágicos e níveis de habilidades subiram de 8 bits (limitados a 255) para 16 bits, alcançando 65.535. Em 21 de setembro de 2026, um commit ampliou a alocação de memória de outfits de 25 para 512 trajes, resolvendo uma falha de asserção em Dialogs.cpp:1612. A DLL também corrige travamentos no cliente quando a experiência passa de 2,14 bilhões e injeta a chave RSA padrão do OpenTibia no endereço de memória Base + 0x1B8980.
O carregamento de arquivos recebeu um leitor para formatos .dat modernos. O código reconhece tanto arquivos padrão da versão 8.60 quanto versões 10.x e 12.x identificadas pela assinatura 0x4A10. O leitor interpreta velocidade de piso, deslocamentos de posicionamento, elevação do personagem, níveis de iluminação, grupos de quadros, animações e dados de mercado no atributo 33.
A interface do usuário traz recursos adicionais renderizados direto no frame buffer. O painel de market tem 750 por 545 pixels, com 4 abas, 23 categorias, filtros de busca, estatísticas de preços e cálculo de taxas. Os personagens ganham suporte a montarias com posicionamento automático de camadas, máscara de cores e elevação vertical de 3 pixels. Uma barra de mana aparece na tela abaixo da barra de vida, com texto da porcentagem numérica. Na comunicação com o servidor, a DLL intercepta pacotes de entrada descriptografados em Base + 0x5C3A0 pelo opcode 0x32, encaminhando os sub-opcodes 0x01 para ativar montaria, 0x02 para remover montaria e 0x03 para dados de market. Para diminuir quedas de quadros no Windows 10 e no Windows 11, o ponteiro de importação de timeGetTime em Base + 0x1B85A0 é redirecionado para chamadas de hardware via QueryPerformanceCounter.
Por que isso importa para quem joga ou administra um servidor
Donos de servidores recebem uma base de código inspecionável e aberta para modificações de cliente que antes ficavam restritas a vendas privadas ou arquivos de código fechado.
De acordo com o anúncio de lançamento no OTLand, Nottinghster decidiu abrir o código porque extensões de DLL semelhantes para clientes 8.60 costumam ser vendidas em canais fechados. A publicação sob licença MIT dá aos administradores uma base verificada que pode ser inspecionada e compilada sem depender de executáveis desconhecidos.
A extensão funciona sem injetores externos ou launchers personalizados. Como o Windows procura arquivos na pasta local do aplicativo antes dos diretórios do sistema, o Tibia.exe carrega o arquivo ddraw.dll de forma automática ao iniciar. A DLL repassa as chamadas padrão do DirectDraw para C:\Windows\System32\ddraw.dll enquanto executa sua rotina de inicialização em segundo plano. O projeto credita estudos de engenharia reversa e endereços de memória do projeto TibiaAPI, de Jo3bingham, além de conceitos de interceptação gráfica da Tibia-Extended-Client-Library, de SaiyansKing.
Como aviso de transparência, este artigo foi publicado no blog do otservers.org, um diretório de servidores de Tibia. Administradores que mantêm servidores 8.60 listados no otservers.org podem usar essa base de código para testar recursos personalizados de cliente mantendo a compatibilidade de protocolo.
O que acompanhar
O projeto ainda está em estágio inicial de desenvolvimento alpha e não oferece arquivos compilados, o que exige que administradores de servidores compilem o binário manualmente.
Nottinghster explicou no OTLand que ainda existem casos específicos e erros a corrigir, convidando a comunidade a enviar pull requests no GitHub. Até 23 de setembro de 2026, o repositório no GitHub não conta com versões binárias publicadas nem git tags. Quem administra servidores precisa compilar a DLL de 32 bits usando o Visual Studio e o CMake 3.15 ou mais recente.
Um commit feito em 22 de setembro de 2026 removeu o arquivo de configuração config.ini mencionado na documentação anterior. Todos os seletores de recursos, limites de protocolo, temporizadores de hardware e definições de IP do servidor agora ficam em include/features.h. Quem opera servidores precisa ajustar esses parâmetros antes de compilar o binário final.
Principais pontos
- Nottinghster publicou o código-fonte C++ completo da Tibia 8.60 Extended Client DLL sob licença MIT em 21 de setembro de 2026.
- O projeto opera como um proxy DirectDraw chamado
ddraw.dll, carregado de forma automática ao abrir o cliente, sem necessidade de injetores externos. - Os recursos incluem transparência alfa ARGB de 32 bits, cache de sprites de 250 MB na RAM, leitura de formatos
.datmodernos e limite de sprites acima de 65.535. - O repositório não oferece binários pré-compilados, e um commit de 22 de setembro de 2026 transferiu as configurações do arquivo
config.inipara cabeçalhos definidos na compilação.
Perguntas frequentes
Como instalar a Tibia 8.60 Extended Client DLL?
Para instalar, coloque o arquivo ddraw.dll compilado diretamente na pasta do cliente Tibia 8.60 onde fica o executável Tibia.exe. Quando o cliente é aberto, a ordem de busca de DLLs do Windows carrega o arquivo ddraw.dll local em vez da versão do sistema em C:\Windows\System32. A DLL ativa suas interceptações na memória de forma automática, sem exigir executáveis modificados ou injetores de terceiros.
Quais são os requisitos para compilar a DLL?
A compilação da DLL exige um ambiente de desenvolvimento Windows de 32 bits com o Microsoft Visual C++ do Visual Studio 2019, 2022 ou 2026 e CMake 3.15 ou mais recente. A configuração de build precisa dos cabeçalhos do DirectX 9 SDK, cabeçalhos de OpenGL e da biblioteca winmm.lib. Como o Tibia.exe é um aplicativo de 32 bits, o projeto precisa ser compilado para a arquitetura x86.
É possível ativar ou desativar recursos pelo config.ini?
A configuração de recursos via config.ini não funciona mais no código atual do repositório. Em 22 de setembro de 2026, um commit removeu o config.ini e o arquivo src/config.cpp para tornar a ddraw.dll um binário independente. Todas as opções de recursos, limites de protocolo, temporizadores e parâmetros de conexão com o servidor agora são definidos durante a compilação no arquivo include/features.h.
Fonte: OTLand Discussão: OTLand
Donos de servidores que preparam um cliente atualizado para lançamento podem listar seu servidor gratuitamente seguindo o guia Como listar seu OT server no otservers.org.
Procurando um servidor para jogar? Veja a lista ranqueada.