MEMB_INFO Explicada: Guia Completo da Tabela de Contas do MU Online
Entenda como funciona a tabela MEMB_INFO do MU Online, quais dados de conta podem ser armazenados, como consultar usuários no SQL Server, trabalhar com VIP e créditos customizados e evitar erros ao integrar sites, JoinServer e GameServer.
A tabela MEMB_INFO é uma das tabelas mais conhecidas em databases tradicionais de MU Online e costuma armazenar informações relacionadas às contas dos jogadores.
É nela que muitas estruturas mantêm dados como login, senha, nome, e-mail e outras informações utilizadas durante o cadastro e autenticação.
Em sources customizadas, a MEMB_INFO também pode receber colunas adicionais para VIP, créditos, nível administrativo, data de expiração e outros sistemas.
Neste guia do Aprendiz MU Online, você vai aprender como interpretar essa tabela e evitar erros comuns ao desenvolver sites, painéis ou scripts SQL para servidores MU Online.
O que é a tabela MEMB_INFO?
A MEMB_INFO é utilizada em muitas databases de MU Online para armazenar os dados básicos das contas.
Ela pode ser acessada por:
- JoinServer;
- DataServer ou serviços auxiliares;
- GameServer, dependendo da source;
- site de cadastro;
- painel administrativo;
- sistemas de VIP;
- sistemas de recuperação de senha.
Para que serve a MEMB_INFO?
Sua principal função é manter informações associadas ao usuário da conta.
De forma simplificada:
Jogador cria conta
|
v
Website / sistema de cadastro
|
v
MEMB_INFO
|
v
JoinServer consulta conta
|
v
Login permitido ou recusado
Character.
Como ver a estrutura da MEMB_INFO
No SQL Server Management Studio, você pode localizar:
Databases
|
+-- MuOnline
|
+-- Tables
|
+-- dbo.MEMB_INFO
|
+-- Columns
Outra opção é executar:
sp_help 'MEMB_INFO';
Esse comando ajuda a verificar:
- nome das colunas;
- tipo de dado;
- tamanho;
- NULL ou NOT NULL;
- índices;
- outras propriedades.
Campos comuns da MEMB_INFO
A estrutura varia conforme a database. Em versões tradicionais você poderá encontrar campos semelhantes a:
| Campo | Uso comum |
|---|---|
| memb_guid | Identificador interno da conta em algumas estruturas. |
| memb___id | Login da conta. |
| memb__pwd | Senha ou representação usada pelo sistema. |
| memb_name | Nome associado ao cadastro. |
| sno__numb | Campo histórico utilizado por algumas databases. |
| post_code | Campo de cadastro em estruturas antigas. |
| addr_info | Informação adicional de cadastro. |
| addr_deta | Detalhes adicionais em determinadas versões. |
| mail_addr | E-mail. |
| phon_numb | Telefone em algumas estruturas. |
O que é memb___id?
O campo memb___id normalmente representa
o login da conta.
Exemplo:
SELECT *
FROM MEMB_INFO
WHERE memb___id = 'allan';
Esse comando procura uma conta cujo login seja
allan.
Login da conta e AccountID são a mesma coisa?
Em muitas estruturas, o login existente em
MEMB_INFO.memb___id é relacionado ao campo
Character.AccountID.
Por exemplo:
MEMB_INFO
memb___id
-----------
allan
Character
AccountID Name
--------- ----------
allan DarkKnight
allan SoulMaster
Assim é possível descobrir quais personagens pertencem a determinada conta.
O que é memb__pwd?
O campo memb__pwd é tradicionalmente relacionado
à senha da conta.
Porém, não assuma que toda source trabalha da mesma forma.
Dependendo do sistema, a senha pode ser:
- armazenada diretamente;
- transformada por procedure;
- processada por biblioteca específica;
- tratada por lógica própria do JoinServer;
- limitada a determinado tamanho.
Conta nova não consegue logar
Um problema muito comum em websites acontece quando a conta é criada na MEMB_INFO, mas não autentica no jogo.
Verifique:
- nome correto da coluna de login;
- formato da senha;
- tamanho máximo da coluna;
- campos obrigatórios;
- valores padrão;
- procedure utilizada pelo sistema;
- compatibilidade entre site e JoinServer.
AccountLevel na MEMB_INFO
AccountLevel é um exemplo de coluna customizada
bastante utilizada em algumas sources modernas.
Um sistema pode trabalhar, por exemplo, com:
0 = Free
1 = VIP Silver
2 = VIP Prata
3 = VIP Gold
Essa nomenclatura é definida pelo projeto e não é universal.
Consultar o VIP de uma conta
SELECT
memb___id,
AccountLevel
FROM MEMB_INFO
WHERE memb___id = 'allan';
Alterar nível VIP
UPDATE MEMB_INFO
SET AccountLevel = 3
WHERE memb___id = 'allan';
AccountExpireDate
Algumas sources utilizam uma coluna como
AccountExpireDate para armazenar a data de expiração
do benefício da conta.
Exemplo conceitual:
memb___id AccountLevel AccountExpireDate
----------- ------------ -------------------
allan 3 2026-12-31 23:59:59
Antes de programar um sistema de VIP, confirme o tipo SQL dessa coluna.
Credits e saldos customizados
Algumas databases adicionam colunas como:
Credits
Coins
Cash
Saldo
WCoin
AccountPoint
Esses campos não pertencem obrigatoriamente à estrutura original de MEMB_INFO.
Em um site customizado, por exemplo:
SELECT
memb___id,
Credits
FROM MEMB_INFO
WHERE memb___id = 'allan';
pode ser utilizado para consultar um saldo interno, desde que a coluna realmente exista na source.
MEMB_INFO e CashShopData
Nem todas as moedas precisam ficar na MEMB_INFO.
Algumas sources utilizam tabelas próprias, como:
CashShopData
para armazenar moedas do Cash Shop.
Por isso, não misture conceitos como saldo do site, créditos, VIP e WCoin sem verificar onde cada sistema realmente grava os dados.
Como consultar todas as contas
SELECT *
FROM MEMB_INFO;
Em uma database grande, prefira limitar os resultados:
SELECT TOP 100 *
FROM MEMB_INFO
ORDER BY memb___id;
Como procurar uma conta específica
SELECT *
FROM MEMB_INFO
WHERE memb___id = 'usuario';
Como procurar várias contas semelhantes
SELECT
memb___id,
mail_addr
FROM MEMB_INFO
WHERE memb___id LIKE 'all%';
Isso procura logins iniciados por all.
Como descobrir personagens de uma conta
SELECT
Name,
Class,
cLevel
FROM Character
WHERE AccountID = 'usuario';
Essa consulta relaciona o login da conta aos personagens armazenados na tabela Character.
Como editar MEMB_INFO com segurança
Antes de qualquer UPDATE:
- faça backup da database;
- execute um SELECT;
- confirme o registro;
- confirme o tipo da coluna;
- aplique o UPDATE com WHERE;
- consulte novamente o registro.
Exemplo seguro
SELECT
memb___id,
AccountLevel
FROM MEMB_INFO
WHERE memb___id = 'usuario';
Depois de confirmar:
UPDATE MEMB_INFO
SET AccountLevel = 2
WHERE memb___id = 'usuario';
O perigo do UPDATE sem WHERE
Este comando:
UPDATE MEMB_INFO
SET AccountLevel = 0;
altera todas as contas da tabela.
Portanto, nunca execute alterações em produção sem revisar cuidadosamente o filtro.
MEMB_INFO e site de cadastro MU Online
Um site de cadastro geralmente precisa inserir uma nova linha na MEMB_INFO respeitando a estrutura da database.
O erro mais comum é reutilizar um script de cadastro criado para outra source.
Por exemplo, o script pode esperar:
AccountLevel
Credits
SecurityCode
enquanto sua MEMB_INFO não possui essas colunas.
Resultado:
Invalid column name
Website cria conta incompleta
O contrário também acontece.
Sua MEMB_INFO pode exigir determinados campos, mas o site não envia valores para eles.
Dependendo das propriedades da coluna, o INSERT pode falhar ou criar uma conta incompatível com o sistema.
MEMB_INFO e JoinServer
Em muitas arquiteturas, o JoinServer participa da autenticação utilizando informações de contas.
Se MEMB_INFO estiver incompatível com o JoinServer, você poderá encontrar:
- usuário não encontrado;
- senha incorreta;
- login recusado;
- erro SQL;
- stored procedure ausente;
- conta criada pelo site que não entra.
MEMB_INFO e MEMB_STAT
Essas duas tabelas possuem funções diferentes.
| Tabela | Uso comum |
|---|---|
| MEMB_INFO | Cadastro e informações da conta. |
| MEMB_STAT | Status de conexão e informações online em diversas sources. |
Invalid Column Name na MEMB_INFO
Exemplo:
Invalid column name 'AccountLevel'
Significa que a aplicação está tentando acessar uma coluna inexistente.
Possíveis causas:
- site de outra source;
- script SQL não instalado;
- database antiga;
- campo renomeado;
- painel administrativo incompatível.
Invalid Object Name MEMB_INFO
Se aparecer:
Invalid object name 'MEMB_INFO'
verifique:
- database selecionada;
- nome da tabela;
- schema;
- string de conexão;
- database correta no site.
String or Binary Data Would Be Truncated
Esse erro pode acontecer quando o site tenta inserir um valor maior que a coluna permite.
Por exemplo:
memb___id varchar(10)
e o usuário tenta cadastrar:
usuario_com_login_muito_grande
O valor não cabe na coluna.
Cannot Insert NULL
Uma coluna configurada como NOT NULL exige um valor.
Se o script de cadastro não informar esse campo e não existir valor padrão, o INSERT poderá falhar.
Login duplicado
O site deve verificar se o usuário já existe antes de cadastrar.
Exemplo:
SELECT memb___id
FROM MEMB_INFO
WHERE memb___id = 'usuario';
Se houver resultado, o login já está em uso.
Segurança da MEMB_INFO
Essa tabela contém informações sensíveis de contas.
Portanto:
- não exponha MEMB_INFO diretamente na web;
- não utilize usuário SA no site quando puder evitar;
- use queries parametrizadas nas aplicações modernas;
- restrinja permissões do usuário SQL;
- não exiba senhas;
- faça backup antes de alterações em massa;
- proteja páginas administrativas.
Checklist da MEMB_INFO
| Verificação | Resultado esperado |
|---|---|
| MEMB_INFO | Tabela existe. |
| memb___id | Campo de login compatível. |
| memb__pwd | Formato esperado pela source. |
| Campos obrigatórios | Preenchidos corretamente. |
| Site | Compatível com a estrutura. |
| JoinServer | Autentica contas corretamente. |
| AccountLevel | Existe somente quando a source utiliza. |
| Credits | Existe somente quando previsto pelo projeto. |
| Backup | Atualizado antes de alterações importantes. |
Perguntas frequentes
O que é MEMB_INFO no MU Online?
É uma tabela utilizada por muitas databases de MU Online para armazenar informações relacionadas às contas dos jogadores.
Onde fica o login da conta?
Em muitas estruturas tradicionais, o login fica no campo
memb___id.
Onde fica a senha do MU Online?
Tradicionalmente existe um campo como memb__pwd,
mas o formato e método de autenticação dependem da source.
AccountLevel é padrão do MU Online?
Não necessariamente. É comum em sources customizadas, mas sua existência e significado dependem do projeto.
Posso adicionar Credits na MEMB_INFO?
Tecnicamente é possível alterar databases, mas o sistema que utilizará esse campo também precisa ser desenvolvido para trabalhar com ele corretamente.
Por que meu site cria conta mas ela não entra?
Verifique formato da senha, campos obrigatórios, procedure de cadastro e compatibilidade entre o website, MEMB_INFO e JoinServer.
Posso apagar uma conta diretamente da MEMB_INFO?
Não é recomendado sem verificar todos os registros relacionados. A conta pode possuir personagens, warehouse, guilds, moedas e outros dados em tabelas diferentes.
Conclusão
A MEMB_INFO é uma das tabelas mais importantes para quem desenvolve sites, painéis e sistemas administrativos para servidores MU Online.
O principal cuidado é não assumir que todas as databases possuem exatamente os mesmos campos. Sempre consulte a estrutura real antes de escrever queries ou reutilizar sistemas de outra source.
Campos como AccountLevel, AccountExpireDate e Credits normalmente pertencem a implementações customizadas e precisam estar alinhados com GameServer, JoinServer, website e scripts SQL.
Compreender a MEMB_INFO facilita muito o desenvolvimento de sistemas de cadastro, login, VIP, recuperação de senha, painel administrativo e gerenciamento de contas.