Cómo crear pantallas de login y selección personalizadas en MU Online
Aprende a personalizar por completo las pantallas de login y de selección de personaje del cliente de MU Online, editando texturas .ozj/.ozt, layouts de interfaz y el propio Main.exe.
La pantalla de login y la pantalla de selección de personaje son el primer contacto visual del jugador con tu servidor. Un login genérico da la impresión de "un servidor pirata más"; un login bien hecho, con logo propio, arte coherente y campos bien posicionados, transmite profesionalismo antes incl
La pantalla de login y la pantalla de selección de personaje son el primer contacto visual del jugador con tu servidor. Un login genérico da la impresión de "un servidor pirata más"; un login bien hecho, con logo propio, arte coherente y campos bien posicionados, transmite profesionalismo antes incluso de que el jugador teclee la contraseña. Este tutorial cubre el flujo completo de personalización: identificar los archivos correctos, convertir y editar texturas en el formato de MU, ajustar el layout controlado por el Main.exe, tratar la transparencia y empaquetar todo para la distribución. Es una guía avanzada porque implica manipular formatos propietarios (.ozj/.ozt) y, en algunos casos, editar bytes del ejecutable.
Requisitos previos
Antes de empezar, ten a mano e instalado:
- Cliente completo de tu servidor ya con la IP configurada. Si aún no has montado el servidor, empieza por la guía de cómo crear servidor de MU Online y vuelve aquí después.
- Editor de imagen con soporte de capas: GIMP (gratuito) o Photoshop.
- Conversor de texturas MU (MU Image Converter, OZJ/OZT Converter o equivalente de tu season). Cada distribución tiene su versión preferida — confirma cuál coincide con tu cliente.
- HxD (editor hexadecimal gratuito) para editar el Main.exe cuando sea necesario.
- Resource Hacker para recursos embebidos (icono, textos, versión).
- Copia de seguridad completa de la carpeta
Interface/y delMain.exe.
Cómo funciona la pantalla de login por dentro
La pantalla de login no es una imagen única: el motor del juego la monta en capas. Entender esa división evita horas de prueba y error:
| Capa | Dónde vive | Qué controla |
|---|---|---|
| Fondo (background) | Textura .ozj en la carpeta Interface/ | El arte a pantalla completa detrás de todo |
| Panel/marco de los campos | Textura .ozt (con alfa) | La "ventanita" donde están usuario y contraseña |
| Botones (Login, Salir, Crear) | Texturas .ozt + coordenadas en el Main | Apariencia y posición de los botones |
| Texto y fuentes | Renderizado por el Main.exe | Etiquetas, versión, mensajes de error |
| Posicionamiento (x,y) | Código del Main.exe | Dónde aparece cada elemento en la pantalla |
El punto crítico: cambiar el arte es fácil, mover las cosas de sitio es difícil. Mientras mantengas las dimensiones y solo repintes las texturas, el motor coloca todo donde ya lo esperaba. En el momento en que quieres cambiar coordenadas (ej.: subir los campos 40 píxeles), tienes que tocar el Main.exe.
Interface/ de TU cliente para descubrir los nombres reales antes de ponerte a editar.Localizar los archivos de login y selección
Explora la carpeta del cliente. La estructura típica (ejemplo, varía según season/cliente):
MU Online/
├── Interface/
│ ├── login.ozj ← fondo de la pantalla de login (ejemplo)
│ ├── login_ok.ozt ← botón Login (con alfa)
│ ├── login_exit.ozt ← botón Salir
│ ├── newchar.ozj ← fondo de la creación de personaje
│ └── character.ozj ← fondo de la selección de personaje (ejemplo)
├── Data/
│ └── Local/ ← en algunas versiones, textos localizados
└── Main.exe
Para descubrir qué archivo es cuál sin adivinar:
- Convierte en lote todos los
.ozj/.oztde la carpetaInterface/a.jpg/.png; - Abre la carpeta convertida en el Explorador en modo miniatura;
- Identifica visualmente el fondo del login, los botones y el panel de selección;
- Anota los nombres exactos y las dimensiones de cada uno (ancho x alto).
Formatos de textura de MU y cuándo usar cada uno
| Extensión | Base | Transparencia | Uso en la pantalla de login |
|---|---|---|---|
.ozj | JPEG | No | Fondo a pantalla completa, sin transparencia |
.ozt | TGA | Sí (alfa) | Botones, marcos, logos superpuestos |
.ozb | BMP | No | Texturas simples, elementos pequeños |
La regla de oro: si el elemento necesita "dejar ver" el fondo detrás de él (un botón con esquinas redondeadas, un logo recortado), tiene que ser .ozt. Si guardas un logo recortado como .ozj, las esquinas transparentes se convierten en un rectángulo negro o blanco.
Editar el fondo de la pantalla de login (paso a paso)
- Haz copia de seguridad:
copy Interface\login.ozj Interface\login.ozj.bak; - Convierte el original para editar:
login.ozj→login.jpgen el conversor; - Abre el
login.jpgen GIMP/Photoshop y anota las dimensiones exactas (ej.: 1024x768 — varía según season/cliente); - Monta tu arte en una nueva capa por encima, manteniendo el tamaño idéntico:
- Logo del servidor bien visible (arriba o al centro);
- Eslogan y dirección del sitio;
- Espacio "limpio" en el área donde aparecerán los campos de login, para no competir con el texto;
- Exporta de vuelta como
.jpgcon calidad 90% (un JPEG muy comprimido crea artefactos feos); - Convierte
login.jpg→login.ozjen el conversor; - Sustituye el archivo en la carpeta
Interface/; - Abre el Main y verifica el resultado.
Personalizar los botones (con transparencia)
Los botones (Login, Salir, Crear Personaje) generalmente tienen dos estados dibujados en la misma textura o en texturas separadas: normal y "hover/pulsado". Para editarlos:
- Convierte el
.oztdel botón a.png(preservando el canal alfa); - En el editor, mantén la transparencia — no aplanes la imagen sobre un fondo sólido;
- Redibuja el botón respetando el área clicable original (el motor usa las coordenadas antiguas);
- Exporta como
.pngcon el alfa preservado; - Convierte de vuelta a
.ozt; - Sustituye y prueba pasando el ratón sobre el botón.
Personalizar la pantalla de selección de personaje
La pantalla de selección se monta de forma parecida, pero tiene un detalle importante: los personajes 3D se renderizan por encima del fondo, en posiciones fijas. Esto significa que tu arte de fondo debe dejar libres los "slots" donde aparecen los personajes.
Paso a paso:
- Identifica y convierte el fondo de la selección (ej.:
character.ozj); - En el editor, marca las áreas donde los modelos de personaje están de pie (normalmente tres a cinco posiciones alineadas);
- Coloca decoraciones y logo solo en los bordes y arriba, evitando esas áreas;
- Mantén la resolución idéntica al original;
- Reconvierte a
.ozjy sustituye; - Entra con una cuenta que tenga personajes creados para validar que nada cubre los modelos.
Ajustar el layout en el Main.exe
Cuando cambiar el arte no basta y necesitas mover campos, botones o texto, entra la edición del Main.exe. Sin el código fuente del cliente, esto se hace localizando y alterando valores en el ejecutable.
Para cambiar textos fijos (etiquetas, título de la ventana):
- Abre el
Main.exeen HxD; Ctrl+F→ busca el texto actual (ej.:Log In);- Sustituye por los nuevos caracteres — respetando el mismo número de bytes (si el texto nuevo es más corto, complétalo con espacios);
- Guarda.
Regla de longitud en edición hex:
Texto original: "Log In" = 4C 6F 67 20 49 6E (6 bytes)
Texto nuevo: "Entrar" = 45 6E 74 72 61 72 (6 bytes) OK
Texto nuevo: "Acceder" = 7 bytes NO CABE
Para mover coordenadas (posición x,y de un botón) sin source, el proceso es mucho más delicado y específico de cada build — generalmente necesitas una herramienta de edición de Main de tu season o el propio source del cliente. No recomiendo editar coordenadas a ciegas en el hex en producción.
Probar en resoluciones diferentes
Tu arte tiene que funcionar no solo en tu pantalla. Prueba al menos en dos o tres resoluciones que el cliente soporte:
- Ajusta la resolución en el
Setup.ini(o config equivalente del cliente); - Abre el login en cada resolución;
- Verifica que el fondo no se estire de forma fea y que los campos sigan legibles;
- En pantallas panorámicas, comprueba que el arte no quede "cortado" en los laterales.
Errores comunes y soluciones
| Error | Causa probable | Solución |
|---|---|---|
| El cliente crashea al abrir el login | Textura con dimensión distinta al original | Recrear el arte con las dimensiones exactas del archivo original |
| El botón se convierte en un cuadrado negro | Transparencia perdida (guardado como .ozj) | Reexportar como PNG con alfa y convertir a .ozt |
| Fondo estirado/distorsionado | Proporción de la imagen alterada | Mantener la misma proporción ancho x alto del original |
| Texto del login ilegible | Arte demasiado cargado detrás de los campos | Dejar un área limpia donde aparecen los campos |
| El Main.exe no abre tras la edición hex | Longitud de bytes alterada | Restaurar la copia de seguridad y reeditar manteniendo el mismo nº de bytes |
| La textura no se actualiza en el juego | Cliente leyendo de otra carpeta/paquete | Confirmar si las texturas están sueltas o dentro de un paquete de datos |
| Personajes cubiertos en la selección | Arte ocupando los slots de los modelos 3D | Dejar libres las áreas de los personajes en el arte |
Empaquetar y distribuir
Después de probar todo, prepara los archivos para que los jugadores los descarguen:
# Comprimir solo los archivos modificados como patch (PowerShell + 7-Zip)
& "C:\Program Files\7-Zip\7z.exe" a -t7z -mx=9 patch-login.7z Interface\ Main.exe
# Generar hash para que el jugador verifique la integridad
Get-FileHash patch-login.7z -Algorithm SHA256 | Select-Object Hash
Publica el hash SHA256 junto al enlace de descarga. Si usas un launcher/updater, añade los archivos modificados a la lista de actualización para que los jugadores reciban el nuevo login automáticamente.
Lista de verificación de lanzamiento
- Copia de seguridad de la carpeta
Interface/y delMain.exeguardada en_original/ - Nombres y dimensiones reales de los archivos de login confirmados en tu cliente
- Fondo del login recreado en las dimensiones exactas del original
- Área de los campos de login mantenida limpia y legible
- Botones editados en
.oztcon la transparencia preservada - Pantalla de selección con los slots de los personajes 3D libres
- Textos del Main.exe traducidos sin alterar el número de bytes
- Login probado en al menos dos resoluciones
- Cliente abierto desde cero hasta la selección sin crashes
- Patch comprimido y hash SHA256 publicado
- Archivos añadidos a la lista del launcher/updater (si lo hay)
Preguntas frecuentes
¿La pantalla de login es una imagen o está embebida en el ejecutable?
Depende de la season y de la distribución. En muchos clientes Season 6 el fondo es una textura .ozj en la carpeta Interface, pero el posicionamiento de los campos y botones lo controla el Main.exe. En clientes más nuevos parte del layout está en archivos de UI externos.
¿Necesito recompilar el Main.exe para cambiar la posición de los campos?
No siempre. Cambiar el arte no exige recompilar, pero mover coordenadas de campos y botones generalmente exige editar el Main vía hex o tener el source del cliente. Sin el source, quedas limitado a sustituir texturas en las mismas dimensiones.
¿Cuál es la resolución correcta de las imágenes de login?
Varía según season y cliente. Un valor común de referencia es 1024x768 para clientes clásicos, pero mantén siempre las dimensiones exactas del archivo original para evitar distorsión. Comprueba el tamaño del archivo que vas a sustituir antes de crear el arte.
¿Puedo usar transparencia en el arte de login?
Sí, para elementos superpuestos usa .ozt (base TGA con canal alfa). El fondo principal normalmente es .ozj (base JPEG, sin alfa). Elegir el formato incorrecto hace que la transparencia desaparezca o aparezca un fondo negro.
¿Cómo hago copia de seguridad antes de editar?
Copia la carpeta Interface entera y el Main.exe a una carpeta _original antes de cualquier cambio. Así, si una textura o edición de bytes rompe el cliente, restauras en segundos sin descargar todo de nuevo.