O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Servidor

Como criar itens customizados no ItemList do MU Online

Aprenda a adicionar itens totalmente novos no ItemList do servidor e do cliente do MU Online, escolhendo índices livres, importando modelos BMD e distribuindo o pacote para os jogadores.

BR Bruno · Atualizado em 12 jan 2026 · ⏱ 16 min de leitura
Resposta rápida

Adicionar um item que ninguém mais tem é uma das formas mais rápidas de dar identidade ao seu servidor de MU Online. Uma asa exclusiva, um set com visual próprio ou uma arma de evento memorável fazem o jogador sentir que aquele mundo não é uma cópia genérica. Só que "criar um item novo" no MU não é

Adicionar um item que ninguém mais tem é uma das formas mais rápidas de dar identidade ao seu servidor de MU Online. Uma asa exclusiva, um set com visual próprio ou uma arma de evento memorável fazem o jogador sentir que aquele mundo não é uma cópia genérica. Só que "criar um item novo" no MU não é uma única ação: é uma cadeia de passos que precisa fechar em três frentes ao mesmo tempo — a lista de itens do servidor, a lista de itens do cliente e os arquivos gráficos (modelo BMD e texturas). Se qualquer uma dessas frentes ficar dessincronizada, o resultado varia de um item invisível a uma desconexão em massa quando alguém dá drop do item no chão.

Este tutorial percorre o processo completo do ItemList: entender como os itens são organizados por seção e índice, encontrar um índice realmente livre, registrar o item no lado servidor, espelhar essa entrada no cliente, associar o modelo 3D e a textura, definir opções e excelentes, testar em ambiente isolado e, por fim, empacotar tudo em um patch para distribuir. O foco é o conceito real e reutilizável; onde os nomes de arquivo e colunas variam, trato como exemplo e sinalizo que "varia por emulador". Se você ainda não tem uma base de servidor no ar, vale primeiro seguir o guia de como montar um servidor de MU Online e voltar aqui depois.

Pré-requisitos

Antes de tocar em qualquer arquivo, garanta que o ambiente está pronto e que você tem como voltar atrás.

  • Servidor funcional em ambiente de teste. Nunca faça a primeira tentativa direto na produção. Tenha uma cópia local (ou uma VM) do GameServer, DataServer/ConnectServer e do banco de dados.
  • Cliente compatível com a mesma season do servidor. O formato do ItemList e a estrutura de pastas mudam bastante entre seasons.
  • Editor de ItemList do seu emulador. Pode ser uma ferramenta gráfica dedicada, um editor de texto simples ou um utilitário que lê/grava o formato binário. Varia por emulador.
  • Backup completo. Copie os arquivos originais de ItemList (servidor e cliente), o banco e a pasta de dados do cliente antes de começar. Um backup de 30 segundos evita uma reinstalação de 3 horas.
  • Ferramentas de modelo, se for usar visual novo. Um visualizador/conversor de BMD e um editor de imagem que exporte no formato de textura esperado (geralmente OZJ/OZT/OZB, dependendo da season).
  • Noção de índices ocupados. Tenha à mão a lista de itens padrão do seu emulador para não escolher um índice já usado.

Com isso pronto, o trabalho fica seguro e reversível.

Como o ItemList se organiza

No MU, cada item é identificado por um par: seção (type) e índice (index). A seção agrupa categorias — por exemplo, espadas, machados, arcos, sets de armadura, asas, pets e itens de consumo ficam em seções distintas. Dentro de cada seção, o índice é o número do item naquela categoria.

Pense na organização como uma planilha com abas: cada aba é uma seção, cada linha é um índice. Um "Dragon Set" e uma "Legendary Staff" moram em seções diferentes, mas ambos têm um número de linha dentro da sua aba. Quando o servidor manda ao cliente "o personagem está usando o item da seção X, índice Y", o cliente procura exatamente essa linha para saber o nome, o modelo, o tamanho no inventário e a aparência.

É por isso que servidor e cliente precisam concordar no mesmo par seção+índice. Se no servidor o índice 300 da seção de armas é a sua "Arma Fantasma" e no cliente o índice 300 continua vazio (ou é outra coisa), o jogo quebra.

A tabela abaixo mostra um exemplo conceitual de como as seções costumam ser divididas. Os números exatos variam por emulador e season, então trate como ilustração, não como valor fixo.

Seção (exemplo)CategoriaObservação
0–5Armas de corpo a corpoEspadas, machados, maças, lanças
6Arcos e bestasInclui munição em alguns emuladores
7Cajados/StaffsArmas mágicas
8–11Sets de armaduraElmo, peito, calça, luva, bota separados por índice
12Asas e capesItens de transformação visual
13–15Pets, itens especiais e consumíveisFrascos, joias, baús

Passo 1 — Escolher um índice livre

Este é o passo mais importante e o mais ignorado. Um índice "aparentemente vazio" pode estar reservado internamente para uma invocação, um item de evento ou um placeholder do sistema.

  1. Abra a lista de itens padrão do seu emulador (documentação ou o próprio ItemList original).
  2. Escolha a seção correta para o tipo do seu item (uma espada vai na seção de espadas, uma asa na de asas).
  3. Percorra os índices e localize um número claramente não utilizado — sem nome, sem modelo associado, fora das faixas reservadas.
  4. Prefira índices altos e afastados dos itens de sistema. Muitos emuladores reservam faixas iniciais para itens oficiais e as faixas mais altas para customização.
  5. Anote o par seção+índice em um documento. Você vai repetir esse mesmo par no servidor, no cliente e no patch.

Regra de ouro: na dúvida, não use. É melhor perder 5 minutos confirmando na documentação do que descobrir em produção que o índice colidia com o "Box of Kundun".

Passo 2 — Registrar o item no servidor

Com o par definido, registre o item no ItemList do lado servidor. Aqui é onde o GameServer aprende que aquele item existe, qual o nível base, requisitos de classe, dano/defesa, durabilidade e regras de drop.

Os campos exatos e o formato do arquivo variam por emulador. Em alguns, é um arquivo texto/CSV; em outros, uma tabela no banco ou um binário editado por ferramenta própria. Conceitualmente, você vai preencher algo como o exemplo abaixo (formato ilustrativo):

# Exemplo conceitual de entrada no ItemList do servidor
# Campos reais variam por emulador
Section=0
Index=300
Name=Espada Fantasma
Level=0
Slot=1            # tipo de equipamento (arma de uma mão)
Width=2 Height=4  # espaço ocupado no inventário
DropLevel=120
MinDmg=180 MaxDmg=210
Durability=45
ReqStrength=520 ReqAgility=280
ReqClass=DK,MG    # classes que podem usar
Serial=1          # gera número de série único
Option=1          # aceita opções (+add)

Passos:

  1. Localize o arquivo/tabela de ItemList do servidor (ex.: ItemList na pasta de dados do GS — varia por emulador).
  2. Adicione uma nova linha/entrada usando exatamente o Section e Index escolhidos.
  3. Preencha nome, requisitos de atributo, classes permitidas e valores de combate coerentes com o balanceamento do servidor.
  4. Defina o tamanho no inventário (largura x altura). Se errar, o item pode se sobrepor a outros slots.
  5. Marque se o item aceita serial (número único) e opção (bônus adicional). Sets e asas normalmente aceitam ambos.
  6. Salve o arquivo mantendo o encoding original (muitos emuladores exigem ANSI, não UTF-8).

Passo 3 — Espelhar o item no cliente

Agora repita o registro do mesmo par seção+índice no ItemList do cliente. O cliente não precisa saber de dano ou requisitos de combate — isso é o servidor que resolve — mas precisa saber nome, tamanho no inventário, modelo associado e textura.

  1. Abra o ItemList do cliente (geralmente dentro da pasta Data do jogo — nome e formato variam por emulador).
  2. Crie a entrada no índice idêntico ao do servidor.
  3. Defina o nome exibido. Idealmente igual ao do servidor para evitar confusão, mas quem manda no que o jogador lê é o cliente.
  4. Aponte o modelo (arquivo BMD) e a textura que o item vai usar (próximo passo).
  5. Salve mantendo o encoding esperado.

Se o cliente não tiver a entrada e o servidor tentar enviar o item, o comportamento típico é item invisível, nome "corrompido" ou queda de conexão ao equipar/dropar. Por isso o espelhamento é obrigatório.

Passo 4 — Associar modelo BMD e textura

Aqui você decide se o item terá visual próprio ou reaproveitado.

Opção A — reaproveitar aparência (mais simples): aponte o modelo e a textura de um item já existente. Sua "Espada Fantasma" usa o BMD de uma espada padrão, mas tem nome, atributos e opções exclusivos. Ótimo para lançar rápido.

Opção B — visual inédito (mais trabalho): importe um BMD novo e suas texturas.

  1. Coloque o arquivo BMD na pasta de modelos correspondente à seção (ex.: Data\Item\ para itens — varia por emulador).
  2. Nomeie o BMD seguindo a convenção que o cliente espera para aquela seção e índice. Muitos emuladores usam um padrão de nome derivado do índice; confira o seu.
  3. Exporte as texturas no formato aceito (OZJ/OZT/OZB conforme a season) e coloque na mesma pasta.
  4. Verifique se o BMD referencia os nomes de textura corretos internamente — um BMD apontando para uma textura inexistente aparece preto ou invisível.
  5. Confirme escala e ponto de encaixe: uma arma com escala errada pode ficar gigante nas costas do personagem ou desalinhada na mão.

Blocos de nomeação variam bastante por emulador, então use o padrão de um item vizinho da mesma seção como referência.

Passo 5 — Definir opções, excelentes e sockets

Um item novo raramente é só "base". No MU, o valor competitivo vem das camadas extras:

  • Opção adicional (+add): incrementos como +dano, +defesa, +vida.
  • Excelente (excellent): conjunto de bônus especiais (roubo de vida/mana, dano extra por %, velocidade).
  • Ancient/Conjunto: bônus de set quando várias peças são usadas juntas.
  • Sockets/Seed: slots para pedras elementais (quando a season suporta).

No servidor, você habilita quais dessas camadas o item aceita e, no sistema de drop/chaos machine, define as chances de cada uma aparecer. Mantenha coerência com o balanceamento: um item novo com excelente garantido e stats acima dos oficiais destrói a economia do servidor em uma semana.

Passo 6 — Testar em ambiente isolado

Nunca pule o teste. Use uma conta de GM no servidor de teste.

  1. Reinicie o GameServer para carregar o ItemList novo.
  2. Gere o item por comando de GM ou drop forçado.
  3. Verifique: nome correto, ícone no inventário, tamanho ocupado, aparência ao equipar.
  4. Dropе o item no chão — este é o teste que mais revela dessincronização; itens mal registrados costumam derrubar a conexão exatamente aqui.
  5. Equipe, desequipe, guarde no baú e faça trade com outra conta.
  6. Aplique opção/excelente e confira se os bônus funcionam no combate.

Só avance para distribuição quando todos esses passos passarem sem erro.

Passo 7 — Distribuir o item aos jogadores

O servidor você atualiza uma vez; os clientes de todos os jogadores precisam receber os arquivos novos.

  1. Identifique os arquivos que mudaram no lado cliente: ItemList do cliente, BMD novo e texturas.
  2. Empacote apenas esses arquivos em um patch (não obrigue todo mundo a rebaixar o cliente inteiro).
  3. Publique o patch no seu sistema de autoupdate/launcher, incrementando a versão.
  4. Teste o download em uma máquina limpa, como um jogador comum faria.
  5. Comunique no site/Discord que há atualização e o que ela traz.

O jogador abre o launcher, baixa só o que mudou e já vê o item. Se você atualizar o servidor mas esquecer de publicar o patch do cliente, todo mundo que receber o item verá bug — então servidor e patch andam juntos.

Erros comuns e soluções

SintomaCausa provávelSolução
Item invisível ao equiparCliente sem entrada no mesmo índice ou BMD ausenteEspelhe o índice no ItemList do cliente e confirme o BMD na pasta
Desconexão ao dropar o itemDessincronização servidor/cliente no par seção+índiceGaranta índice idêntico dos dois lados e reinicie o GS
Nome bugado/quadradinhosEncoding errado ao salvar o ItemListSalve em ANSI (ou o encoding que o emulador exige)
Textura preta ou invisívelBMD aponta textura inexistente ou formato erradoExporte a textura no formato certo (OZJ/OZT) com o nome esperado
Item ocupa slots errados no inventárioLargura/altura mal definidas no servidorAjuste Width/Height conforme o tipo de item
Índice sobrescreve outro itemÍndice já reservado pelo emuladorEscolha um índice comprovadamente livre em faixa de customização
Alteração não aparece no jogoGS não reiniciado ou patch não publicadoReinicie o GameServer e publique o patch do cliente

Checklist de lançamento

  • Backup dos ItemList (servidor e cliente), banco e pasta de dados do cliente
  • Par seção+índice confirmado como livre na documentação do emulador
  • Entrada criada no ItemList do servidor com stats e requisitos coerentes
  • Entrada espelhada no ItemList do cliente no índice idêntico
  • BMD e texturas no formato e nome corretos (ou reaproveitados de item existente)
  • Opções/excelentes/sockets configurados conforme o balanceamento
  • GameServer reiniciado no ambiente de teste
  • Item testado: inventário, equipar, dropar no chão, baú e trade
  • Patch com só os arquivos alterados montado e versionado
  • Download do patch testado em máquina limpa
  • Comunicação publicada no site/Discord

Seguindo essa sequência, criar um item customizado deixa de ser tentativa e erro e vira um processo previsível. O segredo é sempre lembrar das três frentes — servidor, cliente e gráficos — no mesmo índice, testar o drop no chão antes de qualquer coisa e distribuir com um patch enxuto pelo launcher.

Perguntas frequentes

Preciso reiniciar o servidor após editar o ItemList?

Sim. O GameServer carrega a lista de itens na inicialização, então qualquer alteração exige reiniciar o processo do GS para valer. Recarregar apenas o cliente não basta.

Posso usar qualquer índice dentro de uma seção do ItemList?

Não. Use apenas índices livres não reservados pelo emulador. Índices ocupados por itens de sistema, invocações ou eventos podem causar conflito, então confirme na documentação do seu emulador.

O cliente precisa ter o mesmo item que o servidor?

Sim. Servidor e cliente devem estar sincronizados no mesmo índice (seção e número). Se o cliente não conhecer o item, ele aparece invisível, com nome errado ou derruba a conexão.

Um item novo exige obrigatoriamente um modelo BMD próprio?

Não necessariamente. Você pode reaproveitar o BMD e a textura de um item existente e apenas mudar nome, atributos e opções. Um BMD próprio só é preciso quando quer aparência inédita.

Como distribuo o item novo para quem já tem o jogo instalado?

Empacote os arquivos alterados (ItemList do cliente, BMD e texturas) em um patch e publique pelo autoupdate/launcher. Assim cada jogador baixa apenas os arquivos modificados na próxima abertura.

BR
Editor de eventos, mapas e itens

Bruno é especialista em eventos, mapas, bosses e economia de itens do MU Online. Documenta cada detalhe com base em jogo real.

Continue lendo

Artigos relacionados