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

Como Configurar Taxas de EXP por Nível no Servidor de MU Online

Aprenda a configurar taxas de EXP diferenciadas por faixa de nível no seu servidor de MU Online usando arquivos .ini e SQL Server.

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

Configurar taxas de EXP de forma granular — diferentes para faixas de nível, mapas ou períodos — é um dos ajustes mais impactantes na experiência de jogo do seu servidor de MU Online. Este guia cobre o processo completo para MuServer Season 6 (o mais comum em servidores privados), com referências para Season 2/3 e Season 12+.

Entendendo a Arquitetura de EXP no MuServer

Antes de editar qualquer arquivo, é fundamental entender como o GameServer calcula a EXP concedida a um personagem:

  1. O monstro morto possui um valor de EXP base definido no banco de dados
  2. O GameServer aplica o multiplicador global (ExpRate) configurado no .ini
  3. O resultado é comparado com a tabela de experiência por nível para determinar se houve level up
  4. Bônus adicionais (VIP, eventos, itens) são somados por cima

Conhecendo essa cadeia, você pode intervir em qualquer ponto para ajustar a progressão.

Passo 1: Localizar e Editar o GameServer.ini

O arquivo principal de configuração do GameServer fica em:

GameServer/GameServer.ini

Abra-o com o Notepad++ ou qualquer editor de texto sem formatação. Localize a seção [GameServer] ou [Exp] dependendo da sua versão:

[GameServer]
ExpRate=10
MasterExpRate=5
MasterLevel=400
MaxLevel=400

Significado dos parâmetros:

ParâmetroFunçãoValor típico
ExpRateMultiplicador global de EXP (1 = normal, 10 = 10x)5–100
MasterExpRateMultiplicador de EXP para Master Level (acima do level máximo base)3–50
MasterLevelLevel a partir do qual o sistema Master Level é ativado400
MaxLevelLevel máximo que um personagem comum pode atingir400
Dica: Para servidores com foco em progressão lenta e comunidade duradoura, use ExpRate entre 5 e 20. Para servidores de curta duração ou "fun server", valores entre 100 e 9999 são comuns.

Passo 2: Configurar EXP Diferenciada por Faixa de Nível via SQL

A abordagem mais poderosa para controlar a curva de progressão é ajustar diretamente a tabela de experiência necessária por nível no banco de dados. Isso permite que os primeiros níveis sejam muito rápidos e os altos níveis sejam gradualmente mais demorados.

Conecte ao SQL Server Management Studio e execute na base MuOnline:

-- Verificar a estrutura atual da tabela de experiência por nível
USE MuOnline;
SELECT TOP 20 Level, Experience
FROM LevelExperience
ORDER BY Level ASC;

Para ajustar a EXP necessária nos níveis 1 a 150 (fase inicial acelerada):

-- Reduzir a EXP necessária nos primeiros 150 níveis em 50%
UPDATE MuOnline.dbo.LevelExperience
SET Experience = Experience * 0.5
WHERE Level BETWEEN 1 AND 150;

Para fazer os níveis 151 a 300 demandarem mais esforço (fase intermediária):

-- Aumentar a EXP necessária nos níveis 151-300 em 20%
UPDATE MuOnline.dbo.LevelExperience
SET Experience = Experience * 1.2
WHERE Level BETWEEN 151 AND 300;

Para tornar os níveis 301 ao máximo muito mais desafiadores (fase avançada):

-- Dobrar a EXP necessária nos níveis acima de 300
UPDATE MuOnline.dbo.LevelExperience
SET Experience = Experience * 2.0
WHERE Level > 300;
Atenção: Sempre faça backup da tabela antes de qualquer UPDATE massivo. Execute: SELECT * INTO LevelExperience_backup FROM LevelExperience antes de iniciar as modificações. Se algo sair errado, restaure com: UPDATE le SET le.Experience = bkp.Experience FROM LevelExperience le JOIN LevelExperience_backup bkp ON le.Level = bkp.Level.

Passo 3: Configurar EXP de Monstros Individualmente

A EXP de cada monstro é definida na tabela Monster (ou MonsterAttr dependendo da versão). Para ver e ajustar:

-- Listar os 20 monstros com mais EXP
USE MuOnline;
SELECT TOP 20 Number, Name, Experience
FROM Monster
ORDER BY Experience DESC;

-- Aumentar a EXP de todos os monstros do Tarkan em 30%
-- (assumindo que os IDs do Tarkan vão de 45 a 62 na sua versão)
UPDATE MuOnline.dbo.Monster
SET Experience = Experience * 1.3
WHERE Number BETWEEN 45 AND 62;

Para identificar o range de IDs dos monstros por mapa, consulte o arquivo:

GameServer/Data/Maps/MapName.bmd

Ou use a query:

-- Consultar monstros de um mapa específico via tabela de spawn
SELECT m.Number, m.Name, m.Experience, s.MapNumber
FROM Monster m
JOIN MonsterSetBase s ON m.Number = s.Type
WHERE s.MapNumber = 9  -- 9 = Tarkan na maioria das versões S6
ORDER BY m.Experience DESC;

Passo 4: Configurar EXP por Evento (Blood Castle, Devil Square)

Eventos concedem bônus de EXP que podem ser configurados em arquivos .ini separados ou via tabela no banco. No Season 6 padrão:

Blood Castle — edite GameServer/Data/Events/BloodCastle.ini:

[BloodCastle]
ExpBonus=200
; Bônus em % adicionado à EXP durante o evento
; 200 = personagens ganham 200% a mais de EXP dentro do Blood Castle

Devil Square — edite GameServer/Data/Events/DevilSquare.ini:

[DevilSquare]
ExpBonus=150
ExpBonusPerRound=50
; ExpBonus: bônus base
; ExpBonusPerRound: bônus extra por round completado (acumulativo)
Nota: Em versões onde os eventos são controlados por SQL (comum no Season 12+), os parâmetros ficam na tabela EventConfig ou EventSchedule. Execute SELECT * FROM EventConfig WHERE EventType IN ('BloodCastle', 'DevilSquare') para localizar os campos corretos na sua versão.

Passo 5: Implementar EXP Diferenciada por Período (Happy Hour)

Para criar períodos de EXP aumentada (ex.: fins de semana com 2x EXP), a abordagem mais limpa é usar um script de banco agendado no SQL Server Agent.

Criar a stored procedure de controle de EXP:

USE MuOnline;
GO

CREATE PROCEDURE sp_SetExpRate
    @NewRate INT
AS
BEGIN
    -- Atualizar variável de configuração em tempo de execução
    -- (funciona em GameServers que consultam essa tabela dinamicamente)
    UPDATE ServerConfig
    SET Value = CAST(@NewRate AS VARCHAR(10))
    WHERE ConfigKey = 'ExpRate';

    -- Registrar o log da alteração
    INSERT INTO AdminLog (Action, Value, ExecutedAt)
    VALUES ('ExpRateChange', CAST(@NewRate AS VARCHAR(10)), GETDATE());
END;
GO

-- Ativar EXP dupla toda sexta às 20h
EXEC sp_SetExpRate @NewRate = 20;  -- Se base for 10, isso dobra a taxa

-- Voltar ao normal segunda às 0h
EXEC sp_SetExpRate @NewRate = 10;
Dica: Se o seu GameServer lê ExpRate apenas no .ini no momento da inicialização, o método acima não funciona sem reiniciar o servidor. Nesses casos, use o comando de GM in-game /setexp 20 (disponível em alguns packs) ou crie um script .bat que edita o .ini e reinicia o GameServer.exe automaticamente via Agendador de Tarefas do Windows.

Script .bat para troca automática de ExpRate:

@echo off
REM Script: toggle_exp.bat
REM Caminho: C:\MuServer\scripts\toggle_exp.bat

SET INIFILE=C:\MuServer\GameServer\GameServer.ini
SET NEWRATE=%1

REM Substituir o valor de ExpRate no ini usando PowerShell
powershell -Command "(Get-Content '%INIFILE%') -replace 'ExpRate=\d+', 'ExpRate=%NEWRATE%' | Set-Content '%INIFILE%'"

REM Reiniciar o GameServer (ajuste o nome do processo conforme necessário)
taskkill /F /IM GameServer.exe
timeout /T 3
start "" "C:\MuServer\GameServer\GameServer.exe"

echo ExpRate alterada para %NEWRATE% em %DATE% %TIME%

Para agendar: Agendador de Tarefas do Windows → Nova Tarefa → Ação: toggle_exp.bat 20 (para aumentar) e toggle_exp.bat 10 (para voltar ao normal).

Passo 6: Verificar e Testar as Configurações

Após aplicar as mudanças, siga este checklist:

  1. Reinicie o GameServer.exe para carregar o novo GameServer.ini
  2. Conecte com uma conta de GM (Game Master) no servidor
  3. Use o comando /addexp 1000000 (ou equivalente do seu pack) para testar se a EXP está sendo aplicada corretamente
  4. Verifique os logs do GameServer em GameServer/Logs/ por erros de configuração
  5. Teste com um personagem nível 1 e verifique se a progressão nos primeiros níveis está conforme esperado
-- Consulta de diagnóstico: verificar EXP atual de um personagem
SELECT Name, Level, Experience, Resets
FROM MuOnline.dbo.Character
WHERE Name = 'NomeDoPersonagem';
Atenção: Nunca altere a tabela LevelExperience com personagens online. Personagens com EXP acumulada próxima ao threshold de level up podem ter comportamento inesperado se o threshold mudar enquanto a sessão está ativa. Faça manutenções no banco com o servidor offline ou nos intervalos de baixo movimento.

Troubleshooting Comum

Problema: ExpRate alterado no .ini mas sem efeito após reiniciar Solução: Verifique se há outro arquivo de configuração sobrepondo — alguns packs usam GameServer.cfg ou Config.ini em subpastas. Execute: findstr /S /I "ExpRate" C:\MuServer\GameServer\*.ini *.cfg para localizar todos os arquivos com o parâmetro.

Problema: Personagens não recebem EXP em nenhum mapa Solução: Verifique se ExpRate não está definido como 0. Verifique também se o serviço do DataServer está ativo — sem o DataServer, o GameServer não consegue gravar progressão de EXP.

Problema: EXP de evento (Blood Castle) parece igual ao EXP normal Solução: O arquivo BloodCastle.ini pode não estar sendo lido. Confirme o caminho exato: alguns packs usam GameServer/Data/Events/bc_config.ini ou leem os valores diretamente de uma tabela SQL chamada EventPrize ou BCConfig.

Perguntas frequentes

Posso ter taxas de EXP diferentes para cada mapa?

Sim. No GameServer/Data/Maps/ cada mapa possui um arquivo de configuração onde é possível definir um multiplicador de EXP local, sobrepondo a taxa global definida no GameServer.ini. Combine os parâmetros ExpMultiplier no arquivo do mapa com a taxa base para criar progressões distintas por região.

O que acontece se eu colocar ExpRate=0 por engano?

O servidor trata ExpRate=0 como taxa nula e nenhum personagem ganha experiência. Mantenha sempre um valor mínimo de 1. Após corrigir o valor, reinicie o GameServer para aplicar a mudança — alterações no .ini só têm efeito na inicialização do processo.

Como resetar a EXP acumulada de um personagem via SQL?

Execute: UPDATE MuOnline.dbo.Character SET Experience = 0, Level = 1 WHERE Name = 'NomeDoChar'. Certifique-se de que o personagem esteja offline antes de executar o comando para evitar conflito de dados entre o banco e a sessão ativa no GameServer.

Qual a diferença entre ExpRate no .ini e a tabela LevelExperience no banco?

ExpRate é o multiplicador global aplicado sobre a EXP base de cada monstro. A tabela LevelExperience (ou equivalente em sua versão) define quanto de EXP total é necessário para passar de um nível para o próximo. Ambos trabalham juntos: aumente ExpRate para o jogador subir mais rápido, e ajuste LevelExperience para controlar o total necessário por nível.

EQ

Equipe ViciadosMU

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

Continue lendo

Artigos relacionados