Como Configurar Drops Customizados por Item no Servidor de MU
Aprenda a configurar drops customizados por item no seu servidor MU Online, usando arquivos .bmd, tabelas SQL e parâmetros de raridade e chance de queda.
Introdução
O sistema de drops é um dos elementos mais críticos de um servidor MU Online privado. Configurar corretamente os itens que cada monstro pode soltar — com as chances e condições certas — determina o equilíbrio da economia do servidor e a experiência dos jogadores.
Este tutorial cobre a configuração de drops customizados tanto via arquivos de dados quanto via banco de dados SQL Server, aplicável às versões Season 2 até Season 13.
Como o Sistema de Drops Funciona
No MuServer, cada monstro possui um DropGroup (grupo de drop). Esse grupo é uma lista de itens possíveis, cada um com:
- ItemIndex: identificador numérico do item
- ItemLevel: nível do item a ser dropado
- DropChance: probabilidade de queda (0 a 9.000.000)
- MinExcOpt / MaxExcOpt: quantidade de opções excelentes no item
O GameServer lê esses dados na inicialização a partir do banco de dados ou dos arquivos .bmd, dependendo da versão instalada.
GameServer/Data/Item/ItemBag.bmd em conjunto com a tabela T_ItemDropGroup no banco MuOnline. Versões mais antigas (S1-S4) dependem quase exclusivamente dos arquivos .txt e .bmd.Passo a Passo: Configuração via Banco de Dados SQL Server
Passo 1 — Identifique o DropGroup do Monstro
Conecte ao banco MuOnline via SQL Server Management Studio (SSMS) e execute:
SELECT MonsterIndex, MonsterName, DropGroup
FROM T_MonsterSetBase
WHERE MonsterName LIKE '%Hydra%'
Anote o valor de DropGroup. Esse número liga o monstro ao seu grupo de drops.
Passo 2 — Consulte os Itens do Grupo de Drop
SELECT *
FROM T_ItemDropGroup
WHERE DropGroup = 12
ORDER BY ItemIndex
Isso lista todos os itens que o monstro com DropGroup = 12 pode soltar.
Passo 3 — Insira um Novo Item no Grupo de Drop
Para adicionar, por exemplo, uma Darkangel Armor +0 com 0,5% de chance:
INSERT INTO T_ItemDropGroup
(DropGroup, ItemIndex, ItemType, ItemLevel, DropChance, MinExcOpt, MaxExcOpt, MinLuck, MaxLuck, MinSkill, MaxSkill, MinDur, MaxDur, MinOpt, MaxOpt)
VALUES
(12, 27, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0)
45000 representa aproximadamente 0,5% de chance. Para calcular: 45000 / 9000000 * 100 = 0,5%. Use essa fórmula para ajustar qualquer probabilidade desejada.Passo 4 — Altere a Chance de um Drop Existente
Para aumentar a chance de drop de um item que já existe no grupo:
UPDATE T_ItemDropGroup
SET DropChance = 90000
WHERE DropGroup = 12
AND ItemIndex = 27
AND ItemType = 0
Isso eleva a chance de drop para 1%.
Passo 5 — Remova um Item de um Grupo de Drop
DELETE FROM T_ItemDropGroup
WHERE DropGroup = 12
AND ItemIndex = 27
AND ItemType = 0
SELECT para confirmar os registros afetados antes de executar DELETE.Passo a Passo: Configuração via Arquivo ItemBag.bmd (Season 6)
Para servidores Season 6, os drops também são controlados pelo arquivo binário ItemBag.bmd, localizado em:
GameServer/Data/Item/ItemBag.bmd
Passo 1 — Abra o Arquivo com o Editor Correto
Use o ItemBagEditor (ferramenta específica para S6) ou o MuHelper Item Editor. Não edite o arquivo .bmd com editor de texto — é binário e será corrompido.
Passo 2 — Localize o Grupo de Drop
Na interface do editor, localize o BagIndex correspondente ao monstro desejado. Esse índice deve coincidir com o DropGroup definido em Monster.txt ou na tabela T_MonsterSetBase.
Passo 3 — Adicione ou Edite Entradas
Cada entrada no ItemBag.bmd contém:
| Campo | Descrição |
|---|---|
| ItemType | Categoria do item (0 = Armadura, 4 = Arma, etc.) |
| ItemIndex | ID do item dentro da categoria |
| ItemLevel | Nível do item |
| DropRate | Probabilidade (0-9.000.000) |
| ExcellentOption | Número de opções excelentes |
Salve e recompile o arquivo se necessário (alguns editores geram o .bmd diretamente).
Passo 4 — Substitua o Arquivo no Servidor
GameServer/Data/Item/ItemBag.bmd ← substitua aqui
ItemBag.bmd original antes de substituir. Um arquivo corrompido impede o GameServer de iniciar.Configurando Drops com Opções Excelentes
Para configurar itens que caem com opções excelentes, ajuste os campos MinExcOpt e MaxExcOpt:
UPDATE T_ItemDropGroup
SET MinExcOpt = 1,
MaxExcOpt = 2,
DropChance = 9000
WHERE DropGroup = 15
AND ItemIndex = 35
Isso faz o item cair com 1 a 2 opções excelentes, com 0,1% de chance.
MaxExcOpt = 6 têm todas as opções excelentes ativas. Use isso com moderação — itens full exc com alta taxa de drop desequilibram rapidamente a economia do servidor.Criando um Novo DropGroup do Zero
Se você quiser que um monstro existente tenha um grupo de drops completamente customizado:
1. Escolha um número de DropGroup livre (consulte os existentes para evitar conflitos):
SELECT DISTINCT DropGroup FROM T_ItemDropGroup ORDER BY DropGroup DESC
2. Insira os itens para o novo grupo (ex: DropGroup = 200):
INSERT INTO T_ItemDropGroup (DropGroup, ItemIndex, ItemType, ItemLevel, DropChance, MinExcOpt, MaxExcOpt, MinLuck, MaxLuck, MinSkill, MaxSkill, MinDur, MaxDur, MinOpt, MaxOpt)
VALUES
(200, 10, 4, 0, 180000, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0),
(200, 15, 4, 0, 90000, 0, 0, 0, 1, 0, 1, 255, 255, 0, 0),
(200, 27, 0, 0, 45000, 0, 2, 0, 0, 0, 0, 255, 255, 0, 0)
3. Associe o grupo ao monstro:
UPDATE T_MonsterSetBase
SET DropGroup = 200
WHERE MonsterIndex = 47
4. Reinicie o GameServer para aplicar as mudanças.
Drops de Zen (Dinheiro)
O drop de Zen não é controlado pela T_ItemDropGroup. Ele é configurado diretamente no arquivo:
GameServer/Data/Monster.txt
Cada linha de monstro contém colunas para MoneyDropMin e MoneyDropMax. Edite os valores diretamente:
// MonsterIndex Name ... MoneyMin MoneyMax DropGroup
47 Dark Knight 5000 15000 200
Verificando os Drops em Produção
Após reiniciar o servidor, monitore os drops com a seguinte query para rastrear o histórico (se o seu servidor tiver log de drops):
SELECT TOP 100 *
FROM T_DropLog
WHERE ItemIndex = 27
ORDER BY LogDate DESC
T_DropLog. Se não existir, a verificação deve ser feita in-game matando monstros e observando os itens dropados.Troubleshooting
O item não aparece no drop:
- Confirme que o
DropGroupdo monstro está correto emT_MonsterSetBase - Verifique se o
ItemIndexeItemTypecorrespondem a um item existente emT_Item - Reinicie o GameServer — alterações no banco não são lidas em tempo real
O servidor não inicia após editar o ItemBag.bmd:
- Restaure o backup do arquivo original
- Verifique se o editor utilizado é compatível com a versão Season do seu servidor
Itens caem com opções incorretas:
- Revise os campos
MinExcOpt/MaxExcOpteMinSkill/MaxSkillna tabelaT_ItemDropGroup
Perguntas frequentes
Qual tabela SQL controla os drops de monstros?
A tabela principal é a T_ItemDropGroup no banco MuOnline. Cada linha associa um grupo de drop (DropGroup) a um item específico com probabilidade e nível mínimo/máximo.
O arquivo ItemBag.bmd controla os drops?
Sim, em versões Season 6, o arquivo GameServer/Data/Item/ItemBag.bmd define os grupos de drop por monstro. Ele é compilado e precisa de ferramenta específica (ItemBagEditor ou MuHelper) para edição.
Como calcular a probabilidade de drop corretamente?
A chance é expressa em valores de 0 a 9.000.000 (representa 0% a 100%). Por exemplo, 9000 equivale a 0,1% de chance. Use a fórmula: Chance% = (valor / 9000000) * 100.
Por que o item não está caindo mesmo após a configuração?
Verifique se o servidor foi reiniciado após as alterações, se o DropGroup do monstro está corretamente mapeado na tabela T_MonsterSetBase ou no arquivo Monster.txt, e se o ItemIndex corresponde ao item desejado.