El mayor portal de MU Online de Brasil — desde 2003
Tutorial Avanzado Tutoriais

Cómo Hacer Patch en el Cliente de MU Online: Guía Técnica Completa

Aprende a hacer patch en el cliente de MU Online: editar main.exe, archivos BMD, texturas y distribuir actualizaciones vía patcher o launcher.

EQ Equipo ViciadosMU · Actualizado el 3 jul 2026 · ⏱ 12 min de lectura

Hacer patch en el cliente de MU Online implica editar el ejecutable principal, reemplazar archivos de datos (BMD/OZJ/OZT) y distribuir esos cambios a los jugadores de manera controlada. Esta guía cubre todo el proceso técnico para servidores Season 6 Episode 3 (la versión más común en servidores privados), con notas para otras seasons donde sea relevante.

Entendiendo la Estructura del Cliente

Antes de hacer cualquier edición, es fundamental conocer qué hace cada componente:

MU_Cliente/
├── main.exe              ← Ejecutable principal (IP, puerto, título)
├── webzen.bnr            ← Banner de la pantalla de login (reemplazable)
├── Data/
│   ├── Monster/          ← BMDs de monstruos (atributos, animaciones)
│   ├── Item/             ← BMDs de ítems (stats, apariencia)
│   ├── Interface/        ← Texturas OZJ/OZT de la interfaz
│   ├── Effect/           ← Efectos visuales OZJ
│   ├── Map/              ← Datos de mapas ATT/OZB
│   └── Log/              ← error.log generado por el cliente
├── GGAuth.des            ← Firma de GameGuard
└── npggk.des             ← Driver de GameGuard
Nota: Los servidores Season 9+ usan una estructura parcialmente diferente: los archivos .bmd pueden estar dentro de subcarpetas comprimidas .pak. La extracción y re-empaquetado requiere herramientas específicas para cada versión.

Paso 1: Editar el main.exe — IP y Puerto del ConnectServer

Esta es la edición más frecuente: apuntar el cliente hacia la IP de tu servidor.

Herramientas necesarias: MuMain Editor (recomendado) o HxD (editor hex).

Usando MuMain Editor

  1. Abre MuMain Editor y carga tu main.exe
  2. Localiza el campo ConnectServer IP — mostrará la IP actual (ej: 203.229.132.52)
  3. Reemplázala con tu IP: 192.168.1.100 (LAN) o la IP pública de tu VPS
  4. Confirma el Puerto — el predeterminado en Season 6 es 44405
  5. Cambia el título de ventana si lo deseas (campo WindowTitle)
  6. Guarda — el editor reescribe solo los bytes modificados, manteniendo la alineación

Usando HxD (método manual)

1. Abre main.exe en HxD (asegúrate de que el modo Sobrescribir esté activo — tecla Insert)
2. Presiona Ctrl+F → pestaña "Text string" → busca la IP actual: 203.229.132.52
3. Anota el offset mostrado en la barra de estado (ej: 00D3A0C4)
4. Haz clic en el primer carácter de la IP encontrada
5. Escribe la nueva IP sobrescribiendo byte a byte (misma longitud o menor, rellena el resto con \x00)
6. Guarda con Ctrl+S
Atenção: El campo de IP en main.exe tiene tamaño fijo. Si tu nueva IP tiene más caracteres que la original, corromperás los bytes adyacentes. Usa siempre una IP de igual o menor longitud, rellenando el resto con bytes nulos (00 en hex).

Paso 2: Deshabilitar o Reconfigurar GameGuard

Tras editar main.exe, GameGuard detectará la modificación y bloqueará el arranque.

Opción A — Deshabilitar GameGuard en el servidor (más común en privados):

Edita GameServer/Config/GameServer.ini:

[GameServer]
UseGameGuard=0
GGAuthKey=0000000000000000

Edita también ConnectServer/Config/ConnectServer.ini si hay verificación doble:

UseGameGuard=0

Opción B — Mantener GameGuard con main.exe editado:

Necesitarás una versión "crackeada" de npggk.des compatible con tu build. Este proceso es específico por versión de GG y está fuera del alcance de esta guía — la mayoría de los servidores privados opta por la Opción A.

Dica: Si el servidor usa un anti-cheat alternativo (ej: GClient, MuGuard), consulta su archivo de configuración específico. El proceso de whitelist del ejecutable es diferente para cada solución.

Paso 3: Editar Archivos BMD

Los archivos .bmd controlan monstruos, ítems, habilidades y NPCs. Las ediciones más comunes incluyen cambiar stats de monstruos y agregar nuevos ítems.

Herramientas para BMD

  • MuBMD Editor — GUI para editar Monster.bmd, Item.bmd
  • ItemEditor — específico para Item.bmd con visualización de campos
  • Editor Hex — para ediciones puntuales cuando la herramienta GUI no soporta el campo

Ejemplo: Cambiar HP de un Monstruo en Monster.bmd

1. Abre Monster.bmd en MuBMD Editor
2. Localiza el monstruo por ID (ej: ID 6 = Budge Dragon)
3. Cambia el campo HP: de 80 a 500
4. Guarda el archivo
5. Copia el BMD editado a Data/Monster/ en el cliente

Ejemplo: Agregar una Opción a un Ítem en Item.bmd

Vía SQL en la base de datos del servidor (ItemList en la tabla del GameServer):

-- Verificar opciones actuales del ítem (ej: Legendary Sword = Type 0, Index 13)
SELECT * FROM MuOnline.dbo.ItemOption
WHERE ItemType = 0 AND ItemIndex = 13;

-- Agregar nueva opción (ejemplo: aumentar daño base)
UPDATE MuOnline.dbo.ItemOption
SET MinDamage = 150, MaxDamage = 200
WHERE ItemType = 0 AND ItemIndex = 13;
Nota: La edición de stats de ítems vía base de datos afecta el lado del servidor. La edición del Item.bmd en el cliente afecta únicamente la visualización (nombre, descripción, apariencia). Ambos deben estar sincronizados para evitar inconsistencias visuales.

Paso 4: Reemplazar Texturas e Interfaz

Las texturas del cliente están en formato .ozj (JPEG comprimido con header OZJ) y .ozt (TGA comprimido). La pantalla de login usa webzen.bnr.

Reemplazar la Imagen de Login (webzen.bnr)

1. Crea tu imagen: 1024x768 píxeles, formato JPEG
2. Renómbrala a webzen.bnr
3. Reemplaza el archivo en la raíz del cliente MU
Dica: Algunos builds de cliente Season 6 aceptan BNR como un JPEG puro renombrado. Otros requieren un header específico. Si la pantalla de login aparece en negro, usa la herramienta OZJConverter para generar un BNR compatible con tu build.

Convertir y Reemplazar Texturas OZJ

1. Convierte tu textura (PNG/JPG) a OZJ usando OZJConverter:
   OZJConverter.exe input.png output.ozj
2. Coloca el OZJ en la carpeta correcta:
   - Interfaz general: Data/Interface/
   - Efectos: Data/Effect/
   - Mapas: Data/Map/Texture/
3. El nombre del archivo debe ser EXACTAMENTE igual al original

Paso 5: Crear y Distribuir el Patch

Con todas las ediciones listas, debes distribuir los cambios a los jugadores.

Método A: Patcher Simple con Lista de Archivos

Crea un archivo patchlist.txt en tu servidor web (ej: http://tusitio.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: ruta_relativa|hash_md5|tamaño_en_bytes

Método B: Launcher con Auto-Update

Si usas un launcher (ej: MuLauncher, LauncherXE), edita el archivo de configuración del launcher:

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

El launcher descarga únicamente los archivos cuyo hash difiere del local, ahorrando ancho de banda.

Atenção: Nunca distribuyas el main.exe editado sin antes probarlo en una instalación limpia del cliente. Un main.exe corrupto impedirá que todos los jugadores inicien sesión. Mantén siempre una copia de respaldo del main.exe original.

Paso 6: Probar el Cliente Parchado

Lista de verificación antes de publicar:

[ ] main.exe abre sin error de GameGuard
[ ] La pantalla de login carga correctamente (no queda en negro)
[ ] IP/puerto correctos — cliente se conecta al ConnectServer
[ ] Los personajes cargan con texturas correctas
[ ] Los BMDs editados reflejan los cambios en el juego
[ ] Sin errores críticos en Data/Log/error.log
[ ] El patcher distribuye los archivos correctamente (verificar MD5)

Verificar Conectividad del Cliente

En el servidor, confirma que el ConnectServer está escuchando en el puerto correcto:

-- Verificar configuración de puerto en la base de datos (si se almacena ahí)
SELECT * FROM MuOnline.dbo.ServerInfo
WHERE ServerCode = 0; -- ConnectServer

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

En el servidor Windows, verifica con netstat:

netstat -an | findstr :44405

La salida debe mostrar 0.0.0.0:44405 LISTENING.

Solución de Problemas Comunes

Error: "Cannot connect to server" tras editar main.exe

  • Verifica que la IP fue editada correctamente (sin bytes extra ni faltantes)
  • Confirma que el puerto en main.exe coincide con BindPort en ConnectServer.ini
  • Prueba conectividad: telnet TU_IP 44405 desde el lado del cliente

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

  • Confirma UseGameGuard=0 en GameServer.ini y ConnectServer.ini
  • Reinicia los servicios del GameServer tras el cambio
  • Si el error persiste, verifica si hay un tercer archivo de configuración: EventServer/Config/EventServer.ini

El cliente se congela en la pantalla de carga del personaje

-- Verificar si hay datos de personaje corruptos
SELECT AccountID, Name, Class, cLevel
FROM MuOnline.dbo.Character
WHERE AccountID = 'cuenta_problema';

-- Mover el personaje a Lorencia (mapa 0) como reset de emergencia
UPDATE MuOnline.dbo.Character
SET MapNumber = 0, MapPosX = 135, MapPosY = 130
WHERE Name = 'NombreDelPersonaje';

Los cambios en BMD no se reflejan en el cliente

  • Confirma que copiaste el BMD a la carpeta correcta (Data/Monster/ vs Data/NPC/)
  • Verifica si el cliente está usando en caché una versión antigua — ciérralo, elimina Data/Cache/ si existe, reabre
  • Confirma que el BMD editado tiene exactamente el mismo nombre (sensible a mayúsculas en algunos builds)
Dica: Para agilizar el ciclo de pruebas, mantén una instalación de cliente separada solo para testing, fuera de la carpeta pública del patcher. Así puedes probar cambios sin afectar a los jugadores en vivo de tu servidor.

Conclusión

Hacer patch en el cliente de MU Online requiere atención a tres capas independientes: el ejecutable (main.exe), los archivos de datos binarios (BMD) y las texturas (OZJ/OZT). Cada capa tiene sus propias herramientas y puntos de fallo. Con la lista de verificación de pruebas y los comandos de diagnóstico SQL presentados aquí, podrás identificar y resolver la gran mayoría de problemas antes de que impacten a los jugadores de tu servidor.

Perguntas frequentes

¿Qué herramienta uso para editar el main.exe del cliente MU?

Usa MuMain Editor o un editor hexadecimal como HxD. MuMain Editor expone campos legibles (IP, puerto, título de ventana) sin necesidad de navegar hex puro. Para cambios de IP/puerto en Season 6, el offset del campo ConnectServer suele estar alrededor de 0x00D3A0C0, pero varía por build — siempre localiza el string mediante búsqueda ASCII antes de editar.

¿Puedo redistribuir el cliente parchado sin romper el anti-cheat?

GameGuard (GGAuth.des / npggk.des) verifica el hash del main.exe al iniciar. Tras editar main.exe debes regenerar el hash o deshabilitar la verificación en el servidor configurando UseGameGuard=0 en GameServer/Config/GameServer.ini, de lo contrario los jugadores recibirán el error 'Game client is modified'.

¿Cómo actualizo archivos BMD sin recompilar todo el cliente?

Simplemente reemplaza el archivo BMD en la carpeta correspondiente (ej: Data/Monster/, Data/Item/) y actualiza el patcher para incluir el nuevo archivo en la lista de verificación de CRC. El cliente lee los BMDs directamente del disco — no hay vinculación estática. Asegúrate de mantener la versión de serialización compatible con tu build de cliente.

¿Por qué el cliente se congela en la pantalla de carga tras el patch?

Las causas más comunes son: (1) BMD con versión incompatible — el cliente espera un header de versión específico; (2) archivo de textura DDJ/OZJ corrupto en Data/Interface/; (3) main.exe con IP/puerto incorrectos tras una edición hex mal alineada. Revisa el log en Data/Log/error.log para ver el mensaje de error exacto.

EQ

Equipo ViciadosMU

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

Sigue leyendo

Artículos relacionados

🛡️
Tutorial

Cómo Editar el Cliente de MU: Patching del Main.exe y Configuraciones

Guía técnica paso a paso para hacer patching del Main.exe de MU Online: editar IP del servidor, pantalla de login, strings internas y verificaciones de versión.

12 min · Avanzado
🚀
Tutorial

Cómo crear un Launcher de actualización para servidor de MU Online

Guía completa para crear y configurar un Launcher (actualizador automático) para tu servidor de MU Online: qué es el launcher y por qué es esencial para un servidor público (no es solo cosmético — es cómo actualizas el cliente de todos los jugadores a la vez sin que tengan que reinstalar nada), los 3 componentes del sistema de launcher (el programa .exe del jugador, el servidor de archivos con los updates, y la lista de versiones), qué información va en la lista de versiones (nombre, hash MD5, URL de descarga), cómo alojar los archivos de actualización en tu sitio web o en un servidor de archivos dedicado, cómo configurar el launcher con tu dominio y la URL de las noticias, cómo probar el launcher en una instalación limpia, los errores más comunes en launchers de MU Online y sus soluciones, y cómo actualizar el cliente de todos tus jugadores cuando publicas un parche.

12 min · Intermedio
🖌️
Tutorial

Cómo editar el Main, la pantalla de login y la resolución del cliente

Guía completa para personalizar el cliente de tu servidor de MU Online: qué es el Main.exe y qué controla (conexión, textos, comportamientos), las formas de editar el Main para apuntar al IP/dominio de tu servidor (editores hexadecimales, herramientas de la distribución), cómo cambiar la imagen de la pantalla de login para ponerle el arte de tu servidor (formato y dimensiones correctas por season), cómo editar el archivo WTF y los archivos de texto del cliente para personalizar mensajes, cómo corregir los problemas de acentuación y caracteres especiales en el cliente, cómo cambiar la resolución de pantalla del cliente (modo ventana, resolución para pantallas widescreen), los archivos de sonido y música que puedes cambiar, las modificaciones al HUD y elementos de la interfaz, las precauciones de seguridad al modificar el Main (backup siempre, prueba en PC limpio), y los errores más comunes al editar el cliente y cómo resolverlos.

12 min · Avanzado