El mayor portal de MU Online de Brasil — desde 2003
Tutorial Intermedio Cliente

Cómo empaquetar el cliente de MU Online para distribución (instalador)

Aprende a transformar la carpeta del cliente de MU Online en un instalador profesional, con accesos directos, registro de versión y verificación de integridad para distribuir a los jugadores.

BR Bruno · Actualizado el 14 jul 2026 · ⏱ 12 de lectura
Respuesta rápida

Empaquetar el cliente de MU Online es la etapa que separa un proyecto amateur de un servidor que transmite credibilidad ya en el primer contacto. El jugador descarga un único archivo, lo ejecuta, elige la carpeta, obtiene un acceso directo en el escritorio y abre el juego. Nada de ZIP suelto con dec

Empaquetar el cliente de MU Online es la etapa que separa un proyecto amateur de un servidor que transmite credibilidad ya en el primer contacto. El jugador descarga un único archivo, lo ejecuta, elige la carpeta, obtiene un acceso directo en el escritorio y abre el juego. Nada de ZIP suelto con decenas de DLLs esparcidas, nada de "extrae aquí y reza para que funcione". Un instalador bien hecho reduce el soporte, disminuye la tasa de abandono en la descarga y además protege la integridad de los archivos que distribuyes.

En este tutorial vas a montar, desde cero, un instalador profesional para el cliente de tu servidor usando Inno Setup (con menciones a NSIS como alternativa). Vamos a cubrir la preparación de la carpeta base, el script de compilación, accesos directos, icono, verificación de versión, requisitos de sistema, firma digital y las trampas más comunes que hacen que el antivirus del jugador borre tu cliente antes incluso del primer login. Los valores citados (versiones de DirectX, tamaño, nombres de carpetas) son ejemplos y varían según season/cliente.

Si aún no tienes la base del servidor funcionando, comienza por la guía cómo montar un servidor de MU Online y vuelve aquí cuando el cliente ya esté conectando en tu Season.

Requisitos previos

Antes de abrir cualquier herramienta de empaquetado, ten a mano:

  • Carpeta del cliente ya funcional y probada, conectando al IP/puerto de tu servidor. Si el cliente no abre en tu máquina, no va a abrir empaquetado.
  • Main.exe editado (mediante un editor de Main compatible con tu season) apuntando al IP público o dominio, puerto del Connect Server y serial correcto.
  • Archivos de protección (anti-cheat/packet, ej.: GameGuard, Themida wrap, o el esquema que usa tu season) ya integrados y probados.
  • Inno Setup 6+ instalado (gratuito, en jrsoftware.org) o NSIS 3+.
  • Icono .ico del servidor (256x256 recomendado) para el acceso directo y el ejecutable del instalador.
  • Espacio en disco equivalente a por lo menos 2x el tamaño del cliente, para generar el setup sin apuros.
  • Opcional, pero recomendado: certificado de firma de código (Code Signing) para reducir las alertas de antivirus.

Un consejo de oro: crea una carpeta limpia llamada cliente_release y copia solamente los archivos que el jugador necesita. No incluyas .pdb, logs, dumps, archivos .bak, editores de Main o herramientas internas. Cada archivo innecesario aumenta la descarga y el riesgo de falso positivo.

Estructura recomendada de la carpeta del cliente

Antes de empaquetar, organiza. Una estructura típica de cliente (varía según season/cliente) se parece a:

ElementoFunción¿Incluir en el instalador?
main.exeEjecutable principal del juego
Data\Modelos, texturas, mapas (BMD/OZB/OZJ/OZT)
Data\Local\Interfaz y textos localizados
Music\ y Sound\AudioSí (u opcional)
launcher.exeLauncher/actualizador del servidorSí (recomendado)
*.dll de protecciónAnti-cheat / wrappers DirectX
readme.txtInstrucciones y reglas rápidasOpcional
*.pdb, *.log, dump\DepuraciónNo

Ejecuta el cliente una última vez desde esa carpeta limpia. Si conecta normalmente, está lista para convertirse en instalador.

Paso 1 — Eligiendo la herramienta de empaquetado

Hay tres enfoques comunes:

  1. Inno Setup — el más popular en la escena de MU. Script legible (Pascal-like), documentación abundante, soporte para compresión LZMA2 fuerte, páginas personalizables y post-instalación simple.
  2. NSIS — extremadamente flexible y ligero, genera instaladores más pequeños, pero el lenguaje de script es más crudo.
  3. Empaquetadores comerciales (InstallShield, Advanced Installer) — bonitos, pero de pago y exagerados para el caso.

Para el 90% de los servidores, Inno Setup es la elección correcta: gratuito, robusto y fácil de mantener entre seasons. Seguiremos con él.

Paso 2 — Creando el script de Inno Setup

Instala Inno Setup y abre el Compiler. Puedes usar el asistente (Script Wizard), pero escribir el .iss manualmente da mucho más control. Crea un archivo setup.iss junto a la carpeta cliente_release con el contenido de abajo (ajusta nombres, versiones y rutas a tu proyecto):

[Setup]
AppName=ViciadosMU Season X
AppVersion=1.0.0
AppPublisher=ViciadosMU
DefaultDirName={autopf}\ViciadosMU
DefaultGroupName=ViciadosMU
UninstallDisplayIcon={app}\main.exe
OutputBaseFilename=ViciadosMU_Setup_v1.0.0
Compression=lzma2/max
SolidCompression=yes
SetupIconFile=icone.ico
WizardStyle=modern
PrivilegesRequired=admin
ArchitecturesInstallIn64BitMode=x64

[Languages]
Name: "brazilian"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"

[Files]
Source: "cliente_release\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs ignoreversion

[Icons]
Name: "{group}\ViciadosMU"; Filename: "{app}\main.exe"
Name: "{group}\Desinstalar ViciadosMU"; Filename: "{uninstallexe}"
Name: "{autodesktop}\ViciadosMU"; Filename: "{app}\main.exe"; Tasks: desktopicon

[Tasks]
Name: "desktopicon"; Description: "Crear acceso directo en el Escritorio"; GroupDescription: "Accesos directos:"

[Run]
Filename: "{app}\main.exe"; Description: "Iniciar el juego ahora"; Flags: nowait postinstall skipifsilent

Cada sección tiene un papel:

  • [Setup] define nombre, versión, carpeta predeterminada ({autopf} = Program Files), icono y compresión. SolidCompression=yes con lzma2/max suele rendir la mejor tasa para clientes de MU.
  • [Files] empaqueta todo lo que hay dentro de cliente_release, recursivamente. ignoreversion garantiza que los archivos sean siempre reemplazados, evitando el clásico bug de la DLL antigua no actualizada.
  • [Icons] crea los accesos directos en el menú Inicio y, opcionalmente, en el escritorio.
  • [Tasks] transforma el acceso directo del escritorio en una opción marcable por el jugador.
  • [Run] ofrece iniciar el juego al final de la instalación.

Paso 3 — Compilando el instalador

En el Inno Setup Compiler, abre el setup.iss y presiona F9 (o Build > Compile). Al final, el instalador aparecerá en Output\ViciadosMU_Setup_v1.0.0.exe. Pruébalo en una máquina limpia (o máquina virtual) sin cliente instalado: esa es la única forma confiable de descubrir dependencias faltantes.

Durante la prueba, confirma:

  1. La instalación elige carpeta correctamente y crea accesos directos.
  2. El juego abre y conecta al servidor después de instalar.
  3. La desinstalación elimina los archivos (guarda Save/configs si es necesario).
  4. Ningún archivo esencial quedó fuera (prueba en una máquina que nunca tuvo MU).

Paso 4 — Requisitos de sistema y dependencias

Los clientes de MU suelen depender de DirectX 9.0c y, dependiendo de la season, de Visual C++ Redistributable y del .NET Framework (para launchers). Nunca asumas que la máquina del jugador tiene todo. Incluye los redistribuibles y ejecútalos silenciosamente:

[Files]
Source: "redist\dxwebsetup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "redist\vc_redist.x86.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall

[Run]
Filename: "{tmp}\vc_redist.x86.exe"; Parameters: "/quiet /norestart"; StatusMsg: "Instalando componentes..."
Filename: "{tmp}\dxwebsetup.exe"; Parameters: "/Q"; StatusMsg: "Verificando DirectX..."

Esto elimina la abrumadora mayoría de los errores de "el programa no pudo iniciarse porque falta xxxx.dll". Las versiones exactas varían según season/cliente.

Paso 5 — Verificación de integridad y versión

Para evitar que el jugador ejecute un cliente corrompido a medias (descarga interrumpida), el instalador ya garantiza la integridad de los archivos internos mediante el checksum del propio .exe. Pero también debes versionar el cliente para que el launcher sepa cuándo actualizar. Una práctica común es generar un archivo version.txt en la raíz con la versión y un hash de la carpeta:

version=1.0.0
build=20251026
data_hash=8f3c9e1a...

El launcher, al abrir, lee ese archivo, lo compara con el servidor de parche y descarga solo lo que cambió. Así las próximas actualizaciones no exigen un nuevo instalador completo.

Paso 6 — Firma digital (opcional, pero recomendada)

El mayor enemigo de la distribución no es el jugador: es el antivirus. Los instaladores empaquetados, launchers y wrappers de protección son frecuentemente marcados como sospechosos. Firmar el .exe con un certificado de code signing reduce mucho los falsos positivos y muestra el nombre de tu proyecto en el aviso de Windows (en vez de "Editor desconocido"). En Inno Setup, configura el firmante:

[Setup]
SignTool=meucert

Y registra la herramienta de firma (signtool.exe) en las preferencias de Inno Setup. Sin certificado, al menos envía tu instalador a los formularios de "falso positivo" de los principales antivirus antes del lanzamiento.

Errores comunes y soluciones

ErrorCausa probableSolución
El antivirus borra el instaladorFalso positivo en wrapper/launcherFirmar el .exe, enviarlo a los proveedores, usar Themida con cautela
"Falta d3dx9_XX.dll"DirectX ausente en la máquina del jugadorIncluir y ejecutar dxwebsetup.exe /Q en [Run]
El cliente abre pero no conectaMain.exe apuntando a un IP local/erróneoReeditar el Main con el IP público y recompilar el setup
La DLL antigua no se actualizaFalta la flag ignoreversionAñadir ignoreversion en la sección [Files]
Instalador giganteIncluyó Music/Sound sin compresión sólidaActivar SolidCompression=yes y lzma2/max
El acceso directo no abre nadaFilename apuntando a una ruta erróneaUsar {app}\main.exe, probar en una máquina limpia
"Editor desconocido" asusta a los jugadoresEjecutable sin firmarObtener un certificado de code signing

Buenas prácticas de distribución

  • Nunca distribuyas la carpeta de desarrollo entera. Parte siempre de una cliente_release limpia.
  • Aloja el instalador en al menos dos espejos (ej.: un servicio de almacenamiento y un mirror propio), evitando un punto único de fallo el día del lanzamiento.
  • Publica el hash MD5/SHA-256 del instalador en el sitio para que el jugador verifique la integridad.
  • Mantén un changelog visible: los jugadores confían más en proyectos que documentan lo que cambia en cada versión.
  • Prueba en Windows 10 y 11 y, si es posible, en una máquina sin privilegios de administrador para ver el comportamiento del UAC.

Lista de verificación de lanzamiento

  • Carpeta cliente_release limpia, sin archivos de depuración ni editores
  • Main.exe apuntando a IP/puerto/serial correctos y probado
  • Archivos de protección integrados y validados
  • Redistribuibles (DirectX, VC++) incluidos y ejecutándose silenciosamente
  • Script .iss compilado sin advertencias
  • Instalación probada en máquina/VM limpia (sin MU previo)
  • Accesos directos de menú y escritorio funcionando
  • El juego conecta al servidor después de instalar
  • Desinstalación eliminando los archivos correctamente
  • version.txt generado para el launcher de parche
  • Instalador firmado (o enviado como falso positivo a los antivirus)
  • Hash SHA-256 publicado y dos espejos de descarga activos

Con el instalador listo, probado en máquina limpia y firmado, tu servidor entrega una primera impresión de proyecto serio. El siguiente paso natural es reducir el tamaño de la descarga para que más jugadores completen la instalación sin desistir a mitad de camino.

Preguntas frecuentes

¿Necesito pagar por un instalador?

No. Herramientas como Inno Setup y NSIS son gratuitas y cubren el 99% de las necesidades de un servidor de MU Online.

El antivirus marca mi instalador como virus, ¿es normal?

Los falsos positivos son comunes con launchers e instaladores empaquetados. Firmar el ejecutable con un certificado de código y enviarlo a los proveedores de antivirus reduce drásticamente el problema.

¿Debo incluir el Main.exe ya editado en el instalador?

Sí, el cliente distribuido debe contener el Main ya apuntando al IP/puerto y serial de tu servidor, más los archivos de protección configurados.

¿Cuál es la diferencia entre un instalador y un archivo comprimido?

El comprimido solo descomprime archivos; el instalador crea accesos directos, registra la versión, valida requisitos y permite una desinstalación limpia, transmitiendo más confianza al jugador.

¿Puedo actualizar el cliente después sin reinstalar?

Sí. Lo ideal es que el instalador coloque un launcher que haga parcheo incremental, evitando nuevas descargas completas en cada season.

BR
Editor de eventos, mapas e ítems

Bruno es especialista en eventos, mapas, bosses y economía de ítems de MU Online. Documenta cada detalle basándose en el juego real.

Sigue leyendo

Artículos relacionados

📦
Tutorial

Cómo crear un instalador para el cliente de tu servidor de MU Online

Guía completa para crear un instalador profesional del cliente de tu servidor de MU Online: por qué un buen instalador mejora la retención de nuevos jugadores (primera impresión, facilidad de instalación), las herramientas gratuitas más populares para crear instaladores de Windows (Inno Setup, NSIS, InstallForge), los componentes que debe incluir el instalador (el cliente del juego, el launcher, los accesos directos, las dependencias como DirectX o Visual C++ Redistributable), el tamaño óptimo del instalador base (qué incluir y qué dejar para el launcher), cómo crear accesos directos en el escritorio y el menú de inicio, cómo probar el instalador en una máquina completamente limpia, cómo reducir falsas alertas de antivirus (un problema real para ejecutables de MU que los antivirus a veces marcan como falsos positivos), y cómo distribuir el instalador (link directo, torrent, múltiples mirrors).

12 min · Intermedio ·
Tutorial

Cómo optimizar los FPS del cliente de MU en máquinas débiles

Gana FPS en el cliente de MU Online en PCs débiles ajustando resolución, efectos, drivers y configuraciones de Windows, con un método para medir antes y después y hallar el cuello de botella real.

22 min · Intermedio ·
🔤
Tutorial

Cómo editar las fuentes y el texto del cliente de MU Online

Aprende a cambiar la fuente, ajustar el tamaño y el color y editar las strings de texto del cliente de MU Online —mensajes de sistema, nombres de ítems e interfaz— sin romper el juego.

18 min · Intermedio ·