O maior portal de MU Online do Brasil — desde 2003
Tutorial Intermediário Tutoriais

Como Configurar Invasões Customizadas no Servidor de MU Online

Aprenda a configurar invasões customizadas de bosses no seu servidor MU Online, com SQL, arquivos .ini e agendamento de horários.

EQ Equipe ViciadosMU · Atualizado em 3 jul 2026 · ⏱ 12 min de leitura

Introdução

Invasões customizadas são um dos recursos mais impactantes para manter jogadores engajados em servidores privados de MU Online. Configurar corretamente o agendamento, os mapas de spawn e os atributos dos bosses exige editar tanto arquivos de configuração do GameServer quanto tabelas do banco de dados SQL Server.

Este guia cobre a configuração completa em servidores Season 6 Episode 3 (o mais comum em privados), com notas para outras seasons onde o comportamento difere.

Nota: Este tutorial assume que você tem acesso ao SQL Server Management Studio (SSMS) e ao diretório de instalação do GameServer. Faça backup do banco de dados e dos arquivos antes de qualquer alteração.

Passo 1: Entender a Estrutura de Invasões no MuServer

O sistema de invasões do MuServer opera em duas camadas:

  • Arquivos de configuração — definem quais monstros existem, seus atributos e posições de spawn base
  • Banco de dados — define os horários, habilitação e parâmetros dinâmicos da invasão

Os arquivos relevantes estão em:

GameServer/
└── Data/
    ├── Monster.txt          ← atributos dos monstros (HP, dano, nível)
    ├── MonsterSpawn.txt     ← posições de spawn fixas
    └── BossInvasion.ini     ← configuração de invasões por evento (Season 6+)

No banco de dados MuOnline, as tabelas principais são:

T_AttackEvent       -- horários e configurações de invasão
T_MonsterAI         -- comportamento dos monstros durante invasão
EventSchedule       -- (algumas versões) agendamento global de eventos

Passo 2: Definir o Monstro da Invasão no Monster.txt

Abra GameServer/Data/Monster.txt e localize ou crie uma entrada para o boss customizado. O formato de cada linha é:

// Index / Name / Level / HP / MP / Atk / Def / MoveSpeed / AtkSpeed / AtkRange / ViewRange / MoveRange / Regen / MaxItemDrop / Money / AI / Element
Monster    400    BossCustom    120    5000000    0    8500    1200    35    700    4    8    5    3    90000    100    0
  • Index 400 — use um índice livre (verifique que não existe outro monstro com o mesmo número)
  • HP 5000000 — ajuste conforme a progressão do seu servidor
  • AI 100 — modo agressivo com perseguição ativa
Dica: Para Season 6, índices entre 400 e 450 costumam estar livres. Para Season 9+, verifique a documentação específica da build do MuServer que você usa, pois índices acima de 550 podem estar reservados para conteúdo oficial.

Passo 3: Configurar o Spawn no BossInvasion.ini

Abra GameServer/Data/BossInvasion.ini. Cada bloco de invasão segue este formato:

[BossInvasion]
Enable          = 1
BossType        = 400
MapNumber       = 0
PosX            = 130
PosY            = 125
Count           = 5
RespawnTime     = 180
InvasionTime    = 60
NotifyMessage   = O Boss Customizado esta invadindo Lorencia!
KillMessage     = O Boss Customizado foi derrotado!

Campos obrigatórios explicados:

CampoDescriçãoValor exemplo
BossTypeIndex do Monster.txt400
MapNumberNúmero do mapa (0=Lorencia, 2=Noria, 3=Devias)0
PosX / PosYCoordenadas de spawn no mapa130 / 125
CountQuantos bosses aparecem simultaneamente5
RespawnTimeSegundos para respawn após morte180
InvasionTimeDuração total da invasão em minutos60

Para invasão em múltiplos mapas, adicione blocos separados:

[BossInvasion]
Enable          = 1
BossType        = 400
MapNumber       = 2
PosX            = 180
PosY            = 110
Count           = 3
RespawnTime     = 180
InvasionTime    = 60
NotifyMessage   = O Boss Customizado esta invadindo Noria!
KillMessage     = O Boss Customizado foi derrotado em Noria!
Atenção: Não use coordenadas dentro de edifícios ou em áreas bloqueadas pelo mapa. O boss ficará invisível ou não se moverá. Use o comando /pos in-game para verificar coordenadas válidas antes de configurar.

Passo 4: Agendar a Invasão no Banco de Dados

Conecte ao banco MuOnline no SQL Server Management Studio e execute:

-- Verificar registros existentes
SELECT * FROM T_AttackEvent;

-- Inserir nova invasão customizada
INSERT INTO T_AttackEvent (
    AttackEventIndex,
    Enable,
    MapNumber,
    StartHour,
    StartMinute,
    EndHour,
    EndMinute,
    NotifyTime
)
VALUES (
    10,       -- índice único, verifique que não existe
    1,        -- 1 = habilitado, 0 = desabilitado
    0,        -- mapa (0 = Lorencia)
    20,       -- hora de início (20h)
    0,        -- minuto de início
    21,       -- hora de fim (21h)
    0,        -- minuto de fim
    10        -- minutos de aviso antecipado
);

Para agendar múltiplos horários no mesmo dia:

-- Invasão das 14h às 15h
INSERT INTO T_AttackEvent VALUES (11, 1, 0, 14, 0, 15, 0, 10);

-- Invasão das 20h às 21h
INSERT INTO T_AttackEvent VALUES (12, 1, 0, 20, 0, 21, 0, 10);

-- Invasão das 22h às 23h em Devias (MapNumber = 3)
INSERT INTO T_AttackEvent VALUES (13, 1, 3, 22, 0, 23, 0, 10);
Nota: Em algumas versões do MuServer (S9+), a tabela pode se chamar EventSchedule ou T_EventInfo. Execute SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%Event%' para identificar a tabela correta na sua instalação.

Passo 5: Configurar Drops do Boss

Para drops via banco de dados, localize a tabela de drops de monstros e insira os registros para o boss customizado:

-- Verificar tabela de drops de monstros
SELECT * FROM T_MonsterItemDrop WHERE MonsterIndex = 400;

-- Inserir drops customizados para o boss
INSERT INTO T_MonsterItemDrop (
    MonsterIndex,
    ItemType,
    ItemIndex,
    ItemLevel,
    DropRate,
    MinDrop,
    MaxDrop
)
VALUES
    (400, 13, 19, 13, 15, 1, 1),   -- Jewel of Bless (15% chance)
    (400, 13, 30, 13, 10, 1, 1),   -- Jewel of Soul (10% chance)
    (400, 14, 22, 13, 5,  1, 1);   -- Jewel of Chaos (5% chance)
Dica: A soma de todos os DropRate de um mesmo MonsterIndex não deve ultrapassar 100. Valores acima de 100 causam comportamento indefinido e o boss pode dropar itens incorretos ou nenhum item.

Passo 6: Configurar Notificações do Sistema

No arquivo GameServer/Data/Notice.txt, adicione as mensagens de notificação:

[InvasionStart]
MapNumber   = 0
Message     = [INVASAO] O Boss Customizado iniciou invasao em Lorencia! Prepare-se!

[InvasionEnd]
MapNumber   = 0
Message     = [INVASAO] A invasao em Lorencia terminou. Obrigado por participar!

Para enviar notices via SQL em sistemas que suportam broadcast por banco:

-- Inserir notice temporário (aparece no próximo ciclo do GameServer)
INSERT INTO T_Notice (NoticeIndex, Message, MapNumber, StartTime, Duration)
VALUES (100, '[INVASAO] Boss Customizado em Lorencia! Dirija-se ao mapa!', 0, GETDATE(), 60);

Passo 7: Reiniciar e Verificar

Após todas as alterações:

  1. Salve todos os arquivos .ini e .txt modificados
  2. No painel do GameServer, clique em Reload Data (se disponível) ou reinicie o processo
  3. Aguarde o horário configurado e verifique o log em GameServer/Log/GameServer_YYYYMMDD.log

Procure por entradas como:

[AttackEvent] BossType=400 spawned at Map=0 Pos=(130,125) Count=5
[AttackEvent] Invasion started - Duration=60min
Atenção: Se o GameServer não tiver opção de Reload, é necessário reiniciá-lo completamente. Agende a reinicialização para um horário de baixo movimento para não prejudicar jogadores online.

Solução de Problemas

Boss não aparece no horário configurado:

  • Verifique se o campo Enable = 1 está correto no BossInvasion.ini
  • Confirme que o AttackEventIndex no banco não está duplicado com outro registro
  • Cheque o log do GameServer por erros de parsing do arquivo .ini

Boss aparece mas não se move:

  • O valor de AI no Monster.txt pode estar como 0 (estático). Altere para 100 ou 110
  • Verifique se o mapa tem a flag de movimento ativada no arquivo de configuração do mapa

Mensagens de invasão não aparecem para os jogadores:

  • Confirme que o NotifyTime no banco é maior que 0
  • Verifique se o campo NotifyMessage no .ini não contém caracteres especiais sem escape correto

Drops não aparecem após matar o boss:

  • Confirme que o MonsterIndex na tabela de drops corresponde exatamente ao index definido no Monster.txt
  • Verifique se a soma dos DropRate não ultrapassa 100 para o mesmo MonsterIndex

Boss reaparece imediatamente após morte:

  • O campo RespawnTime está configurado como 0. Defina um valor em segundos, como 180 para 3 minutos

Conclusão

Com esses passos, seu servidor terá invasões customizadas completamente funcionais com agendamento, notificações e drops específicos. A combinação de arquivos .ini para definição de comportamento e tabelas SQL para agendamento dinâmico oferece flexibilidade total para criar eventos únicos.

Teste sempre em horário de baixo movimento e monitore os logs nas primeiras ocorrências para garantir que tudo funciona conforme esperado antes de divulgar o evento para os jogadores.

Perguntas frequentes

Qual tabela do banco de dados controla os horários de invasão?

A tabela T_AttackEvent (ou BossInvasion dependendo da versão do MuServer) no banco MuOnline armazena os horários e mapas de invasão. Use SELECT * FROM T_AttackEvent para visualizar os registros atuais.

Como faço para o boss aparecer em múltiplos mapas ao mesmo tempo?

No arquivo BossInvasion.ini (GameServer/Data/BossInvasion.ini), defina múltiplas entradas com o mesmo BossType mas MapNumber diferentes. Cada linha representa uma instância independente do boss.

O boss aparece mas some imediatamente — qual é a causa?

Geralmente o campo RespawnTime está configurado como 0 ou o MonsterClass no arquivo Monster.txt não tem HP definido. Verifique também se o campo Enable na tabela T_AttackEvent está definido como 1.

Posso ter invasões exclusivas por horário de pico?

Sim. Configure os campos StartHour e EndHour na tabela T_AttackEvent ou nas entradas do BossInvasion.ini para restringir a invasão a janelas de horário específicas, como StartHour=20 e EndHour=23 para horário noturno.

EQ

Equipe ViciadosMU

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

Continue lendo

Artigos relacionados