O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Cliente

Como editar o Main.exe do MU Online para HD/widescreen

Habilite resoluções widescreen e Full HD no cliente de MU Online editando o Main.exe — com backup, edição de offsets de resolução, ajuste do Setup.ini e distribuição do executável modificado pelo launcher.

BR Bruno · Atualizado em 12 set 2024 · ⏱ 24 min de leitura
Resposta rápida

O cliente clássico do MU Online foi desenhado para monitores 4:3 dos anos 2000, com resoluções como 640x480, 800x600 e 1024x768 embutidas no próprio Main.exe. Em um monitor moderno widescreen, o resultado é uma imagem esticada ou com bordas pretas. Habilitar HD e widescreen é uma das personalizações

O cliente clássico do MU Online foi desenhado para monitores 4:3 dos anos 2000, com resoluções como 640x480, 800x600 e 1024x768 embutidas no próprio Main.exe. Em um monitor moderno widescreen, o resultado é uma imagem esticada ou com bordas pretas. Habilitar HD e widescreen é uma das personalizações que mais valorizam a apresentação de um servidor — e envolve tocar diretamente no executável do cliente. Neste guia você vai aprender a fazer isso com segurança: backup, edição de resolução, ajuste do Setup.ini e, o mais importante, distribuição do Main.exe modificado pelo launcher para todos os jogadores.

Este é um tutorial de cliente, focado no Main.exe e nos arquivos que o jogador executa. Ele não trata da configuração do servidor — para montar o game server, veja o guia de como criar servidor de MU Online. Aqui, o assunto é fazer o jogo abrir bonito em telas modernas.

> Aviso importante: cada valor de offset, endereço e resolução citado aqui é EXEMPLO e varia por season/cliente. Não existe um endereço universal de resolução no Main.exe. O que é universal é o método — backup, localização, edição controlada, teste e distribuição.

Como o Main.exe controla a resolução

Em clientes clássicos, a lista de resoluções que o jogo oferece e os valores de largura/altura usados para inicializar o Direct3D ficam codificados dentro do Main.exe. Isso significa que, para adicionar uma resolução widescreen, há três caminhos possíveis:

  1. Setup.ini / config externa: em muitas distribuições, existe um arquivo de configuração que o Main.exe lê na inicialização. Alterar Width e Height ali já muda a resolução — sem tocar no binário.
  2. Patch de widescreen da comunidade: um Main.exe (ou DLL, tipo um d3d8.dll/wrapper) já modificado que aceita resoluções wide. É a via mais segura para quem não domina engenharia reversa.
  3. Edição direta do binário (hex): localizar os bytes que definem uma resolução e trocá-los pelos valores desejados. Poderoso, porém arriscado, e exige conhecer a sua build.

A ordem acima também é a ordem de preferência: tente o Setup.ini primeiro, depois um patch confiável, e só recorra ao hex se você realmente conhece os offsets da sua build.

Pré-requisitos

ItemRecomendaçãoPor quê
Cliente completoPasta do MU da sua seasonVocê vai editar o Main.exe dela
HxDEditor hexadecimal gratuitoLocalizar e editar bytes com segurança
Resource HackerGratuitoAjustar recursos/ícones se necessário
BackupCópia de Main.exe.bakRecuperação obrigatória
Monitor de testeResolução alvo (ex.: 1920x1080)Validar o resultado real
LauncherLauncher com manifestoDistribuir o Main.exe novo
Wrapper D3D (opcional)dgVoodoo2 ou similarCompatibilidade em GPUs modernas

Um pré-requisito de mentalidade: nunca edite o Main.exe original. Trabalhe sempre em uma cópia, mantenha o Main.exe.bak e trate cada tentativa como reversível. A recompensa (HD funcional) não vale perder a build de referência.

Passo 1 — Backup e identificação da build

Antes de qualquer coisa:

# faça o backup — este passo não é opcional
Copy-Item "Main.exe" "Main.exe.bak"

# registre o hash da build original, para referência e para o manifesto
(Get-FileHash "Main.exe" -Algorithm SHA256).Hash

Depois, identifique com qual tipo de cliente você está lidando. A abordagem muda conforme a época da season:

Faixa de seasonSuporte a resoluçãoEstratégia recomendada
Clássico (0.97–0.99)4:3 embutido no MainWrapper D3D + patch da comunidade
Season 1–34:3, algumas com 1024x768Setup.ini quando existir; senão hex/patch
Season 4–6Até 1024x768 nativoSetup.ini + patch de widescreen
Season 7–12Frequentemente já wideConfig externa costuma bastar
Seasons modernasWidescreen/Full HD nativoApenas ajustar a configuração

Os valores acima são orientações gerais; a build específica que você tem em mãos pode divergir. Sempre teste.

Passo 2 — Caminho fácil: Setup.ini e configuração externa

Muitas distribuições incluem um Setup.ini (ou nome equivalente) ao lado do Main.exe. Se o seu tem, esta é a rota mais limpa:

; Setup.ini — exemplo (nomes de chave variam por distribuição)
[Config]
WindowWidth  = 1920
WindowHeight = 1080
ColorDepth   = 32
WindowMode   = 0     ; 0 = tela cheia, 1 = janela
Gamma        = 3

Passos:

  1. Abra o Setup.ini em um editor de texto.
  2. Ajuste WindowWidth/WindowHeight para a resolução desejada (ex.: 1920 x 1080).
  3. Confirme a profundidade de cor em 32 bits.
  4. Salve e abra o Main para testar.

Se a resolução mudar e o jogo abrir corretamente, você terminou a parte técnica — pule para a distribuição pelo launcher (Passo 5). Se a resolução for ignorada, significa que ela está travada no binário, e você precisa do patch ou da edição hex.

Passo 3 — Caminho seguro: patch/wrapper de widescreen

Se o Setup.ini não resolve, a via mais segura é usar um Main.exe já modificado por um patch de widescreen ou um wrapper Direct3D. GPUs modernas frequentemente têm problemas com o Direct3D 8 antigo do MU clássico; um wrapper traduz as chamadas para uma API atual e, de quebra, muitos permitem forçar a resolução.

Opções comuns na comunidade:

  • Wrapper D3D8→D3D11/Vulkan (ex.: dgVoodoo2, colocando o d3d8.dll na pasta do cliente). Resolve compatibilidade e permite escalar a imagem.
  • Patch de widescreen específico da season, distribuído em fóruns de MU, que substitui o Main.exe por uma versão que expõe resoluções wide.

Procedimento genérico:

  1. Baixe o patch/wrapper compatível com a sua season (confirme a origem — malware disfarçado de patch é comum).
  2. Coloque os arquivos na pasta do cliente (o d3d8.dll costuma ir junto ao Main.exe).
  3. Configure a resolução alvo no arquivo de configuração do wrapper.
  4. Teste; se a imagem ficar correta, valide também a jogabilidade (mouse, HUD, clique nos monstros).

> Nunca execute um patch de origem duvidosa sem verificar. Um Main.exe modificado é o vetor perfeito para distribuir malware ao seu público. Prefira patches conhecidos e, ao distribuir aos jogadores, publique o hash no manifesto do launcher.

Passo 4 — Caminho avançado: edição hex do Main.exe

Se você conhece a sua build e precisa de controle fino, dá para editar as resoluções diretamente. A ideia é encontrar onde os valores de largura/altura estão gravados e trocá-los.

As resoluções costumam aparecer no binário como inteiros de 32 bits em little-endian. Alguns exemplos de como valores comuns se veem:

Resolução  Valor decimal  Hex (32-bit)  Bytes little-endian
800        800            0x00000320    20 03 00 00
600        600            0x00000258    58 02 00 00
1024       1024           0x00000400    00 04 00 00
768        768            0x00000300    00 03 00 00
1280       1280           0x00000500    00 05 00 00
720        720            0x000002D0    D0 02 00 00
1920       1920           0x00000780    80 07 00 00
1080       1080           0x00000438    38 04 00 00

Fluxo de edição no HxD:

  1. Abra a cópia do Main.exe no HxD.
  2. Procure por um par de resolução conhecido que exista na sua build, por exemplo 1024 seguido de 768 — em bytes, 00 04 00 00 ... 00 03 00 00. Use a busca hexadecimal.
  3. Ao localizar o bloco que representa uma entrada de resolução, substitua os bytes de 1024 por 1920 (80 07 00 00) e de 768 por 1080 (38 04 00 00).
  4. Mantenha o tamanho do arquivo: você está sobrescrevendo 4 bytes por 4 bytes, nunca inserindo ou removendo — inserir desloca todo o resto e corrompe o executável.
  5. Salve e teste.
Antes  (entrada 1024x768):
  00 04 00 00   00 03 00 00
             ↓  substituição byte-a-byte, mesmo tamanho
Depois (entrada 1920x1080):
  80 07 00 00   38 04 00 00

Realidades importantes desse caminho:

  • Não há offset universal. O endereço onde essas resoluções vivem muda por season e por build. O exemplo acima é ilustrativo; confirme na sua.
  • Pode haver uma tabela de resoluções. Alguns Mains guardam uma lista; você talvez precise editar a entrada certa e/ou a que o jogo seleciona por padrão.
  • A HUD pode não acompanhar. Habilitar a resolução expande o cenário, mas inventário, barras e tela de login podem exigir ajuste de texturas e coordenadas para não ficarem esticados ou fora de lugar.

Se o cliente crashar ao abrir depois da edição, restaure o backup imediatamente e revise qual bloco você alterou.

Passo 5 — Distribuir o Main.exe HD pelo launcher

De nada adianta um Main.exe HD perfeito na sua máquina se os jogadores continuam com o antigo. Como o Main.exe é apenas mais um arquivo do cliente, ele entra no fluxo normal do launcher:

  1. Coloque o novo Main.exe (já editado e testado) na pasta do cliente distribuível.
  2. Regenere o manifesto de versão para recalcular o hash do Main.exe:
# recalcular o hash do novo Main.exe para o manifesto
(Get-FileHash "C:\ClienteMU\Main.exe" -Algorithm SHA256).Hash.ToLower()
  1. Publique o arquivo no servidor de distribuição e atualize o version.json (arquivos primeiro, manifesto por último).
  2. Na próxima abertura, o launcher detecta que o hash do Main.exe local difere do manifesto e baixa a versão HD automaticamente.

Se o seu servidor valida o hash ou a versão do Main.exe no login, atualize também esse cadastro no lado servidor para que o novo Main seja aceito como legítimo — caso contrário os jogadores tomam "versão inválida" ao conectar. Esse detalhe varia por distribuição.

Passo 6 — Ajustes finos de HUD e compatibilidade

Depois que a resolução funciona, refine:

  • Tela de login e loading: recrie as imagens nas novas dimensões (ou proporções wide) para não ficarem esticadas. São texturas na pasta do cliente, tipicamente em Interface/ (o caminho varia por season).
  • Escala da interface: se a HUD ficou pequena em Full HD, verifique se a sua build tem opção de UI scale; algumas seasons modernas têm, as clássicas não.
  • Compatibilidade de GPU: se o jogo abre preto ou com artefatos em placas novas, um wrapper D3D resolve a maioria dos casos.
  • Modo janela vs. tela cheia: ofereça janela sem borda quando possível — é o que os jogadores modernos esperam e evita problemas de alt-tab.

Erros comuns e soluções

SintomaCausa provávelSolução
Main.exe não abre após edição hexBytes errados ou tamanho do arquivo alteradoRestaure o backup; edite só byte-a-byte, mesmo tamanho
Resolução ignorada mesmo mudando o Setup.iniResolução travada no binárioUse patch de widescreen ou edição hex
Imagem esticada/borrada em widescreenAspecto forçado sem correção de UIRecrie texturas de login/loading; considere wrapper com aspect correto
Tela preta ou artefatos em GPU novaDirect3D 8 antigo incompatívelInstale wrapper D3D (ex.: dgVoodoo2) na pasta do cliente
HUD desalinhada em Full HDCoordenadas/texturas de interface não ajustadasAjuste as texturas e posições da UI para a nova resolução
Jogadores tomam "versão inválida" ao logarServidor valida hash/versão do Main antigoAtualize o hash/versão aceitos no servidor e no manifesto
Cliente cai ao selecionar a resolução novaEntrada de resolução incompleta na tabelaReveja a tabela de resoluções do Main; confirme largura e altura

Boas práticas

  • Backup sempre: Main.exe.bak antes de tocar em qualquer byte. É a diferença entre um contratempo e perder a build.
  • Teste em hardware real na resolução alvo, não só na sua máquina de desenvolvimento.
  • Verifique a origem de patches: um Main.exe modificado é um ótimo disfarce para malware. Confirme hash e reputação da fonte.
  • Distribua oficialmente o Main HD pelo launcher e publique o novo hash no manifesto — nunca peça para o jogador baixar um .exe solto por fora.
  • Documente os offsets que você alterou na sua build específica; da próxima atualização de cliente, você economiza horas.

Checklist de lançamento

  • Main.exe.bak criado e hash da build original registrado
  • Tipo de cliente/season identificado e estratégia escolhida
  • Resolução alvo testada em monitor real
  • Setup.ini ajustado (quando aplicável)
  • Patch/wrapper de widescreen de origem confiável (se usado)
  • Edição hex feita byte-a-byte, tamanho do arquivo preservado
  • Cliente abre, conecta e joga sem crash na resolução nova
  • Texturas de login/loading ajustadas às novas dimensões
  • HUD verificada quanto a alinhamento e escala
  • Novo Main.exe publicado e hash atualizado no manifesto do launcher
  • Hash/versão do Main aceitos pelo servidor atualizados (se validado)
  • Teste final em máquina limpa via launcher, do zero

Perguntas frequentes

Dá para colocar Full HD em qualquer season do MU?

Não garantido. Clientes clássicos (0.97 até S6) foram feitos para 4:3, com resoluções embutidas no Main.exe. Muitos aceitam 1280x720 ou 1920x1080 com patch de widescreen; seasons modernas já trazem suporte nativo. O resultado varia por season/cliente.

Preciso editar o Main.exe no hex ou existe patch pronto?

As duas vias existem. Patches de widescreen da comunidade substituem o Main.exe ou uma DLL e são mais seguros. A edição por hex serve quando você conhece os offsets exatos da sua build — mas exige backup e cautela.

A interface (HUD) vai ficar esticada em widescreen?

Pode ficar. Habilitar a resolução é só metade; elementos de UF (inventário, barras, tela de login) podem precisar de texturas e coordenadas ajustadas. Em muitas builds a HUD centraliza e o cenário se expande, o que já é aceitável.

Editar o Main.exe pode ser detectado como cheat pelo servidor?

A edição em si é do cliente, mas alguns servidores validam o hash ou a versão do Main. Se você distribui o Main HD oficialmente pelo launcher, publique o novo hash no manifesto para que o cliente seja aceito como legítimo.

Onde ficam os offsets de resolução no Main.exe?

Não há endereço universal. Cada season e cada build têm offsets próprios, e valores como 0x400 (1024) e 0x300 (768) aparecem em contextos diferentes. Trate qualquer offset citado como exemplo que varia por season/cliente e sempre confirme na sua build.

BR
Editor de eventos, mapas e itens

Bruno é especialista em eventos, mapas, bosses e economia de itens do MU Online. Documenta cada detalhe com base em jogo real.

Continue lendo

Artigos relacionados