Como Configurar o Imperial Guardian no Servidor de MU Online
Guia técnico completo para ativar e configurar o evento Imperial Guardian no seu servidor MU Online, com SQL, arquivos .ini e troubleshooting.
O Imperial Guardian é um dos eventos mais estratégicos do MU Online: quatro times competem para proteger a Estátua Imperial em mapas de onda progressiva. Configurar corretamente esse evento exige ajustes em arquivos .ini, tabelas SQL e permissões de mapa. Este guia cobre tudo do zero.
Pré-requisitos
Antes de começar, confirme que seu ambiente atende:
- MuServer Season 4 EP2 ou superior (Season 6 recomendado)
- SQL Server 2005/2008/2012/2014/2017 com banco
MuOnlineacessível - Acesso de administrador ao diretório do GameServer
- Pasta
GameServer/Data/ImperialGuardian/existente (criada pelo próprio servidor na primeira execução)
ImperialGuardian e seus arquivos .ini já existem. Se estiver em um pacote recortado ou customizado, você pode precisar copiar esses arquivos de um pacote de referência.Passo 1: Habilitar o Evento no Banco de Dados
Conecte ao SQL Server Management Studio (SSMS) e selecione o banco MuOnline.
1.1 — Verificar se o evento existe na tabela de agendamento:
SELECT * FROM T_EventSchedule WHERE EventCode = 9;
Se retornar zero linhas, o evento precisa ser inserido. O código 9 corresponde ao Imperial Guardian na maioria das builds S6.
1.2 — Inserir ou atualizar o agendamento:
-- Inserir dois horários diários: 20h e 22h
INSERT INTO T_EventSchedule (EventCode, EventHour, EventMinute, EventEnabled)
VALUES (9, 20, 0, 1);
INSERT INTO T_EventSchedule (EventCode, EventHour, EventMinute, EventEnabled)
VALUES (9, 22, 0, 1);
Se os registros já existem mas o evento está desativado:
UPDATE T_EventSchedule
SET EventEnabled = 1
WHERE EventCode = 9;
1.3 — Conferir a tabela de recompensas base:
SELECT * FROM T_IGReward;
Essa tabela define os itens entregues ao time vencedor. Se estiver vazia, execute o script de inserção padrão fornecido com o pacote MuServer — geralmente em GameServer/SQL/ImperialGuardian_Reward.sql.
Passo 2: Configurar o Arquivo IGConfig.ini
Abra o arquivo GameServer/Data/ImperialGuardian/IGConfig.ini em um editor de texto (Notepad++ recomendado para preservar encoding ANSI).
[ImperialGuardian]
; Habilita (1) ou desabilita (0) o evento
EventEnable = 1
; Quantidade mínima de jogadores para o evento iniciar
MinPlayers = 4
; Duração do evento em minutos
EventTime = 15
; Nível mínimo para participar
MinLevel = 220
; Nível máximo para participar (0 = sem limite)
MaxLevel = 0
; Intervalo entre ondas de monstros em segundos
SpawnInterval = 120
; Quantidade máxima de participantes por time
MaxPlayersPerTeam = 5
; Habilita recompensa de experiência ao final
ExpReward = 1
; Multiplicador de EXP da recompensa (1.0 = padrão)
ExpRewardMultiplier = 1.5
MinPlayers para 1 ou 2 e MinLevel para 150. Isso evita que o evento nunca inicie por falta de jogadores.Salve o arquivo após as alterações. Não é necessário reiniciar o servidor para testar — o GameServer relê o .ini a cada ciclo de agendamento.
Passo 3: Configurar os Mapas do Imperial Guardian
O evento usa quatro mapas internos (IG1 a IG4), cada um para um time diferente. As configurações de spawn de monstros ficam em arquivos separados.
3.1 — Arquivos de spawn por mapa:
GameServer/Data/ImperialGuardian/IGMap1.ini → Time Azul
GameServer/Data/ImperialGuardian/IGMap2.ini → Time Verde
GameServer/Data/ImperialGuardian/IGMap3.ini → Time Vermelho
GameServer/Data/ImperialGuardian/IGMap4.ini → Time Amarelo
Exemplo de configuração de onda em IGMap1.ini:
[Wave1]
MonsterCode = 367
MonsterCount = 8
SpawnX = 50
SpawnY = 50
SpawnRadius = 5
[Wave2]
MonsterCode = 368
MonsterCount = 12
SpawnX = 50
SpawnY = 50
SpawnRadius = 5
[Wave3]
MonsterCode = 369
MonsterCount = 6
SpawnX = 50
SpawnY = 50
SpawnRadius = 3
Monster no banco antes de editar.3.2 — Verificar IDs dos monstros no banco:
SELECT MonsterCode, Name
FROM Monster
WHERE Name LIKE '%Guardian%'
ORDER BY MonsterCode;
Passo 4: Configurar Recompensas Personalizadas
As recompensas do Imperial Guardian são configuradas tanto via SQL quanto via arquivo .ini.
4.1 — Editar recompensas por banco de dados:
-- Remover recompensas existentes e inserir novas
DELETE FROM T_IGReward WHERE RewardType = 1;
-- Inserir Box of Luck (+5) como recompensa do 1º lugar
INSERT INTO T_IGReward (RewardType, ItemCode, ItemLevel, ItemSerial, RewardCount)
VALUES (1, 1750, 5, 0, 1);
-- Inserir Jewel of Bless como recompensa de consolação
INSERT INTO T_IGReward (RewardType, ItemCode, ItemLevel, ItemSerial, RewardCount)
VALUES (2, 1760, 0, 0, 3);
RewardType = 1 corresponde ao time vencedor e RewardType = 2 aos times perdedores. Confirme os ItemCodes corretos na tabela Items do seu banco, pois eles variam entre builds S6.4.2 — Recompensa em Jewels via IGConfig.ini (método alternativo):
[Reward]
Winner_Jewel = Bless
Winner_Amount = 5
Loser_Jewel = Chaos
Loser_Amount = 1
Use apenas um dos métodos — banco de dados ou .ini — conforme a build do seu servidor suportar. Builds mais antigas usam exclusivamente o .ini; builds modernas leem o banco.
Passo 5: Testar o Evento Manualmente
Antes de depender do agendamento automático, dispare o evento manualmente via comando GM para confirmar que está funcionando.
5.1 — Comando no jogo (como GM level 3+):
/event ig start
ou dependendo da build:
/startIG
5.2 — Verificar logs do GameServer:
Abra GameServer/Log/GameServer_AAAAMMDD.log e procure pelas linhas:
[ImperialGuardian] Event Started - Players: 4
[ImperialGuardian] Map1 initialized - Team: Blue
[ImperialGuardian] Wave 1 spawned: 8 monsters
Se aparecer Event Started mas nenhuma linha de mapa, o problema está nos arquivos IGMap*.ini.
Passo 6: Ajustar Permissões de Mapa no ConnectServer
Para que jogadores sejam teleportados corretamente para os mapas do IG, o ConnectServer precisa reconhecer esses mapas.
Edite ConnectServer/ConnectServer.ini ou ConnectServer/MapServerInfo.ini:
; Mapas do Imperial Guardian (IDs variam por versão S4/S6)
[Map112]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 112
[Map113]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 113
[Map114]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 114
[Map115]
ServerIP = 127.0.0.1
ServerPort = 55901
MapIndex = 115
GameServer/Data/MapInfo.ini ou a tabela MapInfo do banco para confirmar os IDs corretos antes de editar o ConnectServer.Troubleshooting
Evento não inicia no horário programado
- Confirme
EventEnabled = 1na tabelaT_EventSchedule - Verifique se o GameServer.exe está rodando como Administrador
- Cheque se o horário no servidor corresponde ao fuso horário esperado:
SELECT GETDATE()no SSMS - Abra o log do GameServer e filtre por
[EventScheduler]
Jogadores não são teleportados ao entrar na fila
- Confirme que os mapas IG estão registrados no
ConnectServer - Verifique se o NPC do Imperial Guardian (geralmente posicionado em Lorencia 130, 120) está configurado no arquivo
GameServer/Data/NPC.ini
Erro "Not enough players" mesmo com jogadores suficientes
-- Verificar o MinPlayers configurado no banco (alguns builds usam tabela própria)
SELECT * FROM T_IGConfig WHERE ConfigKey = 'MinPlayers';
-- Atualizar se necessário
UPDATE T_IGConfig SET ConfigValue = 2 WHERE ConfigKey = 'MinPlayers';
Monstros não aparecem nas ondas
Confirme que os MonsterCode nos arquivos IGMap*.ini existem no banco:
SELECT MonsterCode, Name, Level
FROM Monster
WHERE MonsterCode IN (367, 368, 369);
Se retornar vazio, os IDs estão errados para a sua build. Use os IDs corretos encontrados na query anterior sobre monstros Guardian.
Resumo dos Arquivos Editados
| Arquivo | O que configura |
|---|---|
GameServer/Data/ImperialGuardian/IGConfig.ini | Parâmetros gerais do evento |
GameServer/Data/ImperialGuardian/IGMap1-4.ini | Ondas e spawns por time |
ConnectServer/ConnectServer.ini | Registro dos mapas do IG |
T_EventSchedule (SQL) | Horários de execução |
T_IGReward (SQL) | Recompensas dos times |
.ini, não é necessário reiniciar o GameServer completo — apenas o módulo de eventos é recarregado no próximo ciclo. Porém, mudanças no banco de dados (T_EventSchedule, T_IGReward) têm efeito imediato.Perguntas frequentes
Qual a versão mínima do MuServer para o Imperial Guardian funcionar?
O Imperial Guardian foi introduzido na Season 4 Episode 2. Para rodar o evento, você precisa de MuServer S4 EP2 ou superior. Em servidores Season 6, ele está disponível nativamente. Versões S1 a S3 não suportam esse evento.
O evento não aparece no horário configurado, o que verificar?
Confirme que a coluna EventEnabled está com valor 1 na tabela T_EventSchedule do banco MuOnline. Depois verifique se o GameServer.exe tem permissão de administrador, pois sem ela os eventos de horário agendado não disparam. Por fim, revise o arquivo GameServer/Data/ImperialGuardian/IGConfig.ini para checar se MinPlayers não está acima do número real de jogadores online.
Como aumentar o tempo de duração do Imperial Guardian?
No arquivo IGConfig.ini, altere o parâmetro EventTime (valor em minutos). O padrão é 15 minutos. Para eventos mais longos, como torneios, valores entre 20 e 30 são recomendados. Lembre-se de também ajustar o SpawnInterval para que os monstros não acabem antes do fim do evento.
Posso rodar o Imperial Guardian em múltiplos horários no mesmo dia?
Sim. Na tabela T_EventSchedule você pode inserir múltiplas linhas para o EventCode do Imperial Guardian (código 9), cada uma com um horário diferente nos campos EventHour e EventMinute. Não há limite fixo de execuções diárias, mas espaço mínimo de 30 minutos entre cada instância é recomendado para evitar conflitos de instância.