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

Cómo Configurar Invasiones Personalizadas en el Servidor de MU Online

Aprende a configurar invasiones personalizadas de bosses en tu servidor MU Online con comandos SQL, archivos .ini y programación de horarios.

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

Introducción

Las invasiones personalizadas son uno de los recursos más efectivos para mantener a los jugadores activos en servidores privados de MU Online. Configurar correctamente la programación, los mapas de spawn y los atributos de los bosses requiere editar tanto archivos de configuración del GameServer como tablas de la base de datos SQL Server.

Esta guía cubre la configuración completa para servidores Season 6 Episode 3 (el más común en la escena privada), con notas para otras seasons donde el comportamiento es diferente.

Nota: Este tutorial asume que tienes acceso a SQL Server Management Studio (SSMS) y al directorio de instalación del GameServer. Realiza una copia de seguridad de la base de datos y los archivos antes de hacer cualquier cambio.

Paso 1: Entender la Estructura de Invasiones en MuServer

El sistema de invasiones de MuServer opera en dos capas:

  • Archivos de configuración — definen qué monstruos existen, sus atributos y posiciones base de spawn
  • Base de datos — controla los horarios, habilitación y parámetros dinámicos de la invasión

Los archivos relevantes se encuentran en:

GameServer/
└── Data/
    ├── Monster.txt          ← atributos de monstruos (HP, daño, nivel)
    ├── MonsterSpawn.txt     ← posiciones de spawn fijas
    └── BossInvasion.ini     ← configuración de invasiones por evento (Season 6+)

Las tablas principales en la base de datos MuOnline son:

T_AttackEvent       -- horarios y configuración de invasiones
T_MonsterAI         -- comportamiento de monstruos durante invasiones
EventSchedule       -- (algunas versiones) programación global de eventos

Paso 2: Definir el Monstruo de Invasión en Monster.txt

Abre GameServer/Data/Monster.txt y localiza o crea una entrada para el boss personalizado. El formato de cada línea es:

// Index / Name / Level / HP / MP / Atk / Def / MoveSpeed / AtkSpeed / AtkRange / ViewRange / MoveRange / Regen / MaxItemDrop / Money / AI / Element
Monster    400    BossPersonalizado    120    5000000    0    8500    1200    35    700    4    8    5    3    90000    100    0
  • Index 400 — usa un índice libre (verifica que ningún otro monstruo use el mismo número)
  • HP 5000000 — ajusta según la progresión de tu servidor
  • AI 100 — modo agresivo con persecución activa
Dica: Para Season 6, los índices entre 400 y 450 suelen estar disponibles. Para Season 9+, revisa la documentación específica de tu build de MuServer, ya que los índices superiores a 550 pueden estar reservados para contenido oficial.

Paso 3: Configurar el Spawn en BossInvasion.ini

Abre GameServer/Data/BossInvasion.ini. Cada bloque de invasión usa este formato:

[BossInvasion]
Enable          = 1
BossType        = 400
MapNumber       = 0
PosX            = 130
PosY            = 125
Count           = 5
RespawnTime     = 180
InvasionTime    = 60
NotifyMessage   = El Boss Personalizado esta invadiendo Lorencia!
KillMessage     = El Boss Personalizado ha sido derrotado!

Campos obligatorios explicados:

CampoDescripciónValor ejemplo
BossTypeÍndice del Monster.txt400
MapNumberNúmero de mapa (0=Lorencia, 2=Noria, 3=Devias)0
PosX / PosYCoordenadas de spawn en el mapa130 / 125
CountCuántos bosses aparecen simultáneamente5
RespawnTimeSegundos para respawn tras la muerte180
InvasionTimeDuración total de la invasión en minutos60

Para invasiones en múltiples mapas, agrega bloques separados:

[BossInvasion]
Enable          = 1
BossType        = 400
MapNumber       = 2
PosX            = 180
PosY            = 110
Count           = 3
RespawnTime     = 180
InvasionTime    = 60
NotifyMessage   = El Boss Personalizado esta invadiendo Noria!
KillMessage     = El Boss Personalizado fue derrotado en Noria!
Atenção: No uses coordenadas dentro de edificios o en áreas bloqueadas del mapa. El boss aparecerá invisible o no se moverá. Usa el comando /pos en el juego para verificar coordenadas válidas antes de configurar.

Paso 4: Programar la Invasión en la Base de Datos

Conéctate a la base MuOnline en SQL Server Management Studio y ejecuta:

-- Ver registros existentes
SELECT * FROM T_AttackEvent;

-- Insertar una nueva invasión personalizada
INSERT INTO T_AttackEvent (
    AttackEventIndex,
    Enable,
    MapNumber,
    StartHour,
    StartMinute,
    EndHour,
    EndMinute,
    NotifyTime
)
VALUES (
    10,       -- índice único, verifica que no exista
    1,        -- 1 = habilitado, 0 = deshabilitado
    0,        -- mapa (0 = Lorencia)
    20,       -- hora de inicio (20h)
    0,        -- minuto de inicio
    21,       -- hora de fin (21h)
    0,        -- minuto de fin
    10        -- minutos de aviso anticipado
);

Para programar múltiples horarios en el mismo día:

-- Invasión de 14h a 15h
INSERT INTO T_AttackEvent VALUES (11, 1, 0, 14, 0, 15, 0, 10);

-- Invasión de 20h a 21h
INSERT INTO T_AttackEvent VALUES (12, 1, 0, 20, 0, 21, 0, 10);

-- Invasión de 22h a 23h en Devias (MapNumber = 3)
INSERT INTO T_AttackEvent VALUES (13, 1, 3, 22, 0, 23, 0, 10);
Nota: En algunas versiones de MuServer (S9+), la tabla puede llamarse EventSchedule o T_EventInfo. Ejecuta SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%Event%' para identificar la tabla correcta en tu instalación.

Paso 5: Configurar los Drops del Boss

Para configurar drops desde la base de datos, localiza la tabla de drops de monstruos e inserta los registros para tu boss personalizado:

-- Ver drops actuales del boss
SELECT * FROM T_MonsterItemDrop WHERE MonsterIndex = 400;

-- Insertar drops personalizados para el boss
INSERT INTO T_MonsterItemDrop (
    MonsterIndex,
    ItemType,
    ItemIndex,
    ItemLevel,
    DropRate,
    MinDrop,
    MaxDrop
)
VALUES
    (400, 13, 19, 13, 15, 1, 1),   -- Jewel of Bless (15% de probabilidad)
    (400, 13, 30, 13, 10, 1, 1),   -- Jewel of Soul (10% de probabilidad)
    (400, 14, 22, 13, 5,  1, 1);   -- Jewel of Chaos (5% de probabilidad)
Dica: La suma de todos los DropRate para un mismo MonsterIndex no debe superar 100. Valores por encima de 100 generan comportamiento indefinido y el boss puede dropar ítems incorrectos o ninguno.

Paso 6: Configurar Notificaciones del Sistema

En el archivo GameServer/Data/Notice.txt, agrega los mensajes de notificación de la invasión:

[InvasionStart]
MapNumber   = 0
Message     = [INVASION] El Boss Personalizado ha invadido Lorencia! Preparate!

[InvasionEnd]
MapNumber   = 0
Message     = [INVASION] La invasion de Lorencia ha terminado. Gracias por participar!

Para insertar notices vía SQL en sistemas que admiten broadcast por base de datos:

-- Insertar notice temporal (aparece en el siguiente ciclo del GameServer)
INSERT INTO T_Notice (NoticeIndex, Message, MapNumber, StartTime, Duration)
VALUES (100, '[INVASION] Boss Personalizado en Lorencia! Dirijete al mapa ahora!', 0, GETDATE(), 60);

Paso 7: Reiniciar y Verificar

Tras completar todos los cambios:

  1. Guarda todos los archivos .ini y .txt modificados
  2. En el panel del GameServer, haz clic en Reload Data si está disponible, o reinicia el proceso
  3. Espera la ventana horaria configurada y revisa el log en GameServer/Log/GameServer_YYYYMMDD.log

Busca entradas como:

[AttackEvent] BossType=400 spawned at Map=0 Pos=(130,125) Count=5
[AttackEvent] Invasion started - Duration=60min
Atenção: Si el GameServer no tiene opción de Reload, es necesario un reinicio completo. Programa el reinicio durante horas de bajo tráfico para no interrumpir a los jugadores conectados.

Solución de Problemas

El boss no aparece en el horario configurado:

  • Verifica que el campo Enable = 1 esté correcto en BossInvasion.ini
  • Confirma que el AttackEventIndex en la base de datos no esté duplicado con otro registro
  • Revisa el log del GameServer en busca de errores de parseo del archivo .ini

El boss aparece pero no se mueve:

  • El valor de AI en Monster.txt puede estar como 0 (estático). Cámbialo a 100 o 110
  • Verifica si el mapa tiene las flags de movimiento activadas en su archivo de configuración

Los mensajes de invasión no aparecen para los jugadores:

  • Confirma que NotifyTime en la base de datos es mayor que 0
  • Verifica que el campo NotifyMessage en el .ini no contenga caracteres especiales sin escapar

No aparecen drops al matar el boss:

  • Confirma que el MonsterIndex en la tabla de drops corresponde exactamente al índice definido en Monster.txt
  • Verifica que la suma de DropRate no supere 100 para el mismo MonsterIndex

El boss reaparece inmediatamente tras morir:

  • El campo RespawnTime está configurado como 0. Define un valor en segundos, como 180 para 3 minutos de espera

Conclusión

Con estos pasos, tu servidor tendrá invasiones personalizadas completamente funcionales con programación, notificaciones y drops específicos. La combinación de archivos .ini para la definición del comportamiento y tablas SQL para la programación dinámica te da flexibilidad total para crear eventos únicos que diferencien tu servidor.

Prueba siempre en horas de bajo tráfico y monitorea los logs durante las primeras ocurrencias para confirmar que todo funciona según lo esperado antes de anunciar el evento a los jugadores.

Perguntas frequentes

¿Qué tabla de la base de datos controla los horarios de invasión?

La tabla T_AttackEvent (o BossInvasion dependiendo de la versión de MuServer) en la base MuOnline almacena los horarios y mapas de invasión. Ejecuta SELECT * FROM T_AttackEvent para ver los registros actuales.

¿Cómo hago que el boss aparezca en múltiples mapas al mismo tiempo?

En el archivo BossInvasion.ini (GameServer/Data/BossInvasion.ini), define múltiples bloques con el mismo BossType pero diferentes valores de MapNumber. Cada bloque es una instancia independiente del boss.

El boss aparece pero desaparece inmediatamente — ¿cuál es la causa?

Generalmente el campo RespawnTime está configurado como 0 o el monstruo en Monster.txt no tiene HP definido. Verifica también que el campo Enable en la tabla T_AttackEvent esté en 1.

¿Puedo restringir las invasiones a las horas pico únicamente?

Sí. Configura los campos StartHour y EndHour en T_AttackEvent o en las entradas del BossInvasion.ini para limitar la invasión a ventanas horarias específicas, como StartHour=20 y EndHour=23 para el horario nocturno.

EQ

Equipo ViciadosMU

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

Sigue leyendo

Artículos relacionados