Warehouse MU Online: Tabela de Baú Explicada Aprendiz Mu Online
Wiki MU

Warehouse MU Online: Tabela de Baú Explicada

Por

Entenda a tabela warehouse do MU Online, campo Items, Money, DbVersion, baú binário e como corrigir warehouse cheio, corrompido ou incompatível.

MU Online • Database • Warehouse

Warehouse Explicada: Guia Completo da Tabela de Baú do MU Online

Entenda como funciona a tabela warehouse do MU Online, como o baú é vinculado à conta, para que servem os campos de itens e dinheiro, por que o conteúdo costuma ser binário e como evitar baús corrompidos, cheios ou incompatíveis.

Nível: Intermediário Categoria: SQL e Database Baú e Itens Aprendiz MU Online

A tabela warehouse é utilizada em muitas databases de MU Online para armazenar os dados do baú da conta.

Diferente da tabela Character, que normalmente possui um registro para cada personagem, o warehouse costuma estar associado diretamente ao login da conta.

Nessa tabela podem existir campos relacionados ao login, Zen armazenado, conteúdo dos slots do baú, versão da estrutura e outros valores utilizados pela source.

Neste guia do Aprendiz MU Online, você vai entender como a warehouse funciona, por que os itens não devem ser editados como texto comum e quais erros podem gerar baús cheios, vazios ou corrompidos.

O que é a tabela warehouse?

A tabela warehouse normalmente armazena informações relacionadas ao baú compartilhado da conta.

Em uma estrutura simplificada:

MEMB_INFO
   |
   | memb___id
   v
Conta
   |
   +--------> Character
   |
   +--------> warehouse
                   |
                   +-- Items
                   +-- Money
                   +-- outros campos
Conta e baú Em muitas sources, vários personagens da mesma conta utilizam o mesmo registro de warehouse.

Como o warehouse é ligado à conta?

Em várias estruturas, a tabela possui um campo semelhante a:

AccountID

ou outra coluna equivalente ao login da conta.

Exemplo conceitual:

AccountID   Money
---------   --------
allan       5000000

Esse registro corresponde ao baú da conta allan.

Como ver a estrutura da tabela warehouse

No SQL Server Management Studio:

Databases
   |
   +-- MuOnline
          |
          +-- Tables
                 |
                 +-- dbo.warehouse
                        |
                        +-- Columns

Outra opção:

sp_help 'warehouse';

Esse comando mostra:

  • nome dos campos;
  • tipo SQL;
  • tamanho;
  • NULL ou NOT NULL;
  • índices;
  • restrições.

Campos comuns da tabela warehouse

A estrutura depende da versão, mas podem existir campos como:

Campo Uso comum
AccountID Conta proprietária do baú.
Items Conteúdo binário dos itens do warehouse.
Money Zen armazenado no baú.
EndUseDate Campo existente em algumas estruturas.
DbVersion Controle de versão da estrutura em determinadas sources.
pw Senha do baú em algumas implementações.
Os nomes podem ser diferentes Não crie queries presumindo que todos esses campos existem. Confira a estrutura real da database utilizada pelo seu servidor.

O que é o campo Items?

O campo Items normalmente armazena o conteúdo dos slots do baú.

Entretanto, ele não armazena os itens em texto legível como:

Sword
Shield
Jewel of Bless

Em muitas versões, os itens são codificados em uma sequência binária.

Cada bloco representa informações como:

  • tipo do item;
  • nível;
  • durabilidade;
  • opções;
  • serial;
  • excellent;
  • ancient;
  • harmony;
  • outros recursos conforme a Season.
Não edite Items como texto comum Alterar a sequência manualmente sem conhecer o formato da source pode gerar itens inválidos ou impedir o baú de abrir.

Por que o warehouse usa dados binários?

Um inventário contém muitos slots e cada item possui várias propriedades.

Para armazenar tudo de forma compacta, muitas versões do MU Online utilizam blocos de bytes.

Conceitualmente:

Slot 1
[bytes do item]

Slot 2
[bytes do item]

Slot 3
[bytes do item]

...

Slot vazio
[sequência representando slot sem item]

O tamanho de cada item e o tamanho total do warehouse variam conforme a versão.

Tamanho do campo Items

Não existe um único tamanho válido para todas as versões.

Sources diferentes podem trabalhar com quantidades distintas de slots, tamanho de item e recursos adicionais.

Por isso, antes de migrar dados entre databases, confira:

sp_help 'warehouse';

e compare o tamanho da coluna Items em ambas as structures.

Money no warehouse

O campo Money normalmente representa o Zen armazenado dentro do baú.

Exemplo:

SELECT
    AccountID,
    Money
FROM warehouse
WHERE AccountID = 'usuario';

Alterar Zen do baú

UPDATE warehouse
SET Money = 10000000
WHERE AccountID = 'usuario';
Verifique o limite do campo Confira o tipo SQL e também o limite esperado pelo GameServer antes de inserir valores muito altos.

O que é DbVersion?

Algumas databases possuem uma coluna chamada DbVersion.

Ela pode ser utilizada pela implementação para identificar a versão da estrutura de armazenamento.

Não altere esse valor apenas porque outro servidor utiliza um número diferente.

Senha do warehouse

Algumas implementações possuem um campo destinado a senha ou bloqueio do baú.

A lógica e o nome do campo variam entre as sources.

Antes de criar uma função de site para trocar senha do warehouse, confirme:

  • qual campo é utilizado;
  • qual formato é esperado;
  • se existe procedure;
  • se o GameServer mantém algum estado em memória.

Como funciona um warehouse novo?

Quando uma conta nova recebe um warehouse, o campo de itens normalmente precisa ser inicializado com a estrutura considerada vazia pela source.

Isso não significa necessariamente:

NULL

e também não significa necessariamente:

0x00

Algumas versões utilizam um padrão específico para representar slots vazios.

Baú vazio não é sempre NULL Um valor incorreto usado ao criar a conta pode ser interpretado pelo GameServer como itens inválidos ocupando todos os slots.

Baú novo aparece cheio de itens ou "criss"

Esse erro costuma aparecer quando o conteúdo inicial do campo Items não corresponde ao padrão esperado pela source.

O problema pode ocorrer quando:

  • o site cria warehouse com valor incorreto;
  • a coluna possui default incompatível;
  • o tamanho do campo é diferente;
  • database e GameServer são de versões distintas;
  • um script de cadastro foi copiado de outra source.

Como diagnosticar

Compare uma conta cujo warehouse funciona com uma conta nova problemática.

Primeiro consulte:

SELECT
    AccountID,
    DATALENGTH(Items) AS TamanhoItems,
    Money,
    DbVersion
FROM warehouse
WHERE AccountID IN ('conta_ok', 'conta_erro');

Ajuste a query caso sua tabela não possua DbVersion.

Compare:

  • tamanho do campo;
  • valor inicial;
  • DbVersion;
  • campos obrigatórios.
Melhor referência Uma conta criada corretamente pela própria source é uma referência muito melhor do que copiar bytes encontrados em outro servidor da internet.

Como verificar se a conta possui warehouse

SELECT *
FROM warehouse
WHERE AccountID = 'usuario';

Se nenhuma linha for retornada, a conta pode ainda não possuir registro de baú, dependendo da lógica utilizada pela source.

Listar warehouses

SELECT TOP 100
    AccountID,
    Money
FROM warehouse
ORDER BY AccountID;

Ver tamanho do campo Items

SELECT
    AccountID,
    DATALENGTH(Items) AS TamanhoBytes
FROM warehouse
WHERE AccountID = 'usuario';

Essa consulta é muito útil durante migrações.

Consultar Zen do baú

SELECT
    AccountID,
    Money
FROM warehouse
WHERE AccountID = 'usuario';

Como editar warehouse com segurança

Antes de realizar qualquer alteração:

  1. faça backup da database;
  2. desconecte a conta;
  3. execute um SELECT;
  4. confirme o registro correto;
  5. altere somente campos conhecidos;
  6. confira o resultado antes de abrir o jogo.
Conta online Evite editar o warehouse enquanto o jogador está conectado. O GameServer pode salvar novamente os dados que mantém em memória e sobrescrever sua alteração.

Posso limpar o warehouse pelo SQL?

Tecnicamente é possível, mas você precisa conhecer a sequência correta que representa um warehouse vazio naquela source.

Não use:

UPDATE warehouse
SET Items = NULL

sem antes confirmar que a source aceita esse formato.

Também não preencha a coluna com zeros arbitrariamente.

Como criar warehouse para uma nova conta?

Isso depende da estrutura original da database.

Algumas sources criam o registro automaticamente no primeiro acesso ao baú.

Outras dependem de:

  • procedure de cadastro;
  • trigger;
  • site;
  • DataServer;
  • script SQL específico.

O melhor caminho é descobrir como o pacote original cria o registro.

Invalid Column Name na warehouse

Exemplo:

Invalid column name 'DbVersion'

Isso significa que algum sistema está tentando consultar uma coluna que não existe na sua tabela.

Verifique:

  • source usada;
  • database correta;
  • scripts SQL;
  • site ou painel incompatível.

String or Binary Data Would Be Truncated

Esse erro é especialmente importante em warehouses.

Ele pode ocorrer quando uma aplicação tenta gravar um bloco binário maior do que a coluna Items suporta.

Exemplo:

GameServer envia:
3840 bytes

Coluna suporta:
1920 bytes

Nesse caso, a database e a source não estão alinhadas.

Não aumente o campo sem investigar Alterar o tamanho da coluna pode remover o erro SQL, mas não garante que a source saiba interpretar corretamente aquele formato de inventário.

Baú fica vazio depois de relogar

Se os itens aparecem e depois desaparecem, investigue:

  • erro ao salvar warehouse;
  • tamanho incorreto da coluna Items;
  • DataServer incompatível;
  • conta online durante edição;
  • query ou procedure sobrescrevendo dados;
  • GameServer salvando formato diferente.

Baú não abre

Possíveis causas:

  • registro warehouse ausente;
  • Items corrompido;
  • DbVersion incorreto;
  • DataServer com erro;
  • estrutura incompatível;
  • erro de comunicação com a database.

Itens aparecem corrompidos

Esse comportamento costuma indicar incompatibilidade na forma como os bytes são interpretados.

Pode ocorrer quando:

  • warehouse veio de outra Season;
  • tamanho do item mudou;
  • source adicionou novos bytes;
  • serial ou opções são lidos em posições diferentes;
  • migration truncou os dados.

Warehouse e compatibilidade entre sources

Esta é uma das áreas mais sensíveis durante migrações.

Duas tabelas podem ter o mesmo nome:

warehouse

mas serem incompatíveis.

Compare:

  • tipo da coluna Items;
  • tamanho;
  • DbVersion;
  • campos extras;
  • formato utilizado pelo GameServer;
  • formato esperado pelo DataServer.

Warehouse e DataServer

Em muitas arquiteturas, operações de carregamento e salvamento do baú passam pelo DataServer.

Se o warehouse não funciona, também confira:

  • DataServer conectado;
  • database correta;
  • stored procedures;
  • queries de warehouse;
  • compatibilidade entre DataServer e GameServer.

Warehouse e website

Sistemas de web warehouse, webshop ou editor de itens precisam conhecer exatamente o formato binário usado pela source.

Um sistema criado para Season 6 não deve ser presumido compatível com 97D, 99z ou outra versão.

Web warehouse exige compatibilidade real Um editor incorreto pode gerar itens impossíveis, serial inválido ou corromper completamente o campo Items.

Checklist da tabela warehouse

Verificação Resultado esperado
warehouse Tabela existente.
AccountID Conta corretamente vinculada.
Items Tamanho compatível com a source.
Money Tipo numérico compatível.
DbVersion Valor esperado quando utilizado.
Conta nova Baú inicializado corretamente.
DataServer Carrega e salva o baú sem erros.
GameServer Formato de item compatível.
Website Não altera bytes incompatíveis.
Backup Disponível antes de mudanças.

Perguntas frequentes

O que é warehouse no MU Online?

É a tabela utilizada por muitas databases para armazenar informações relacionadas ao baú das contas.

Onde ficam os itens do baú?

Em muitas structures, eles ficam em uma coluna como Items, armazenados em formato binário.

Onde fica o Zen do baú?

Normalmente em um campo como Money.

Posso editar os itens diretamente no SQL?

Não é recomendado sem conhecer exatamente o formato binário dos itens da sua source.

Por que uma conta nova aparece com o baú cheio?

Normalmente porque o valor inicial de Items está incorreto ou a estrutura da database não corresponde ao formato esperado pelo GameServer.

Posso colocar Items como NULL para limpar o baú?

Somente se sua source realmente utilizar NULL como representação válida de warehouse vazio. Muitas não utilizam.

Por que aparece String or Binary Data Would Be Truncated?

Uma causa possível é o bloco binário enviado ser maior que o tamanho suportado pela coluna Items.

Posso copiar warehouse de outra database?

Apenas depois de confirmar compatibilidade do formato, tamanho dos itens e estrutura entre as duas sources.

Conclusão

A tabela warehouse é uma das estruturas mais delicadas da database MuOnline porque o conteúdo dos itens normalmente é armazenado em formato binário.

Entender campos como AccountID, Items, Money e DbVersion ajuda a diagnosticar problemas como baú que não abre, itens que desaparecem, contas novas com warehouse cheio e erros de truncamento no SQL Server.

O principal cuidado é nunca assumir que o formato da warehouse é igual entre diferentes sources. O tamanho e a codificação dos itens podem variar entre versões e projetos.

Antes de qualquer edição, faça backup, mantenha a conta offline e compare sempre com uma warehouse válida criada pela própria source.

Compartilhe este artigo
Aprendiz Mu Online Conhecimento, comunidade e oportunidades para quem vive MU Online.
Estatísticas de acesso Evolução diária do portal
Total de visitas 20.996.290
Visitas hoje 1.520
Visitas ontem 3.414
13/07: 1.264 visitas14/07: 1.187 visitas15/07: 1.376 visitas16/07: 1.219 visitas17/07: 1.328 visitas18/07: 1.146 visitas19/07: 1.392 visitas20/07: 1.241 visitas21/07: 1.357 visitas22/07: 1.174 visitas23/07: 1.298 visitas24/07: 1.960 visitas25/07: 3.414 visitas26/07: 1.520 visitas13/0715/0717/0719/0721/0723/0725/0726/07
Visitas registradas automaticamente.
© 2026 Aprendiz Mu Online