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.
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:
- Setup.ini / config externa: em muitas distribuições, existe um arquivo de configuração que o Main.exe lê na inicialização. Alterar
WidtheHeightali já muda a resolução — sem tocar no binário. - 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. - 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
| Item | Recomendação | Por quê |
|---|---|---|
| Cliente completo | Pasta do MU da sua season | Você vai editar o Main.exe dela |
| HxD | Editor hexadecimal gratuito | Localizar e editar bytes com segurança |
| Resource Hacker | Gratuito | Ajustar recursos/ícones se necessário |
| Backup | Cópia de Main.exe.bak | Recuperação obrigatória |
| Monitor de teste | Resolução alvo (ex.: 1920x1080) | Validar o resultado real |
| Launcher | Launcher com manifesto | Distribuir o Main.exe novo |
| Wrapper D3D (opcional) | dgVoodoo2 ou similar | Compatibilidade 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 season | Suporte a resolução | Estratégia recomendada |
|---|---|---|
| Clássico (0.97–0.99) | 4:3 embutido no Main | Wrapper D3D + patch da comunidade |
| Season 1–3 | 4:3, algumas com 1024x768 | Setup.ini quando existir; senão hex/patch |
| Season 4–6 | Até 1024x768 nativo | Setup.ini + patch de widescreen |
| Season 7–12 | Frequentemente já wide | Config externa costuma bastar |
| Seasons modernas | Widescreen/Full HD nativo | Apenas 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:
- Abra o
Setup.iniem um editor de texto. - Ajuste
WindowWidth/WindowHeightpara a resolução desejada (ex.: 1920 x 1080). - Confirme a profundidade de cor em 32 bits.
- 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.dllna 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:
- Baixe o patch/wrapper compatível com a sua season (confirme a origem — malware disfarçado de patch é comum).
- Coloque os arquivos na pasta do cliente (o
d3d8.dllcostuma ir junto ao Main.exe). - Configure a resolução alvo no arquivo de configuração do wrapper.
- 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:
- Abra a cópia do
Main.exeno HxD. - 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. - 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). - 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.
- 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:
- Coloque o novo
Main.exe(já editado e testado) na pasta do cliente distribuível. - 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()
- Publique o arquivo no servidor de distribuição e atualize o
version.json(arquivos primeiro, manifesto por último). - 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
| Sintoma | Causa provável | Solução |
|---|---|---|
| Main.exe não abre após edição hex | Bytes errados ou tamanho do arquivo alterado | Restaure o backup; edite só byte-a-byte, mesmo tamanho |
| Resolução ignorada mesmo mudando o Setup.ini | Resolução travada no binário | Use patch de widescreen ou edição hex |
| Imagem esticada/borrada em widescreen | Aspecto forçado sem correção de UI | Recrie texturas de login/loading; considere wrapper com aspect correto |
| Tela preta ou artefatos em GPU nova | Direct3D 8 antigo incompatível | Instale wrapper D3D (ex.: dgVoodoo2) na pasta do cliente |
| HUD desalinhada em Full HD | Coordenadas/texturas de interface não ajustadas | Ajuste as texturas e posições da UI para a nova resolução |
| Jogadores tomam "versão inválida" ao logar | Servidor valida hash/versão do Main antigo | Atualize o hash/versão aceitos no servidor e no manifesto |
| Cliente cai ao selecionar a resolução nova | Entrada de resolução incompleta na tabela | Reveja a tabela de resoluções do Main; confirme largura e altura |
Boas práticas
- Backup sempre:
Main.exe.bakantes 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.bakcriado 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.