O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Administração

Como migrar personagens entre contas no MU Online

Aprenda a transferir personagens de uma conta para outra no seu servidor de MU Online pelo banco de dados, mantendo itens, guilda e integridade dos dados.

BR Bruno · Atualizado em 14 jul 2026 · ⏱ 12 de leitura
Resposta rápida

Migrar um personagem de uma conta para outra é um pedido comum na administração de servidores de MU Online. Um jogador perdeu o acesso ao e-mail da conta antiga, quer consolidar seus melhores personagens em uma única conta, comprou um personagem de outro jogador, ou você precisa mover um char de uma

Migrar um personagem de uma conta para outra é um pedido comum na administração de servidores de MU Online. Um jogador perdeu o acesso ao e-mail da conta antiga, quer consolidar seus melhores personagens em uma única conta, comprou um personagem de outro jogador, ou você precisa mover um char de uma conta banida para uma conta limpa. A interface do jogo não oferece nada disso — a migração é uma operação de banco de dados, e feita sem cuidado ela apaga itens, duplica registros ou deixa o personagem inacessível. Este tutorial mostra o caminho seguro.

O conceito central que você precisa dominar: no MU Online, um personagem pertence a uma conta, e essa relação é registrada em uma ou mais tabelas. Migrar significa reapontar o personagem para a conta de destino, garantindo que o novo dono tenha um slot livre e que nenhuma tabela auxiliar (baú, guilda, eventos) fique com um vínculo quebrado. O erro mais comum é achar que basta mudar um campo — na prática, dependendo do emulador, o vínculo aparece em vários lugares. Todos os nomes de tabelas e colunas aqui são exemplos comuns cuja nomenclatura varia por season/emulador (IGCN, MuEmu, Season 6, X-Files etc.); confirme sempre o schema real do seu servidor.

Pré-requisitos

Migração é operação delicada com risco de perda de itens. Prepare-se:

  • SSMS com acesso de escrita ao banco MuOnline (ou equivalente do seu emulador).
  • Backup completo e validado do banco antes de qualquer alteração.
  • Confirmação da identidade do solicitante. Migração indevida é vetor clássico de golpe e roubo de conta.
  • Contas de origem e destino identificadas com precisão (nome da conta / AccountID).
  • Janela de manutenção com os serviços desligados para evitar sobrescrita por cache.
  • Ambiente de testes onde você valida a migração antes de aplicar em produção. Se ainda está montando a base, comece por como criar servidor de MU Online.

Entendendo o vínculo personagem-conta

Antes de mover qualquer coisa, entenda onde o vínculo mora. No modelo típico, três tabelas participam (nomes de exemplo, variam por season/emulador):

Tabela (exemplo)Papel na migração
MEMB_INFOCadastro das contas (login, senha, e-mail)
AccountCharacterMapa de slots: qual personagem ocupa cada slot de uma conta
CharacterDados do personagem; costuma ter também a coluna AccountID

Repare no ponto mais importante: em muitos emuladores o vínculo conta-personagem existe em dois lugares — na tabela AccountCharacter (que lista os personagens por slot da conta) e na coluna AccountID da própria tabela Character. Migrar mexendo em só um dos dois é a causa número um de personagem que "some" ou aparece em duas contas. Você precisa atualizar os dois de forma coordenada.

Já os itens ficam em dois lugares distintos: o inventário viaja junto com o personagem (armazenado na própria tabela Character como campo binário ou em tabela de itens ligada ao personagem), mas o baú (warehouse) pertence à conta, não ao personagem. Isso significa que itens guardados no baú da conta de origem não vão junto automaticamente — eles ficam na conta antiga. Avise o jogador para esvaziar o baú antes, ou trate o baú separadamente.

Passo 1: Verificar origem e destino

Nunca migre às cegas. Confirme os dados das duas contas e do personagem:

-- Conta e slots do personagem de origem (exemplo)
SELECT ac.Id        AS Conta,
       ac.GameIDC   AS Personagem,
       ac.Number    AS Slot
FROM AccountCharacter ac
WHERE ac.Id = 'ContaOrigem';

-- Slots ocupados na conta de destino
SELECT ac.Id, ac.GameIDC, ac.Number
FROM AccountCharacter ac
WHERE ac.Id = 'ContaDestino';

Confira duas coisas: que o personagem realmente está na conta de origem e que a conta de destino tem pelo menos um slot livre. Se todos os slots do destino estiverem ocupados, escolha um slot vago ou peça ao jogador para liberar um.

Passo 2: Backup obrigatório

Gere e valide o backup antes de tocar em qualquer registro:

BACKUP DATABASE MuOnline
TO DISK = 'D:\Backups\MuOnline_pre_migracao.bak'
WITH FORMAT, INIT, NAME = 'Backup pre migracao personagem';

RESTORE VERIFYONLY
FROM DISK = 'D:\Backups\MuOnline_pre_migracao.bak';

Migração é reversível apenas se você tiver o estado anterior. Guarde o backup fora do servidor de produção.

Passo 3: Executar a migração

Com os serviços desligados, faça a migração dentro de uma transação. O núcleo é atualizar as duas pontas do vínculo — AccountCharacter e a coluna AccountID de Character:

BEGIN TRANSACTION;

-- 1. Reaponta o slot do personagem para a conta de destino
UPDATE AccountCharacter
SET Id = 'ContaDestino'
WHERE GameIDC = 'NomePersonagem' AND Id = 'ContaOrigem';

-- 2. Atualiza o AccountID na tabela do personagem (se existir essa coluna)
UPDATE Character
SET AccountID = 'ContaDestino'
WHERE Name = 'NomePersonagem';

-- 3. Verificação antes de confirmar
SELECT ac.Id AS Conta, ac.GameIDC, c.AccountID
FROM AccountCharacter ac
JOIN Character c ON ac.GameIDC = c.Name
WHERE ac.GameIDC = 'NomePersonagem';

COMMIT TRANSACTION;
-- Em caso de divergência, use ROLLBACK TRANSACTION

Passos numerados para executar com segurança:

  1. Desligue GameServer e ConnectServer.
  2. Faça e valide o backup.
  3. Confirme slot livre no destino (Passo 1).
  4. Rode o bloco dentro de BEGIN TRANSACTION.
  5. Verifique com o SELECT que ambas as pontas apontam para a conta de destino.
  6. COMMIT se estiver correto; ROLLBACK se não.
  7. Ligue os serviços e peça para o jogador testar o login na conta de destino.

Passo 4: Ajustar o slot no destino

Se a numeração de slot do personagem colidir com um slot já ocupado na conta de destino, ajuste o campo de slot (Number) para um valor livre. Slots costumam ir de 0 a 4 (cinco personagens por conta), mas o máximo varia por emulador:

-- Move o personagem migrado para o slot 3 (exemplo, se estiver livre)
UPDATE AccountCharacter
SET Number = 3
WHERE GameIDC = 'NomePersonagem' AND Id = 'ContaDestino';

Nunca deixe dois personagens da mesma conta no mesmo slot — isso faz um sobrescrever o outro na tela de seleção.

Passo 5: Tratar o baú e itens da conta

Como o baú pertence à conta, decida o que fazer com ele. Há três abordagens comuns:

  1. Esvaziar antes: o jogador retira os itens do baú da conta de origem e coloca no inventário do personagem antes da migração. É a mais simples e segura.
  2. Migrar o baú junto: se o jogador está movendo o único personagem e quer levar o baú, você move também o registro de warehouse da conta de origem para a de destino — mas cuidado, isso sobrescreve o baú do destino se ele não estiver vazio.
  3. Deixar na origem: o baú permanece com a conta antiga. Válido quando a conta de origem continua ativa.

A opção 1 é a recomendada por evitar perda de itens. Deixe claro ao jogador qual política você usa.

Passo 6: Verificar guilda e vínculos residuais

O vínculo de guilda normalmente referencia o nome do personagem, não a conta, então costuma sobreviver à migração intacto. Ainda assim, confirme:

SELECT Name, G_Name, G_Level
FROM GuildMember
WHERE Name = 'NomePersonagem';

Verifique também vínculos em tabelas de eventos, rankings ou VIP que referenciem a conta antiga, se o seu emulador tiver benefícios atrelados à conta e não ao personagem. Benefícios de conta (VIP, coins) não viajam com o personagem.

Erros comuns e soluções

ErroCausa provávelSolução
Personagem some após migrarSó uma ponta do vínculo foi atualizadaAtualizar AccountCharacter e AccountID juntos
Personagem aparece em duas contasVínculo antigo não removido/reapontadoCorrigir o slot na origem para não referenciar o char
Itens do baú desapareceramBaú pertence à conta, ficou na origemEsvaziar baú antes ou migrar o warehouse explicitamente
Personagem sobrescreveu outro no destinoColisão de slot (Number)Ajustar o slot para um valor livre no destino
Migração revertida sozinhaServiços online sobrescreveram o cacheRefazer com GameServer/ConnectServer desligados
Login falha na conta de destinoConta de destino inexistente ou cheiaConfirmar existência da conta e slot livre antes

Checklist de lançamento

Antes de dar a migração por concluída, percorra:

  • Identidade do solicitante confirmada (anti-golpe)
  • Backup completo gerado e validado com RESTORE VERIFYONLY
  • Conta de destino existe e tem slot livre confirmado
  • GameServer e ConnectServer desligados durante a operação
  • AccountCharacter e AccountID de Character atualizados juntos
  • Slot (Number) sem colisão no destino
  • SELECT de verificação mostrando ambas as pontas no destino
  • Política de baú/itens de conta definida e comunicada ao jogador
  • Vínculo de guilda conferido após a migração
  • Serviços religados e login testado na conta de destino
  • Migração registrada no log de administração

Migrar personagens entre contas é um serviço valioso que fideliza jogadores, mas cada migração mexe em vínculos espalhados por várias tabelas. Trate as duas pontas do relacionamento conta-personagem como inseparáveis, lembre que o baú pertence à conta e não ao char, e nunca opere sem backup validado e serviços desligados. Com esse rigor, você entrega migrações limpas, sem itens perdidos nem personagens fantasma.

Perguntas frequentes

Migrar personagem apaga os itens dele?

Não, se feito corretamente. Os itens ficam no inventário do personagem e no baú da conta. A migração bem feita move o vínculo do personagem para a nova conta preservando inventário; itens do baú, porém, pertencem à conta e exigem tratamento à parte.

Posso migrar um personagem que está em uma guilda?

Pode, mas o vínculo de guilda referencia o nome do personagem, não a conta, então costuma continuar válido. Ainda assim, confira a tabela de membros após a migração para garantir consistência.

A conta de destino precisa existir antes?

Sim. A conta de destino deve existir na tabela de contas e ter espaço livre de slots de personagem. Migrar para uma conta cheia ou inexistente gera erro ou personagem inacessível.

Preciso desligar o servidor para migrar?

Fortemente recomendado. Com o personagem ou as contas online, o GameServer mantém dados em cache e pode sobrescrever a migração. Faça em manutenção com os serviços desligados.

E se houver conflito de nome de personagem?

O nome do personagem é único no servidor inteiro, então não há conflito ao mudar de conta. O conflito ocorre no slot: garanta que o slot de destino esteja livre para não sobrescrever outro personagem.

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