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

Como Configurar o Sistema de Quest no Servidor de MU Online

Guia técnico completo para configurar o sistema de quests no MU Online privado: arquivos DAT, tabelas SQL, NPCs, recompensas e resolução de erros comuns.

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

Introdução

O sistema de quests do MU Online orienta a progressão do personagem desde os primeiros níveis até o endgame. Em servidores privados rodando Season 6 Episode 3 — a versão mais usada em servidores privados — as quests são controladas por arquivos de dados no diretório GameServer/Data/Quest/, parâmetros no GameServer.ini e tabelas no banco MuOnline do SQL Server.

Este guia cobre a configuração completa: localização de arquivos, estrutura das tabelas SQL, parâmetros editáveis, configuração de NPCs e resolução dos erros mais frequentes.

Nota: Este guia foi escrito para servidores Season 6 usando SQL Server 2008 ou superior. Versões anteriores (S2–S4) utilizam estruturas de tabela diferentes e arquivos .cfg em vez de .dat para parte das definições de quest.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Acesso ao SQL Server Management Studio (SSMS) com permissão de escrita no banco MuOnline
  • Acesso local ou via FTP/RDP ao diretório do servidor (ex.: C:\MuServer\)
  • Backup completo do banco de dados e dos arquivos em GameServer/Data/
  • GameServer parado antes de editar qualquer arquivo .dat ou .ini

Passo 1 — Fazer Backup Antes de Qualquer Alteração

Nunca edite arquivos de produção sem backup. Execute os seguintes comandos antes de qualquer modificação:

Backup dos arquivos de dados via linha de comando:

xcopy "C:\MuServer\GameServer\Data\Quest\" "C:\Backup\Quest_%date:~-4,4%%date:~-10,2%%date:~-7,2%\" /E /I

Backup das tabelas SQL via SSMS:

USE MuOnline;
GO

-- Backup da tabela de definições de quest
SELECT * INTO dbo.T_Quest_Backup_20260703
FROM dbo.T_Quest;

-- Backup do progresso de quests dos personagens
SELECT * INTO dbo.T_PlayerQuest_Backup_20260703
FROM dbo.T_PlayerQuest;
GO
Atenção: O GameServer deve estar completamente parado antes de editar qualquer arquivo .dat. Editar com o servidor ativo pode corromper os arquivos de dados ou causar dessincronização com o banco de dados, resultando em perda de progresso para os jogadores.

Passo 2 — Localizar os Arquivos de Quest

Os arquivos principais do sistema de quests ficam no seguinte caminho:

C:\MuServer\GameServer\Data\
├── Quest\
│   ├── QuestData.dat          ← Definições de quests (objetivos, NPCs, condições)
│   ├── QuestReward.dat        ← Recompensas de cada quest
│   └── QuestMonster.dat       ← Monstros associados a quests de kill
├── NPC\
│   └── NPCGab.dat             ← NPCs que oferecem quests no jogo
Dica: Em algumas builds do MuServer Season 6, os arquivos .dat são binários e exigem o DataEditor incluído nas ferramentas do servidor para edição. Em builds mais recentes, são texto plano e podem ser abertos diretamente no Notepad++ com encoding ANSI.

Passo 3 — Ativar o Sistema de Quest no GameServer.ini

Abra C:\MuServer\GameServer\GameServer.ini e localize ou adicione a seção [Quest]:

[Quest]
QuestSwitch=1
QuestNPCSwitch=1
QuestMonsterKillSwitch=1
QuestMaxActivePerPlayer=5
QuestLogPath=./Log/Quest/

Descrição dos parâmetros:

ParâmetroValorDescrição
QuestSwitch1/0Liga/desliga o sistema de quests globalmente
QuestNPCSwitch1/0Permite que NPCs ofereçam quests
QuestMonsterKillSwitch1/0Habilita contagem de kills para quests de extermínio
QuestMaxActivePerPlayer1–20Número máximo de quests simultâneas por personagem
QuestLogPathcaminhoDiretório de logs de conclusão de quests
Dica: O diretório indicado em QuestLogPath deve existir antes de iniciar o servidor. Crie-o manualmente se necessário: mkdir C:\MuServer\GameServer\Log\Quest

Passo 4 — Entender a Estrutura da Tabela T_Quest

Abra o SSMS, conecte ao banco MuOnline e inspecione a tabela principal:

USE MuOnline;
GO

SELECT TOP 10
    QuestIndex,
    QuestName,
    MinLevel,
    MaxLevel,
    QuestActive,
    RewardExp,
    RewardZen,
    RewardPoints
FROM dbo.T_Quest
ORDER BY QuestIndex;
GO

Os campos mais relevantes para customização:

CampoTipoDescrição
QuestIndexINTID único da quest
QuestNameVARCHAR(50)Nome exibido ao jogador
MinLevelSMALLINTNível mínimo para aceitar
MaxLevelSMALLINTNível máximo (0 = sem limite)
QuestActiveTINYINT1 = ativa, 0 = desativada
RewardExpBIGINTExperiência concedida ao completar
RewardZenINTZen concedido ao completar
RewardPointsSMALLINTPontos de atributo concedidos

Passo 5 — Configurar Quests no Banco de Dados

5.1 — Ativar ou desativar quests específicas

USE MuOnline;
GO

-- Desativar quest de ID 15 (ex.: quest de tutorial muito fácil)
UPDATE dbo.T_Quest
SET QuestActive = 0
WHERE QuestIndex = 15;

-- Ativar todas as quests para personagens de nível 1 a 50
UPDATE dbo.T_Quest
SET QuestActive = 1
WHERE MinLevel BETWEEN 1 AND 50;
GO

5.2 — Ajustar recompensas de experiência e zen

USE MuOnline;
GO

-- Aumentar 50% a experiência de todas as quests acima do nível 150
UPDATE dbo.T_Quest
SET RewardExp = RewardExp * 1.5
WHERE MinLevel > 150;

-- Definir recompensas exatas para quests específicas
UPDATE dbo.T_Quest
SET RewardExp = 5000000, RewardZen = 500000
WHERE QuestIndex IN (101, 102, 103);
GO

5.3 — Verificar e resetar progresso de personagens

USE MuOnline;
GO

-- Ver todas as quests em andamento de um personagem
SELECT
    q.QuestName,
    pq.QuestStatus,
    pq.KillCount,
    pq.StartDate
FROM dbo.T_PlayerQuest pq
INNER JOIN dbo.T_Quest q ON q.QuestIndex = pq.QuestIndex
WHERE pq.CharName = 'NomeDoPersonagem';

-- Resetar todas as quests de um personagem (uso em testes)
DELETE FROM dbo.T_PlayerQuest
WHERE CharName = 'NomeDoPersonagem';
GO
Atenção: O comando DELETE em T_PlayerQuest apaga permanentemente o histórico de quests do personagem. Use apenas em ambientes de teste ou quando o jogador solicitar explicitamente um reset de progresso.

Passo 6 — Editar QuestData.dat (Formato Texto Plano)

Se o seu servidor usa arquivos .dat em texto plano, cada linha de quest no QuestData.dat segue este formato:

// QuestIndex  NPCIndex  MinLvl  MaxLvl  NextQuestIndex  MonsterIndex  KillCount
1              378       1       50      2               6             10
2              378       20      100     3               7             20
3              379       50      150     0               17            15

Descrição dos campos:

  • QuestIndex — ID único da quest (deve coincidir com a coluna QuestIndex em T_Quest)
  • NPCIndex — ID do NPC que oferece a quest (deve existir em NPCGab.dat)
  • MinLvl / MaxLvl — Faixa de nível válida para aceitar a quest
  • NextQuestIndex — Quest seguinte na cadeia (0 = última da cadeia)
  • MonsterIndex — ID do monstro a matar (0 para quests sem objetivo de kill)
  • KillCount — Quantidade de kills necessária para completar

Exemplo de configuração de QuestReward.dat:

// QuestIndex  ExpReward  ZenReward  StatPoints
1              50000      10000      0
2              150000     30000      1
3              500000     100000     2

Passo 7 — Configurar o NPC de Quest em NPCGab.dat

O NPC que oferece as quests precisa estar registrado corretamente:

// NPCIndex  MapIndex  PosX  PosY  Direction  Name
378          0         133   120   1          Sebina the Priest
379          2         197   35    2          Sebina the Priest

Índices de mapa comuns:

MapIndexMapa
0Lorencia
1Dungeon
2Devias
3Noria
7Atlans
Nota: Para identificar o MonsterIndex correto ao configurar quests de kill, consulte a tabela do banco: SELECT MonsterIndex, MonsterName FROM MuOnline.dbo.MonsterBase WHERE MonsterName LIKE '%Budge%'

Passo 8 — Reiniciar e Verificar

Após todas as alterações, reinicie os serviços na ordem correta:

DataServer → ConnectServer → GameServer

net stop GameServer
net stop ConnectServer
net stop DataServer
timeout /t 5
net start DataServer
net start ConnectServer
net start GameServer

Verifique o arquivo C:\MuServer\GameServer\Log\GameServer.log e procure por estas linhas:

[Quest] QuestData loaded: 48 quests
[Quest] QuestReward loaded: 48 entries
[Quest] System initialized successfully

Se aparecer QuestData loaded: 0 quests, o arquivo QuestData.dat não foi encontrado ou contém erros de sintaxe — restaure o backup e verifique o formato linha a linha.


Troubleshooting

Quests não aparecem no menu do jogo

  1. Confirme QuestSwitch=1 no GameServer.ini e reinicie o GameServer
  2. Verifique se o nível do personagem está dentro da faixa MinLevel/MaxLevel
  3. Execute: SELECT COUNT(*) FROM MuOnline.dbo.T_Quest WHERE QuestActive=1 — deve retornar valor maior que zero

NPC não oferece quest

  1. Verifique se o NPCIndex no QuestData.dat existe em NPCGab.dat
  2. Confirme que o NPC está no mesmo mapa onde o personagem de teste está

Contador de kills não avança

  1. Confirme QuestMonsterKillSwitch=1 no GameServer.ini
  2. Verifique se o MonsterIndex no QuestData.dat corresponde exatamente ao ID em MonsterSetBase.dat
-- Localizar ID correto do monstro
SELECT MonsterIndex, MonsterName
FROM MuOnline.dbo.MonsterBase
WHERE MonsterName LIKE '%NomeDoMonstro%';

Recompensas não são entregues ao completar

-- Verificar se a entrada de recompensa existe
SELECT * FROM MuOnline.dbo.T_QuestReward
WHERE QuestIndex = 1;  -- Substitua pelo ID da quest problemática
Dica: Habilite logs detalhados adicionando Debug=1 na seção [Quest] do GameServer.ini durante os testes. Isso grava cada evento de quest no QuestLogPath. Desative em produção para não impactar a performance.

Conclusão

Com o sistema de quests corretamente configurado, seus jogadores terão uma progressão mais estruturada e motivante. Os pontos críticos são: consistência entre os arquivos .dat e as tabelas SQL, o parâmetro QuestSwitch=1 no .ini, e a correspondência exata de IDs entre QuestData.dat, NPCGab.dat e MonsterSetBase.dat. Sempre mantenha backups atualizados antes de qualquer alteração e teste cada quest individualmente com um personagem GM antes de abrir para os jogadores.

Perguntas frequentes

Qual tabela do banco de dados armazena o progresso de quests por personagem?

Em Season 6, o progresso individual fica na tabela T_PlayerQuest (colunas CharName, QuestIndex, QuestStatus, KillCount). As definições de quests ficam em T_Quest. Use SELECT * FROM MuOnline.dbo.T_PlayerQuest WHERE CharName = 'NomePersonagem' para inspecionar.

Os NPCs de quest não aparecem no jogo após editar os arquivos. O que verificar?

Confirme que o GameServer foi reiniciado após a edição. Verifique se o NPCIndex no QuestData.dat corresponde a um NPC registrado em NPCGab.dat e se as coordenadas no mapa são válidas. Inspecione GameServer/Log/GameServer.log para erros de carregamento.

Como resetar a quest de um personagem específico via SQL?

Execute: DELETE FROM MuOnline.dbo.T_PlayerQuest WHERE CharName = 'NomePersonagem' AND QuestIndex = 0; Para resetar todas as quests do personagem omita o filtro QuestIndex. Sempre faça backup antes de modificar dados de personagem.

O servidor trava ao iniciar depois de editar QuestData.dat. O que fazer?

Restaure o backup criado antes da edição e compare com a versão modificada linha a linha. Erros de sintaxe, valores de KillCount negativos e NPCIndex sem correspondência em NPCGab.dat são as causas mais comuns de falha na inicialização.

EQ

Equipe ViciadosMU

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

Continue lendo

Artigos relacionados