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

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.

RO Rodrigo · Actualizado el 14 may 2017 · ⏱ 12 min de lectura
Respuesta rápida

El launcher es la cara de tu servidor de MU Online y el sistema que mantiene el cliente de todos tus jugadores sincronizado con las actualizaciones del servidor. Esta guía cubre cada componente del sistema desde cero.

El launcher es la cara de tu servidor de MU Online y el sistema que mantiene el cliente de todos tus jugadores sincronizado con las actualizaciones del servidor. Esta guía cubre cada componente del sistema desde cero.

Nota: Un launcher bien configurado hace que publicar una actualización sea tan simple como subir los archivos cambiados al servidor web y actualizar la lista de versiones. Los jugadores reciben el parche automáticamente la próxima vez que abren el launcher.

Los 3 componentes del sistema de launcher

EL SISTEMA DE LAUNCHER TIENE TRES PARTES:

COMPONENTE 1 — EL LAUNCHER.EXE (el programa del jugador):
→ El ejecutable que el jugador abre en su PC en lugar de abrir el Main.exe directamente
→ Funciones:
  a) Descargar la lista de versiones del servidor
  b) Comparar cada archivo local con el hash/tamaño en la lista
  c) Descargar los archivos que no coinciden
  d) Mostrar noticias del servidor (si está configurado)
  e) Habilitar el botón "Jugar" al terminar las verificaciones
→ Cómo conseguirlo: muchas distribuciones de S6 incluyen un launcher; la comunidad técnica de MU tiene launchers de dominio público

COMPONENTE 2 — EL SERVIDOR DE ARCHIVOS (donde viven los updates):
→ Una ubicación en internet donde alojas los archivos del cliente para descarga
→ Puede ser:
  a) Tu propio servidor web (la opción más común — el mismo que el sitio del servidor)
  b) Un servidor de archivos dedicado (para actualizaciones muy grandes)
  c) Almacenamiento en la nube con acceso HTTP directo (AWS S3, Backblaze B2, etc.)
→ Los archivos deben ser accesibles por HTTP o HTTPS desde la URL exacta que el launcher usará

COMPONENTE 3 — LA LISTA DE VERSIONES (el cerebro del sistema):
→ Un archivo de texto que vive en tu servidor web
→ El launcher lo descarga cada vez que se abre para saber el estado actual del cliente
→ Formato típico:
  nombrearchivo.dll|abc123md5hash|http://tudominio.com/files/nombrearchivo.dll
  Main.exe|def456md5hash|http://tudominio.com/files/Main.exe
  (una línea por archivo a verificar)
→ Los separadores y el formato exacto dependen del launcher específico que uses

Paso 1 — Conseguir y personalizar el launcher

CÓMO OBTENER UN LAUNCHER PARA TU SERVIDOR:

OPCIÓN 1 — LAUNCHER INCLUIDO EN LA DISTRIBUCIÓN:
→ Muchas distribuciones de MuServer de S6 incluyen un launcher pre-configurado
→ Busca en la carpeta de la distribución: Launcher/, Client_Launcher/, o similar
→ Si la distribución incluye un .exe de launcher: configura solo los parámetros de URL

OPCIÓN 2 — LAUNCHER DE LA COMUNIDAD:
→ La comunidad de MU Online tiene varios launchers de uso libre
→ Busca en los foros técnicos de MU el launcher compatible con tu distribución/season
→ Verifica que el launcher es de 32 bits o 64 bits según corresponda a tu cliente

PERSONALIZACIÓN VISUAL DEL LAUNCHER:
→ Logo/imagen de fondo: la mayoría de launchers permiten reemplazar la imagen principal con la imagen de tu servidor
→ Nombre del servidor: aparece en la barra de título y en la pantalla del launcher
→ Colores del tema: algunos launchers permiten cambiar los colores de la interfaz
→ Botones de redes sociales: configurar los links a Discord, Facebook, etc.
→ URL de noticias: una página web del servidor que el launcher muestra como iframe o feed

PARÁMETROS TÉCNICOS A CONFIGURAR EN EL LAUNCHER:
→ URL de la lista de versiones: http://tudominio.com/patchlist.txt (o el nombre que use tu launcher)
→ URL base de descarga: http://tudominio.com/files/ (la raíz donde están los archivos)
→ Versión actual del cliente (para mostrar al jugador)
→ Path del Main.exe relativo al launcher (generalmente ../Main.exe o .\Main.exe)

Paso 2 — Preparar el servidor de archivos

CONFIGURAR DÓNDE VAN LOS ARCHIVOS DE ACTUALIZACIÓN:

OPCIÓN A — USAR TU PROPIO SITIO WEB:
→ Si tu servidor tiene un sitio web (recomendado): crea una carpeta /files o /updates en el servidor web
→ Sube todos los archivos del cliente a esa carpeta
→ Los archivos deben ser accesibles por URL: http://tudominio.com/files/nombrearchivo.dll
→ Verifica que el servidor web NO tiene autenticación en esa carpeta (debe ser pública)

OPCIÓN B — SERVIDOR DE ARCHIVOS DEDICADO:
→ Para servidores grandes donde el tráfico de actualizaciones sería alto
→ Usar un servidor diferente o subdominio: http://files.tudominio.com/
→ Los jugadores con problemas de velocidad se benefician de un servidor de archivos dedicado

OPCIÓN C — ALMACENAMIENTO EN LA NUBE:
→ Servicios como Backblaze B2 (muy barato) o AWS S3
→ Los archivos quedan disponibles en URLs directas
→ Ventaja: no satura el servidor de juego con descargas

ESTRUCTURA DE ARCHIVOS RECOMENDADA:
→ /files/
  → Main.exe
  → Main_Config.ini (o el archivo de configuración del cliente)
  → *.dll (las DLLs del cliente)
  → Data/ (carpeta con archivos de datos del juego)
    → Monster.att, Item.bmd, etc.
→ patchlist.txt (la lista de versiones en la raíz del dominio)

VERIFICAR QUE LOS ARCHIVOS SON ACCESIBLES:
→ Abre un navegador y navega directamente a la URL de un archivo: http://tudominio.com/files/Main.exe
→ Debe iniciar una descarga — si aparece "404 Not Found" o "Forbidden": revisa los permisos del servidor web

Paso 3 — Crear y mantener la lista de versiones

FORMATO DE LA LISTA DE VERSIONES:

La lista de versiones es el archivo que el launcher descarga para saber qué actualizar.
El formato exacto depende del launcher, pero el concepto es universal:

FORMATO TÍPICO (una línea por archivo):
Main.exe|tamaño_bytes|hash_md5|ruta_descarga_relativa
Data\Monster.att|tamaño_bytes|hash_md5|Data/Monster.att
mugui.dll|tamaño_bytes|hash_md5|mugui.dll

OBTENER EL HASH MD5 DE UN ARCHIVO:
→ Windows PowerShell: Get-FileHash Main.exe -Algorithm MD5
→ Herramienta gráfica: HashTab, MD5 & SHA Checksum Utility (gratuitas)
→ O usa el tamaño en bytes si el launcher solo usa tamaño para verificar

CREAR LA LISTA INICIAL:
→ Para el primer lanzamiento: debes generar la lista de TODOS los archivos del cliente
→ Proceso: para cada archivo del cliente → calcular MD5 → agregar línea a la lista
→ Si la distribución incluye una herramienta para generar la lista: úsala (mucho más eficiente)
→ Si no: crea un script simple o hazlo manualmente para la primera versión

ACTUALIZAR LA LISTA DESPUÉS DE UN PARCHE:
→ Solo necesitas actualizar las líneas de los archivos que cambiaron
→ Cálcula el nuevo MD5 del archivo modificado
→ Reemplaza la línea correspondiente en la lista
→ Sube el archivo modificado al servidor de archivos
→ Sube la lista de versiones actualizada
→ La próxima apertura del launcher detectará automáticamente el cambio
Dica: Herramienta de flujo de trabajo recomendada: mantén una carpeta local que es una copia exacta de lo que está en el servidor de archivos. Cuando hagas un cambio en el cliente, modifica primero esa carpeta local, calcula el MD5, actualiza la lista, y luego sincroniza con el servidor. Esto evita inconsistencias entre lo que el jugador descarga y lo que la lista dice.

Paso 4 — Probar el launcher antes de publicar

CÓMO PROBAR EL LAUNCHER CORRECTAMENTE:

LA TRAMPA COMÚN:
→ Muchos admins prueban el launcher desde la misma máquina donde desarrollan el servidor
→ Esa máquina ya tiene todos los archivos correctos → el launcher dice "actualizado" → parece funcionar
→ Pero el test real es: ¿funciona desde una instalación COMPLETAMENTE vacía?

TEST CORRECTO — MÁQUINA LIMPIA (o carpeta vacía):
1. Crea una carpeta nueva vacía en una máquina diferente (o en una VM)
2. Coloca solo el Launcher.exe en esa carpeta
3. Ejecuta el launcher
4. El launcher debe detectar que todos los archivos faltan y descargarlos todos
5. Al terminar: verifica que el cliente puede conectarse al servidor con lo descargado

TEST DE ACTUALIZACIÓN:
1. Parte de una instalación completa y funcional del cliente
2. Modifica un archivo (ej.: cambia un .txt de configuración)
3. Actualiza la lista de versiones con el nuevo MD5
4. Ejecuta el launcher
5. El launcher debe detectar SOLO ese archivo modificado y descargarlo

CHECKLIST DE VERIFICACIÓN:
□ ¿El launcher muestra el logo correcto del servidor?
□ ¿Se conecta al servidor de actualizaciones sin error?
□ ¿Descarga los archivos a la velocidad esperada?
□ ¿El botón "Jugar" se habilita después de la verificación?
□ ¿El Main.exe se abre correctamente al hacer clic en "Jugar"?
□ ¿Las noticias del servidor aparecen en el launcher (si está configurado)?
Atenção: Un archivo corrupto o faltante en la lista de versiones rompe el cliente de TODOS los jugadores al mismo tiempo — es un incidente grave. Para evitarlo: siempre prueba una actualización en una máquina separada antes de publicarla. Si detectas un error: corrígelo antes de subir la lista actualizada. Si ya subiste una lista errónea y los jugadores ya la descargaron: haz rollback a la versión anterior de la lista lo antes posible y anuncia el problema en el servidor.

Flujo completo de publicación de una actualización

CÓMO PUBLICAR UN PARCHE DE CLIENTE:

PASO 1 — PREPARAR EL PARCHE:
→ Identifica los archivos que cambian (ej.: Main.exe con nueva IP del servidor, Data\ItemList.bmd con nuevo ítem)
→ Modifica los archivos en tu entorno local
→ Prueba que los cambios funcionan correctamente

PASO 2 — PREPARAR LOS ARCHIVOS PARA EL SERVIDOR:
→ Calcula el MD5 de cada archivo modificado
→ Prepara las líneas actualizadas para la lista de versiones

PASO 3 — SUBIR LOS ARCHIVOS:
→ Sube los archivos modificados al servidor de archivos (la carpeta /files/ de tu dominio)
→ Verifica que son accesibles por HTTP (prueba con el navegador)

PASO 4 — ACTUALIZAR LA LISTA DE VERSIONES:
→ Edita la lista de versiones con los nuevos hashes
→ Sube la lista actualizada al servidor

PASO 5 — ANUNCIAR EN EL SERVIDOR:
→ Usa /post en el servidor de juego para informar a los jugadores conectados
→ Ejemplo: /post Actualización disponible: cierra el juego y abre el launcher para recibir el parche
→ Publica el anuncio también en Discord/redes sociales del servidor

PASO 6 — VERIFICAR EL FUNCIONAMIENTO:
→ Prueba el launcher desde una máquina diferente después de subir todo
→ Confirma que la actualización se aplica correctamente

Consulta también el tutorial de cómo alojar el sitio del servidor (el sitio web donde alojarás los archivos de actualización del launcher), el tutorial de configurar No-IP (el dominio dinámico que usas como URL del servidor de actualizaciones y de noticias en el launcher), y el tutorial de cómo crear un servidor de MU Online (el proceso general donde el launcher es el componente final del stack).

Preguntas frecuentes

¿El launcher es obligatorio para tener un servidor de MU Online?

No es técnicamente obligatorio — los jugadores pueden conectarse directamente con el Main.exe sin launcher. Pero para un servidor público con jugadores reales, el launcher es prácticamente esencial. Razones: (1) sin launcher, cada actualización del cliente requiere que el jugador descargue el cliente completo otra vez, (2) el launcher es la primera impresión del servidor — un launcher bien hecho transmite profesionalismo, (3) permite hacer hotfixes pequeños (un solo archivo .dll o .txt) sin que el jugador tenga que bajar todo de nuevo.

¿Qué programa uso para hacer el launcher?

Las distribuciones de MuServer de Season 6 generalmente incluyen un launcher pre-configurado que solo necesitas personalizar con tu logo, colores, URL del servidor de actualizaciones y enlace de noticias. Algunos launchers populares en la comunidad son: MU Launcher (varios autores), Launcher específicos por distribución, o launchers creados con frameworks como .NET. Si tu distribución no incluye uno: busca en el foro o Discord de esa distribución — generalmente hay launchers compatibles disponibles.

¿Qué es el archivo de lista de versiones y dónde lo alojo?

La lista de versiones (también llamada 'patchlist', 'filelist', 'versionlist', u otros nombres según el launcher) es un archivo de texto que el launcher descarga al abrirse para saber qué archivos del cliente deben actualizarse. Contiene filas con: nombre del archivo, hash MD5 (o tamaño), y URL de descarga. Lo alojas en tu servidor web — en el mismo dominio que el sitio del servidor o en una URL dedicada. El launcher descarga ese archivo cada vez que se abre para compararlo con los archivos locales.

¿Cómo actualizo el cliente de mis jugadores cuando hay un parche?

El proceso de publicar un parche con launcher es: (1) modifica los archivos del cliente que cambiaron, (2) calcula el hash MD5 de cada archivo modificado, (3) sube los archivos al servidor de actualizaciones, (4) actualiza la lista de versiones con los nuevos hashes. La próxima vez que un jugador abra el launcher: detectará que los hashes no coinciden, descargará solo los archivos cambiados, y listo. El jugador no tiene que hacer nada manualmente.

RO
Fundador y editor jefe

Rodrigo mantiene ViciadosMU desde los inicios del portal. Especialista en creación y administración de servidores de MU Online, historia del juego y la evolución de las seasons — escribió buena parte del archivo antes de 2024.

Sigue leyendo

Artículos relacionados