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

Como Fazer Patch no Cliente de MU Online: Guia Técnico Completo

Aprenda a fazer patch no cliente de MU Online: editar main.exe, arquivos BMD, texturas e distribuir atualizações via patcher ou launcher.

EQ Equipe ViciadosMU · Atualizado em 3 jul 2026 · ⏱ 12 min de leitura

Fazer patch no cliente de MU Online envolve editar o executável principal, substituir arquivos de dados (BMD/OZJ/OZT) e distribuir essas mudanças aos jogadores de forma controlada. Este guia cobre todo o processo técnico para servidores Season 6 Episode 3 (a versão mais comum em servidores privados), com observações para outras seasons onde relevante.

Entendendo a Estrutura do Cliente

Antes de qualquer edição, é essencial conhecer o que cada componente faz:

MU_Cliente/
├── main.exe              ← Executável principal (IP, porta, título)
├── webzen.bnr            ← Banner da tela de login (substituível)
├── Data/
│   ├── Monster/          ← BMDs de monstros (atributos, animações)
│   ├── Item/             ← BMDs de itens (stats, aparência)
│   ├── Interface/        ← Texturas OZJ/OZT da interface
│   ├── Effect/           ← Efeitos visuais OZJ
│   ├── Map/              ← Dados de mapas ATT/OZB
│   └── Log/              ← error.log gerado pelo cliente
├── GGAuth.des            ← Assinatura do GameGuard
└── npggk.des             ← Driver do GameGuard
Nota: Servidores Season 9+ usam estrutura parcialmente diferente: arquivos .bmd podem estar dentro de subpastas comprimidas .pak. O processo de extração e reempacotamento exige ferramentas específicas para cada versão.

Passo 1: Editar o main.exe — IP e Porta do ConnectServer

Esta é a edição mais frequente: apontar o cliente para o IP do seu servidor.

Ferramentas necessárias: MuMain Editor (recomendado) ou HxD (editor hex).

Usando MuMain Editor

  1. Abra o MuMain Editor e carregue seu main.exe
  2. Localize o campo ConnectServer IP — ele exibirá o IP atual (ex: 203.229.132.52)
  3. Substitua pelo seu IP: 192.168.1.100 (LAN) ou IP público da VPS
  4. Confirme a Porta — padrão Season 6 é 44405
  5. Altere o título da janela se desejar (campo WindowTitle)
  6. Salve — o editor reescreve apenas os bytes alterados, mantendo o alinhamento

Usando HxD (método manual)

1. Abra main.exe no HxD (Ctrl+A para não editar no modo sobreescrita)
2. Pressione Ctrl+F → aba "Text string" → busque o IP atual: 203.229.132.52
3. Anote o offset exibido no rodapé (ex: 00D3A0C4)
4. Clique em cima do primeiro caractere do IP encontrado
5. Digite o novo IP sobrescrevendo byte a byte (mesmo comprimento ou menor, completando com \x00)
6. Salve com Ctrl+S
Atenção: O campo de IP no main.exe tem tamanho fixo. Se seu novo IP tiver mais caracteres que o original, você corrompera bytes adjacentes. Use sempre um IP de comprimento igual ou menor, preenchendo o restante com bytes nulos (00 em hex).

Passo 2: Desabilitar ou Reconfigurar o GameGuard

Após editar o main.exe, o GameGuard detectará a modificação e bloqueará a inicialização.

Opção A — Desabilitar GameGuard no servidor (mais comum em privados):

Edite GameServer/Config/GameServer.ini:

[GameServer]
UseGameGuard=0
GGAuthKey=0000000000000000

Edite também ConnectServer/Config/ConnectServer.ini se houver verificação dupla:

UseGameGuard=0

Opção B — Manter GameGuard com main.exe editado:

Você precisará de uma versão "cracked" do npggk.des compatível com sua build. Este processo é específico por versão do GG e está fora do escopo deste guia — a maioria dos servidores privados opta pela Opção A.

Dica: Se o servidor usa anti-cheat alternativo (ex: GClient, MuGuard), consulte o arquivo de configuração específico dele. O processo de whitelist do executável é diferente para cada solução.

Passo 3: Editar Arquivos BMD

Arquivos .bmd controlam monstros, itens, habilidades e NPCs. Edições comuns incluem alterar stats de monstros e adicionar novos itens.

Ferramentas para BMD

  • MuBMD Editor — GUI para edição de Monster.bmd, Item.bmd
  • ItemEditor — específico para Item.bmd com visualização de campos
  • Hex Editor — para edições pontuais quando a ferramenta GUI não suporta o campo

Exemplo: Alterar HP de um Monstro em Monster.bmd

1. Abra Monster.bmd no MuBMD Editor
2. Localize o monstro pelo ID (ex: ID 6 = Budge Dragon)
3. Altere o campo HP: de 80 para 500
4. Salve o arquivo
5. Copie o BMD editado para Data/Monster/ no cliente

Exemplo: Adicionar Opção a um Item em Item.bmd

Via SQL no banco de dados do servidor (ItemList na tabela do GameServer):

-- Verificar opções atuais do item (ex: Legendary Sword = Type 0, Index 13)
SELECT * FROM MuOnline.dbo.ItemOption
WHERE ItemType = 0 AND ItemIndex = 13;

-- Adicionar nova opção (exemplo: aumentar dano base)
UPDATE MuOnline.dbo.ItemOption
SET MinDamage = 150, MaxDamage = 200
WHERE ItemType = 0 AND ItemIndex = 13;
Nota: A edição de stats de itens via banco de dados afeta o servidor. A edição do Item.bmd no cliente afeta apenas a exibição (nome, descrição, aparência). Ambos precisam estar em sincronia para evitar inconsistências visuais.

Passo 4: Substituir Texturas e Interface

Texturas do cliente ficam nos formatos .ozj (JPEG comprimido com header OZJ) e .ozt (TGA comprimido). A tela de login usa webzen.bnr.

Substituir a Imagem de Login (webzen.bnr)

1. Crie sua imagem: 1024x768 pixels, formato JPEG
2. Renomeie para webzen.bnr
3. Substitua o arquivo na raiz do cliente MU
Dica: Alguns builds de cliente Season 6 aceitam BNR como JPEG puro renomeado. Outros exigem header específico. Se a tela de login ficar preta, use a ferramenta OZJConverter para gerar um BNR compatível com seu build.

Converter e Substituir Texturas OZJ

1. Converta sua textura (PNG/JPG) para OZJ usando OZJConverter:
   OZJConverter.exe input.png output.ozj
2. Coloque o OZJ na pasta correta:
   - Interface geral: Data/Interface/
   - Efeitos: Data/Effect/
   - Mapas: Data/Map/Texture/
3. O nome do arquivo deve ser EXATAMENTE o mesmo do original

Passo 5: Criar e Distribuir o Patch

Com todas as edições feitas, você precisa distribuir as alterações aos jogadores.

Método A: Patcher Simples com Lista de Arquivos

Crie um arquivo patchlist.txt no seu servidor web (ex: http://seusite.com/patch/):

patchlist.txt
version=1005
main.exe|a3f8c2d1e4b9071234567890abcdef12|45678912
Data/Monster/Monster.bmd|b7e3a1c9f2d4e8071234567890abcdef|891234
Data/Interface/Login.ozj|c9d4b2e1a3f7c8071234567890123456|234567
webzen.bnr|d1e5c3b4a2f9e7071234567890fedcba|123456

Formato: caminho_relativo|md5_hash|tamanho_em_bytes

Método B: Launcher com Auto-Update

Se você usa um launcher (ex: MuLauncher, LauncherXE), edite o arquivo de configuração do launcher:

[Update]
PatchServer=http://seusite.com/patch/
PatchList=patchlist.txt
PatchVersion=1005
ForceUpdate=1
BackupOldFiles=1

O launcher baixa apenas os arquivos com hash diferente do local, economizando banda.

Atenção: Nunca distribua o main.exe editado sem antes testar em uma instalação limpa do cliente. Um main.exe corrompido impede todos os jogadores de logar. Mantenha sempre um backup do main.exe original.

Passo 6: Testar o Cliente Patcheado

Checklist de verificação antes de publicar:

[ ] main.exe abre sem erro de GameGuard
[ ] Tela de login carrega corretamente (não fica preta)
[ ] IP/porta corretos — cliente conecta ao ConnectServer
[ ] Personagens carregam com texturas corretas
[ ] BMDs editados refletem as mudanças no jogo
[ ] Log em Data/Log/error.log sem erros críticos
[ ] Patcher distribui arquivos corretamente (verificar MD5)

Verificar Conectividade do Cliente

No servidor, confirme que o ConnectServer está escutando na porta correta:

-- Verificar configuração de porta no banco (se armazenada)
SELECT * FROM MuOnline.dbo.ServerInfo
WHERE ServerCode = 0; -- ConnectServer

-- Confirmar IP configurado
SELECT BindIP, BindPort FROM MuOnline.dbo.ConnectServerConfig;

No servidor Windows, verifique com netstat:

netstat -an | findstr :44405

A saída deve mostrar 0.0.0.0:44405 LISTENING.

Solução de Problemas Comuns

Erro: "Cannot connect to server" após editar main.exe

  • Verifique se o IP foi editado corretamente (sem bytes extras/faltantes)
  • Confirme que a porta no main.exe bate com BindPort do ConnectServer.ini
  • Teste conectividade: telnet SEU_IP 44405 do lado do cliente

Erro: "Game client has been modified" (GameGuard)

  • Confirme UseGameGuard=0 em GameServer.ini e ConnectServer.ini
  • Reinicie os serviços do GameServer após a mudança
  • Se o erro persistir, verifique se há um terceiro arquivo de configuração: EventServer/Config/EventServer.ini

Cliente trava na tela de carregamento do personagem

-- Verificar se há dados de personagem corrompidos
SELECT AccountID, Name, Class, cLevel
FROM MuOnline.dbo.Character
WHERE AccountID = 'conta_problema';

-- Mover personagem para Lorencia (mapa 0) como reset de emergência
UPDATE MuOnline.dbo.Character
SET MapNumber = 0, MapPosX = 135, MapPosY = 130
WHERE Name = 'NomeDoPersonagem';

BMD não reflete mudanças no cliente

  • Confirme que copiou o BMD para a pasta correta (Data/Monster/ vs Data/NPC/)
  • Verifique se o cliente não está cacheando uma versão antiga — feche, delete Data/Cache/ se existir, reabra
  • Confirme que o BMD editado tem o mesmo nome exato (case-sensitive em alguns builds)
Dica: Para agilizar o ciclo de teste, mantenha uma instalação do cliente separada só para testes, fora da pasta pública do patcher. Assim você testa mudanças sem afetar os jogadores.

Conclusão

Fazer patch no cliente de MU Online requer atenção a três camadas independentes: o executável (main.exe), os dados binários (BMD) e as texturas (OZJ/OZT). Cada camada tem suas ferramentas e pontos de falha específicos. Com o checklist de testes e os comandos de diagnóstico SQL apresentados aqui, você consegue identificar e resolver a grande maioria dos problemas antes de impactar os jogadores do seu servidor.

Perguntas frequentes

Qual ferramenta uso para editar o main.exe do cliente MU?

Use o MuMain Editor ou um editor hexadecimal como HxD. O MuMain Editor expõe campos legíveis (IP, porta, título da janela) sem precisar navegar raw hex. Para mudanças de IP/porta em Season 6, o offset padrão do campo ConnectServer fica em torno de 0x00D3A0C0, mas isso varia por build — sempre localize a string via busca ASCII antes de editar.

Posso redistribuir o cliente patcheado sem quebrar o anti-cheat?

O GameGuard (GGAuth.des / npggk.des) verifica o hash do main.exe na inicialização. Após editar o main.exe você precisa regenerar o hash ou desabilitar a verificação no servidor editando a linha UseGameGuard=0 em GameServer/Config/GameServer.ini, caso contrário os jogadores receberão erro de 'Game client is modified'.

Como atualizar arquivos BMD sem recompilar o cliente inteiro?

Basta substituir o arquivo BMD na pasta correspondente (ex: Data/Monster/, Data/Item/) e atualizar o patcher para incluir o arquivo novo na lista de verificação de CRC. O cliente lê BMDs diretamente do disco — não há linkagem estática. Certifique-se de manter a versão de serialização compatível com a build do cliente.

Por que o cliente trava na tela de carregamento após o patch?

As causas mais comuns são: (1) BMD com versão incompatível — o cliente espera um header de versão específico; (2) arquivo de textura DDJ/OZJ corrompido na pasta Data/Interface/; (3) main.exe com IP/porta incorretos após edição hex mal alinhada. Verifique o log em Data/Log/error.log para a mensagem de erro exata.

EQ

Equipe ViciadosMU

Equipe editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Continue lendo

Artigos relacionados