O maior portal de MU Online do Brasil — desde 2003
Tutorial Intermediário Admin

Como resolver personagem preso em mapa no MU Online (travado em colisão ou zona bugada)

Aprenda a diagnosticar e resolver o problema clássico do jogador preso em um mapa do MU Online, seja por colisão bugada, teleporte mal configurado ou dessincronia de posição, usando comandos de GM e ajustes de servidor.

RO Rodrigo · Atualizado em 6 jul 2020 · ⏱ 13 min de leitura
Resposta rápida

Poucos tickets de suporte são tão recorrentes em um servidor de MU Online quanto o clássico "meu personagem ficou preso no mapa e não consigo me mover". O jogador reporta estar travado em um canto, dentro de uma parede, em cima de um obstáculo, ou em uma zona de teleporte que não completa a transiçã

Poucos tickets de suporte são tão recorrentes em um servidor de MU Online quanto o clássico "meu personagem ficou preso no mapa e não consigo me mover". O jogador reporta estar travado em um canto, dentro de uma parede, em cima de um obstáculo, ou em uma zona de teleporte que não completa a transição. Esse tipo de bug pode ter várias causas — desde colisão mal calibrada no arquivo do mapa até dessincronia entre cliente e servidor — e o atendimento errado (como pedir para o jogador reinstalar o cliente) só atrasa a solução. Este tutorial ensina o fluxo de diagnóstico e resolução que qualquer GM ou administrador de suporte deveria seguir, dos comandos rápidos in-game até a correção estrutural do mapa.

Por que o personagem trava no mapa

O MU Online usa uma malha de colisão (arquivo .att, "attribute map") sobreposta ao terreno de cada mapa, que define quais células são caminháveis e quais são bloqueadas. Quando o personagem entra em uma célula que deveria ser bloqueada mas foi permitida por erro de configuração — ou quando um evento/objeto dinâmico altera temporariamente a colisão sem reverter corretamente — o cliente calcula uma posição que o servidor rejeita nos movimentos seguintes, prendendo o personagem visualmente. Outra causa comum é falha em teleportes de mapa (portais, eventos como Devil Square ou Blood Castle) que não completam a mudança de mapa no servidor, deixando o personagem em um estado limbo.

Classificando o tipo de travamento

Antes de agir, identifique em qual categoria o caso se encaixa — o tratamento é diferente para cada uma:

Tipo de travamentoSintoma relatado pelo jogadorAção recomendada
Colisão de terreno"Não saio do lugar, tentei todas as direções"Teleporte de GM para coordenada segura
Zona de portal incompleta"Entrei no portal e travei no carregamento"Forçar reconexão + reposicionar no mapa de origem
Evento/instância travada"Fiquei preso na sala do Devil Square"Finalizar instância manualmente pelo comando de evento
Objeto dinâmico bloqueando"Fiquei preso perto de um NPC/monstro de evento"Reset do objeto ou reinício da rotina de spawn
Dessincronia cliente-servidor"No meu jogo pareço andar, mas fico no mesmo lugar pros outros"Forçar desconexão e reconexão do cliente

Passo 1 — Confirmar o relato antes de agir

Peça ao jogador para informar: nome do personagem, mapa atual (visível no canto da UI) e, se possível, coordenadas aproximadas (algumas UIs mostram X/Y). Confirme também se outros jogadores próximos enxergam o personagem parado ou se ele "sumiu" da visão de todos — isso já ajuda a diferenciar colisão de dessincronia de rede.

Passo 2 — Localizar o personagem via comando de GM

A maioria dos emuladores (IGCN, MuEMU, X-Team) oferece comandos administrativos para localizar e inspecionar jogadores. Exemplos comuns:

/where <nome_do_personagem>
/whois <nome_do_personagem>

Esses comandos retornam mapa atual e coordenadas X/Y reais no servidor — que podem divergir do que o cliente do jogador está mostrando, revelando de imediato se o caso é dessincronia.

Passo 3 — Teleportar o personagem para um ponto seguro

O comando de movimentação de GM reposiciona o personagem ignorando a colisão problemática. Use coordenadas conhecidas e seguras (geralmente a entrada de cada mapa):

/move <nome_do_personagem> <mapa> <x> <y>

Exemplo prático: se o jogador travou em Devias em uma coordenada de colisão bugada, mova-o para a entrada padrão do mapa:

/move Fulano Devias 123 123

Evite reposicionar para coordenadas aleatórias — prefira sempre pontos de spawn/entrada já validados, para não trocar um bug por outro (como cair dentro de outra colisão).

Passo 4 — Lidar com travamentos em eventos e instâncias

Eventos como Devil Square, Blood Castle, Chaos Castle e Illusion Temple rodam em instâncias próprias, e um travamento ali costuma exigir finalizar a instância do jogador em vez de só mover a posição. A maioria dos emuladores tem um comando específico para forçar a saída do evento:

/eventclose <nome_do_personagem>
/warp <nome_do_personagem> lorencia

Depois de encerrar a instância, confirme que o cooldown de entrada no evento não ficou bloqueado incorretamente — outro efeito colateral comum desse tipo de bug.

Passo 5 — Corrigindo dessincronia cliente-servidor

Quando o comando /where mostra uma posição diferente da que o jogador enxerga na tela, o problema é de sincronização, não de colisão. A solução mais confiável é forçar a desconexão do personagem (kick) para obrigar uma nova autenticação e resync completo de estado:

/kick <nome_do_personagem>

Oriente o jogador a fechar o cliente completamente (não só reconectar pela tela de login) antes de entrar de novo, evitando que o cliente reutilize dados de posição em cache.

Passo 6 — Registrando o incidente para análise estrutural

Todo travamento resolvido manualmente deveria ser registrado — mapa, coordenadas aproximadas, tipo de evento envolvido — em uma planilha ou sistema de tickets interno. Se o mesmo ponto do mapa aparece repetidas vezes, o problema é estrutural (erro na malha .att) e precisa ser corrigido na origem, não apenas contornado a cada novo ticket.

Frequência do ticket no mesmo pontoInterpretaçãoAção de longo prazo
1 caso isoladoEvento pontual ou lag momentâneoNenhuma ação estrutural necessária
2-4 casos na mesma regiãoPossível erro pequeno de colisãoMarcar região para revisão no editor de mapas
5+ casos recorrentesErro confirmado na malha .attPriorizar correção no arquivo de colisão do mapa

Passo 7 — Corrigindo a malha de colisão na origem

Para corrigir definitivamente uma célula de colisão bugada, é necessário abrir o arquivo de atributos do mapa (EncTerrainX.att ou equivalente, dependendo do emulador) em uma ferramenta de edição de mapas da comunidade, localizar a célula problemática pelas coordenadas coletadas no passo anterior, e ajustar o valor de colisão daquela célula específica. Sempre trabalhe em uma cópia e teste em ambiente de homologação antes de publicar a correção no servidor de produção — um erro de edição pode bloquear uma rota inteira do mapa sem querer.

Passo 8 — Prevenindo tickets futuros com ferramentas para o jogador

Reduza a carga de suporte oferecendo uma saída self-service para o jogador comum, sem depender de GM disponível 24/7. As opções mais usadas pela comunidade são:

FerramentaComo funcionaCuidado necessário
Comando /move2town (auto-retorno à vila)Jogador comum pode se teleportar à vila com cooldownDefinir cooldown alto (5-10 min) para evitar abuso como fuga de PK
Item de "Pergaminho de Retorno"Item consumível que teleporta à vilaVender na loja ou dropar, criando incentivo de uso
Auto-desconexão por inatividade prolongada em posição idênticaServidor detecta e força resync automáticoRequer suporte do emulador; nem todos têm essa função nativa

Erros comuns e soluções

SintomaCausa provávelSolução
Jogador preso mesmo após /moveCoordenada de destino também está em colisão bugadaUsar ponto de spawn oficial validado do mapa
/where não retorna nadaPersonagem offline ou nome digitado erradoConfirmar grafia exata do nome com o jogador
Travamento recorrente no mesmo eventoInstância não finalizada corretamenteUsar /eventclose e revisar timeout da instância
Jogador volta a travar após reconectarCache do cliente com posição antigaOrientar fechamento completo do cliente antes de reabrir
Vários jogadores travando ao mesmo tempoCorrupção de estado do mapa em memóriaConsiderar reinício controlado do GameServer
Ticket recorrente na mesma coordenadaErro estrutural na malha .attEditar o arquivo de colisão do mapa na origem

Checklist de atendimento a personagem preso

  • Coletei nome do personagem, mapa e contexto (evento, portal, terreno comum).
  • Confirmei a posição real via /where ou /whois.
  • Identifiquei se é colisão, evento travado ou dessincronia.
  • Apliquei /move para uma coordenada de spawn validada.
  • Se envolvia evento, finalizei a instância com o comando adequado.
  • Registrei o incidente (mapa/coordenadas) para análise de recorrência.
  • Avaliei se o ponto exige correção na malha de colisão do mapa.
  • Verifiquei se ferramentas self-service (retorno à vila) estão disponíveis para reduzir tickets futuros.

Com o fluxo de atendimento organizado, o próximo passo é revisar a configuração geral dos seus mapas e eventos para reduzir a origem desses bugs — consulte o tutorial de criação de servidor para revisar toda a base da sua instalação.

Perguntas frequentes

O comando de teleporte do GM sempre resolve o personagem preso?

Na maioria dos casos sim, porque ele reposiciona o personagem em coordenadas válidas conhecidas, ignorando a colisão do ponto onde ele travou. Mas se a causa for dessincronia entre cliente e servidor (o cliente mostra uma posição que o servidor não reconhece), pode ser necessário também forçar reconexão do jogador.

Por que alguns jogadores ficam presos sempre no mesmo lugar do mapa?

Isso indica um problema estrutural: um bug de colisão no arquivo do mapa (.att) que persiste até ser corrigido pelo desenvolvedor. Se o suporte recebe tickets repetidos para as mesmas coordenadas, vale registrar e corrigir a malha de colisão em vez de só teleportar cada jogador manualmente.

Preciso reiniciar o GameServer para resolver um personagem preso?

Normalmente não. O comando de move/teleporte do GM resolve o caso individual sem precisar de reinício. Reinicie o servidor apenas se muitos jogadores estiverem travando ao mesmo tempo, o que sugere corrupção de estado do mapa em memória.

Existe forma de o próprio jogador se destravar sem chamar suporte?

Sim, muitos servidores configuram um comando de auto-move (tipo /move ou um item de retorno a vila) disponível para jogadores comuns, com cooldown, exatamente para reduzir tickets desse tipo. Vale considerar implementar se o problema for recorrente.

Como diferencio 'preso de verdade' de lag do jogador?

Peça para o jogador tentar se mover em várias direções e observar se a posição no mapa do cliente muda. Se o personagem realmente não sai do lugar mesmo com o servidor respondendo (ping normal, outros jogadores visíveis se movendo), é travamento real; se tudo trava, é lag/desconexão.

RO
Fundador e editor-chefe

Rodrigo mantém o ViciadosMU desde os primórdios do portal. Especialista em criação e administração de servidores de MU Online, história do jogo e a evolução das seasons — escreveu boa parte do acervo antes de 2024.

Continue lendo

Artigos relacionados