Como configurar o Doppelganger (Twisted Karutan) no MU Online
Guia técnico completo para configurar o evento Doppelganger (Twisted Karutan) no seu servidor MU Online, cobrindo o sistema de salas por equipe, os interruptores, os baús de recompensa, arquivos INI, tabelas SQL e resolução de problemas.
O Doppelganger, também conhecido como Twisted Karutan, é um evento de party do MU Online que combina caça a monstros, ativação de mecanismos e abertura de baús de recompensa dentro de salas instanciadas do mapa Karutan. Diferente de eventos de servidor inteiro como o Crywolf, ou de PvP como o Illusi
O Doppelganger, também conhecido como Twisted Karutan, é um evento de party do MU Online que combina caça a monstros, ativação de mecanismos e abertura de baús de recompensa dentro de salas instanciadas do mapa Karutan. Diferente de eventos de servidor inteiro como o Crywolf, ou de PvP como o Illusion Temple, o Doppelganger é focado em grupos: cada party entra na sua própria versão da sala e compete contra o relógio para acumular pontos e desbloquear os baús. É um dos melhores eventos para dar objetivo a grupos de nível intermediário e alto, e sua configuração exige coordenar EventServer, salas por equipe, interruptores e drops. Este guia cobre a configuração completa em servidores Season 6 Episode 3 e posteriores, com notas sobre variações entre emuladores.
Pré-requisitos
Antes de começar, confirme que seu ambiente atende a estes requisitos:
- MuServer Season 6 Episode 3 (ou superior) com EventServer funcional
- SQL Server 2008 ou superior com o banco
MuOnline - Acesso administrativo aos diretórios
EventServer/,GameServer/Data/e ao SSMS - Cliente do MU com o mapa Karutan/Doppelganger presente na pasta
Data - Backup completo do banco de dados e das pastas de configuração
> Se você ainda não tem um servidor base rodando, comece pelo guia de como criar servidor de MU Online antes de configurar eventos de party avançados como o Doppelganger.
Todos os nomes de arquivo, IDs de monstro e índices de mapa abaixo são apresentados como exemplo típico de um build Season 6. Cada detalhe varia por emulador (MuEMU, IWZ, X-Team e outros), então valide sempre com os arquivos do seu servidor.
Entendendo a mecânica do Doppelganger
Antes de configurar, entenda o fluxo, porque a maioria dos erros vem de tratar o Doppelganger como um evento estático:
- Cada party entra numa sala instanciada — várias parties podem estar no evento ao mesmo tempo, cada uma isolada na sua sala.
- Dentro da sala há monstros comuns e chefes (incluindo os "doppelgangers", cópias de monstros). Matá-los concede pontos.
- Espalhados pela sala existem interruptores/mecanismos que, quando ativados, liberam áreas ou baús.
- No fim, baús de recompensa são abertos conforme a pontuação ou as condições cumpridas, dropando itens de valor.
- Tudo isso acontece dentro de um tempo limite. Se o tempo acaba, a party é removida da sala.
| Elemento | Função | Onde se configura (exemplo) |
|---|---|---|
| Sala instanciada | Isola cada party | EventServer / INI |
| Monstros e doppelgangers | Fornecem pontos ao serem mortos | MonsterSetBase / MonsterBase |
| Interruptores | Liberam áreas e baús | Config do evento / arquivo de sala |
| Baús de recompensa | Entregam os drops | Tabela ou arquivo de reward |
| Tempo limite | Encerra a sala | INI (EventDuration) |
Passo 1: Verificar a estrutura de arquivos do EventServer
O Doppelganger é orquestrado pelo EventServer. Confirme os arquivos:
EventServer/
├── EventServer.exe
├── EventServer.cfg
├── Doppelganger.ini
└── Log/
└── Doppelganger.log
Se a pasta Log/ não existir, crie-a manualmente. Se Doppelganger.ini não existir, crie-o conforme o próximo passo. Em alguns builds o arquivo se chama TwistedKarutan.ini — isso varia por emulador.
Passo 2: Configurar o arquivo Doppelganger.ini
Abra ou crie EventServer/Doppelganger.ini no Notepad++ e salve como ANSI. Exemplo típico:
[Doppelganger]
DoppelgangerEnable=1
EntranceOpenTime=03:00,09:00,15:00,21:00
RegisterTime=10
EventDuration=30
MinUserPerParty=1
MaxUserPerParty=5
MinLevel=380
ScorePerMonster=10
SwitchCount=4
ChestRewardEnable=1
MaxRoomCount=10
Parâmetros principais:
| Parâmetro | Valor exemplo | Descrição |
|---|---|---|
DoppelgangerEnable | 1 | Ativa (1) ou desativa (0) o evento |
EntranceOpenTime | HH:MM | Horários em que a entrada abre |
EventDuration | 30 | Tempo (min) que a party tem na sala |
MinUserPerParty | 1 | Mínimo de jogadores por party |
MaxUserPerParty | 5 | Máximo de jogadores por party |
MinLevel | 380 | Nível mínimo para entrar |
SwitchCount | 4 | Número de interruptores por sala |
MaxRoomCount | 10 | Salas simultâneas máximas |
> Em servidores pequenos, defina MinUserPerParty=1 para permitir que jogadores solo ou duplas entrem. Em servidores populosos, um mínimo de 3 a 5 incentiva o jogo em grupo, que é o propósito do evento.
Passo 3: Configurar as conexões no EventServer.cfg
Abra EventServer/EventServer.cfg e confirme as conexões e a habilitação:
[Connect]
GameServerIP=127.0.0.1
GameServerPort=55960
ConnectServerIP=127.0.0.1
ConnectServerPort=44405
[DataBase]
DSN=MuOnline
ID=event_user
PWD=sua_senha_forte
DBName=MuOnline
[Event]
DoppelgangerEventEnable=1
Nunca use a conta sa em produção. Crie uma conta SQL dedicada com permissões restritas ao banco MuOnline:
CREATE LOGIN event_user WITH PASSWORD = 'SenhaForte#2024';
USE MuOnline;
CREATE USER event_user FOR LOGIN event_user;
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO event_user;
Passo 4: Configurar os monstros e doppelgangers da sala
Os monstros do evento (comuns, doppelgangers e chefes) são definidos em GameServer/Data/MonsterSetBase.txt para o mapa do evento. Um bloco típico:
// Doppelganger / Twisted Karutan - Map 65 (exemplo)
// MapNumber / MonsterIndex / X / Y / Direction / SpawnType
65 569 120 120 1 0 // Monstro comum da sala
65 569 130 125 1 0 // Monstro comum da sala
65 570 140 130 3 0 // Doppelganger (cópia)
65 571 150 140 3 1 // Chefe da sala
Confirme que os IDs de monstro estão habilitados na base:
SELECT Index, Name, Enable
FROM MuOnline..MonsterBase
WHERE Index IN (569, 570, 571);
-- Habilitar se necessário
UPDATE MuOnline..MonsterBase
SET Enable = 1
WHERE Index IN (569, 570, 571);
Em muitos builds, os monstros da sala são invocados dinamicamente pelo EventServer conforme a party entra, e não por spawn fixo. Nesse caso, não os cadastre manualmente para evitar duplicação. Isso varia por emulador — confirme na documentação do seu servidor qual abordagem o build usa.
Passo 5: Configurar o acesso à sala (NPC ou gate)
Os jogadores acessam o Doppelganger por um NPC de teletransporte ou por um gate direto.
5.1 — Registrar o NPC de acesso (se o seu build usa NPC) em GameServer/Data/MonsterSetBase.txt:
// NPC de acesso ao Doppelganger (exemplo)
// MapNumber / NpcIndex / X / Y / Direction
2 577 120 120 3 // NPC Doppelganger (Devias, exemplo)
5.2 — Habilitar o gate de entrada no banco:
-- Verificar gate do Doppelganger (número varia por build)
SELECT GateNumber, GateName, MapNumber, Enable
FROM MuOnline..T_GateInfo
WHERE GateName LIKE '%Doppel%' OR GateName LIKE '%Karutan%';
-- Habilitar se necessário
UPDATE MuOnline..T_GateInfo
SET Enable = 1
WHERE GateName LIKE '%Doppel%' OR GateName LIKE '%Karutan%';
Confirme também que o nível mínimo de entrada configurado no INI (MinLevel) corresponde ao público esperado — um valor alto demais bloqueia todos os jogadores.
Passo 6: Configurar os interruptores e baús de recompensa
Os interruptores liberam áreas e os baús entregam os drops. A configuração normalmente fica embutida no EventServer ou num arquivo de sala. Um exemplo conceitual:
; Trecho do Doppelganger.ini referente aos baús
[Rewards]
ChestRewardEnable=1
ChestCount=3
RequiredScore=100
As recompensas dos baús costumam ser controladas por tabela SQL ou arquivo de drop. Via SQL, um exemplo:
-- Verificar recompensas dos baús (nome de tabela varia por build)
SELECT * FROM MuOnline..T_DoppelgangerReward;
-- Ajustar item de recompensa (exemplo conceitual)
UPDATE MuOnline..T_DoppelgangerReward
SET RewardItemIndex = 7182, -- exemplo: Jewel of Life
RewardQuantity = 1,
DropRate = 30
WHERE ChestType = 1;
Em builds baseados em arquivo, o drop dos baús pode estar em GameServer/Data/DoppelgangerReward.txt ou num item bag específico. Isso varia por emulador. Ajuste as taxas com moderação: o Doppelganger é repetível várias vezes ao dia, então drops muito generosos derrubam o valor dos itens rapidamente.
Passo 7: Sequência de inicialização e teste
A ordem de inicialização é obrigatória:
- Inicie
DataServer.exee aguarde "Ready". - Inicie
ConnectServer.exee aguarde a conexão. - Inicie
GameServer.exee aguarde a inicialização completa. - Inicie
EventServer.exepor último e monitore o console.
No console do EventServer, confirme mensagens semelhantes a:
[Doppelganger] Initialize OK
[Doppelganger] Next entrance: 03:00:00
[Doppelganger] Connected to GameServer: 127.0.0.1:55960
Para testar imediatamente, ajuste EntranceOpenTime para um horário logo à frente do relógio do servidor, reinicie o EventServer, entre com uma party de teste e valide o ciclo completo: entrada na sala, caça a monstros, ativação dos interruptores, abertura dos baús e recebimento das recompensas.
Erros comuns e soluções
| Problema | Causa provável | Solução |
|---|---|---|
| Jogador não consegue entrar | MinLevel muito alto ou fora do horário | Reduza MinLevel e confirme o EntranceOpenTime |
| Sala não é criada | MaxRoomCount esgotado ou evento desabilitado | Verifique DoppelgangerEnable=1 e aumente MaxRoomCount |
| Monstros não spawnam | IDs desabilitados em MonsterBase | Rode UPDATE MonsterBase SET Enable=1 para os IDs corretos |
| Interruptores não funcionam | Config de sala ausente | Verifique o arquivo/tabela de sala e o log do EventServer |
| Baús não abrem | Pontuação alvo não atingida ou reward desabilitado | Ajuste RequiredScore e confirme ChestRewardEnable=1 |
| Baús abrem mas não dropam | Drop dos baús mal configurado | Verifique a tabela/arquivo de reward e as taxas |
| Cliente crasha ao entrar | Arquivo de mapa ausente no cliente | Confirme os arquivos do mapa na pasta Data do cliente |
> Após alterar qualquer arquivo .ini ou tabela de configuração, reinicie o EventServer — os parâmetros são carregados em memória na inicialização e raramente lidos em tempo real.
Ajuste de fuso horário
O EventServer usa o relógio do Windows do servidor. Ajuste os horários ao pico do seu público:
; Público brasileiro (UTC-3) querendo eventos às 00h, 06h, 12h e 18h
; Em servidor UTC, some 3 horas:
EntranceOpenTime=03:00,09:00,15:00,21:00
Verifique e sincronize o relógio do servidor:
tzutil /g
w32tm /resync /force
Checklist de lançamento
- Backup completo do banco
MuOnlinee das pastasEventServer/eGameServer/Data/ Doppelganger.inicriado e salvo em ANSI, comDoppelgangerEnable=1- Horários de entrada configurados conforme o fuso do público
- Conexões corretas em
EventServer.cfgcom conta SQL dedicada - IDs de monstro (comuns, doppelgangers e chefes) habilitados em
MonsterBase - Spawns revisados em
MonsterSetBase.txt(sem duplicar se o build for dinâmico) - NPC de acesso registrado e/ou gate habilitado em
T_GateInfo MinLevelajustado ao público esperadoMinUserPerPartyeMaxUserPerPartyajustados ao tamanho do servidor- Interruptores e baús configurados corretamente
- Drops dos baús com taxas equilibradas
- Arquivos de mapa presentes no cliente e no servidor
- Sequência de inicialização respeitada (EventServer por último)
- Teste completo de uma sala (entrada, caça, interruptores, baús, reward) executado
- Relógio do servidor sincronizado com
w32tm /resync /force
Com as salas instanciadas funcionando, os interruptores liberando os baús e as recompensas equilibradas com a economia do servidor, o Doppelganger (Twisted Karutan) se torna um dos melhores eventos de party do MU Online — dando objetivo constante a grupos de nível intermediário e alto. A chave é validar o ciclo completo com uma party de teste antes de abrir ao público, garantindo que cada etapa (entrada, pontuação, interruptores e baús) funcione de ponta a ponta.
Perguntas frequentes
O que é exatamente o Doppelganger e por que se chama Twisted Karutan?
Doppelganger é o nome do evento de party em que grupos entram numa sala instanciada de Karutan (por isso Twisted Karutan) para caçar monstros, ativar interruptores e abrir baús de recompensa. O objetivo é acumular pontos matando monstros e chefes dentro do tempo limite.
Os jogadores não conseguem entrar na sala do Doppelganger. O que verificar?
Confirme que o evento está habilitado no INI, que o horário atual coincide com uma janela de entrada, que o NPC ou o gate de acesso está configurado e que o jogador atende ao nível mínimo exigido. O log do EventServer registra tentativas de entrada rejeitadas.
Os baús de recompensa não abrem ou não dropam nada. O que fazer?
Os baús só liberam recompensa quando as condições da sala são cumpridas (interruptores ativados ou pontuação atingida). Verifique a configuração dos baús, a tabela ou o arquivo de drop associado e se o EventServer registra a conclusão da sala no log.
Como ajustar quantos jogadores por party podem entrar?
Edite o número mínimo e máximo de jogadores por sala no arquivo INI do Doppelganger e reinicie o EventServer. Servidores menores devem usar mínimos baixos para não bloquear a entrada de parties pequenas.
Qual versão do MuServer tem o Doppelganger?
O Doppelganger (Twisted Karutan) apareceu em servidores baseados em Season 6 e posteriores. Os índices de mapa, IDs de monstro e nomes de arquivo variam por emulador, então valide sempre com os arquivos Data do seu build.