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
Resposta rápida

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 dado

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 editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Continue lendo

Artigos relacionados