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

Como adicionar novos mapas ao cliente de MU Online

Aprenda a adicionar um novo mapa ao cliente de MU Online do zero: pasta World, arquivos EncTerrain, height map, lightmap, objetos BMD e a sincronização obrigatória com o servidor.

BR Bruno · Atualizado em 30 jun 2025 · ⏱ 16 min de leitura
Resposta rápida

Adicionar um novo mapa ao cliente de MU Online é uma das tarefas mais completas que um administrador pode enfrentar do lado do cliente: envolve entender como o jogo representa terreno, colisão, altura, iluminação e objetos tridimensionais, e como todos esses arquivos precisam conversar entre si e, p

Adicionar um novo mapa ao cliente de MU Online é uma das tarefas mais completas que um administrador pode enfrentar do lado do cliente: envolve entender como o jogo representa terreno, colisão, altura, iluminação e objetos tridimensionais, e como todos esses arquivos precisam conversar entre si e, principalmente, com o servidor. Não é um trabalho de "copiar e colar uma pasta"; é um exercício de compreender a arquitetura de mundo do MU e respeitar as dependências entre cliente e emulador. Este tutorial foi escrito para o administrador avançado que já domina a estrutura básica de um servidor e agora quer expandir o mundo do jogo com um mapa novo, seja um cenário customizado de evento, uma arena de PvP ou uma zona de farm exclusiva. Como sempre no universo dos emuladores, os nomes exatos de arquivos, os IDs e a estrutura de pastas variam por season e cliente; trate os exemplos abaixo como ilustração de conceitos reais e confira sempre a organização do seu próprio pacote antes de aplicar.

Pré-requisitos

Antes de tocar em qualquer arquivo, garanta que você tem o ambiente e o conhecimento mínimos para trabalhar com segurança:

  • Backup completo da pasta Data do cliente e dos arquivos de configuração de mapa do servidor. Este é o passo inegociável.
  • Um cliente de teste separado do que os jogadores usam, para não distribuir arquivos quebrados.
  • Um editor de mapas de MU compatível com sua season (comumente chamado de World Editor, MU Map Editor ou similar).
  • Ferramentas de criptografia/descriptografia de arquivos EncTerrain e conversores de OZB, OZJ e OZT do seu pacote.
  • Acesso aos arquivos de configuração de mapa do servidor (definições de gates, zonas seguras, movimentação e spawns).
  • Se você ainda não montou a base do servidor, comece pelo guia de como criar um servidor de MU Online antes de avançar aqui.

> Trabalhe sempre em cópias. Um único byte errado em um arquivo criptografado de terreno pode travar o cliente na tela de carregamento sem nenhuma mensagem de erro clara.

Como o cliente representa um mapa

No MU Online, cada mapa é uma grade (grid) de células, tradicionalmente 256 por 256 no engine clássico. Cada célula carrega informação de textura, altura, iluminação e atributos de colisão. O cliente monta esse cenário lendo um conjunto de arquivos que ficam dentro de uma pasta de mundo, normalmente nomeada WorldN, dentro de Data. A convenção mais comum associa a pasta World1 ao mapa de ID 0 (Lorencia), World2 ao ID 1 (Dungeon), e assim sucessivamente — ou seja, N = ID + 1. Essa correspondência varia por cliente, então a primeira coisa a fazer é abrir a pasta Data e mapear qual WorldN corresponde a qual mapa conhecido do seu pacote.

Cada pasta de mundo reúne, tipicamente, os seguintes arquivos, que trabalham em conjunto:

Arquivo (exemplo)FunçãoObservação
EncTerrain1.attAtributos de colisão: célula bloqueada, andável, zona segura, águaCriptografado; define para onde o jogador pode andar
EncTerrain1.mapCamadas de textura: qual tile aparece em cada célulaCriptografado; controla o visual do chão
EncTerrain1.objPosição, rotação e escala dos objetos BMD do cenárioCriptografado; monta árvores, casas, estátuas
TerrainHeight.OZBMapa de altura do terrenoDefine relevo; um OZB é um BMP criptografado
TerrainLight.OZJLightmap: iluminação estática do cenárioUm OZJ é um JPG criptografado
Tile*.OZJ / .OZTTexturas dos tiles do chãoGrama, terra, pedra, areia

O número no nome dos arquivos EncTerrain acompanha o mapa. Em muitos pacotes o EncTerrain1.* pertence ao World1; em outros a numeração é distinta. Não presuma — verifique.

Passo a passo para criar a pasta do mapa novo

O caminho mais seguro para começar é partir de um mapa existente parecido com o que você quer, e transformá-lo, em vez de gerar tudo do zero. Assim você herda uma estrutura de arquivos que já funciona.

  1. Escolha o slot de mapa. Decida se vai reaproveitar um slot pouco usado ou registrar um ID novo. Reaproveitar é mais simples e compatível; um ID inédito exige suporte no executável e no emulador.
  2. Duplique uma pasta base. Copie, por exemplo, World1 para uma nova pasta, digamos World52, se o seu cliente aceitar esse ID. Renomeie os arquivos internos conforme a convenção (ex.: EncTerrain52.att, EncTerrain52.map, EncTerrain52.obj).
  3. Abra no editor de mapas. Carregue a pasta descriptografada no seu World Editor. É nele que você vai redesenhar o terreno, pintar texturas, ajustar altura e posicionar objetos.
  4. Edite o terreno e as texturas. Pinte as camadas de tile, esculpa o relevo pelo height map e ajuste o lightmap para a atmosfera desejada.
  5. Posicione os objetos BMD. Árvores, portões, estátuas e estruturas são modelos .bmd referenciados pelo arquivo de objetos. Eles precisam existir na pasta de objetos correspondente do mundo.
  6. Defina os atributos de colisão. No arquivo de atributos, marque células bloqueadas (paredes, água intransponível), zonas seguras (onde não há PvP nem dano) e áreas andáveis.
  7. Recriptografe os arquivos. Ao terminar, gere de volta os EncTerrain criptografados e os OZB/OZJ no formato que o cliente lê.

> Zonas seguras mal marcadas são uma fonte clássica de reclamação: jogadores morrendo no que deveria ser uma área protegida, ou PvP impossível em uma arena. Revise o .att com calma.

Height map, lightmap e a atmosfera do cenário

O height map (TerrainHeight.OZB) é o que dá relevo ao mapa. Ele é, essencialmente, uma imagem em tons de cinza onde o valor de cada pixel representa a altura daquela célula: mais claro, mais alto; mais escuro, mais baixo. Editá-lo permite criar colinas, depressões, rampas e platôs. Um erro comum é gerar variações de altura bruscas demais, criando "paredes" invisíveis onde o personagem trava. Trabalhe com transições suaves e teste caminhando pelo mapa.

O lightmap (TerrainLight.OZJ) controla a iluminação estática. É onde você define se o mapa tem um clima ensolarado, sombrio, avermelhado (típico de mapas infernais) ou azulado (mapas gelados). Como é um OZJ — um JPG criptografado —, você pode editá-lo em qualquer editor de imagem depois de convertê-lo, pintando áreas de luz e sombra. A combinação de height map bem esculpido e lightmap coerente é o que faz um mapa parecer profissional em vez de "chapado".

Objetos BMD do cenário

Os objetos que povoam o mapa — construções, vegetação, decoração — são modelos .bmd armazenados na pasta de objetos do mundo (algo como Object52, acompanhando o número do mundo). O arquivo de objetos (.obj) do terreno guarda, para cada instância, qual modelo usar e onde posicioná-lo, com rotação e escala. Se você referenciar um índice de objeto que não existe na pasta, o cliente pode travar ou simplesmente não renderizar aquele item. Ao trazer objetos de outro mapa, copie tanto o .bmd quanto suas texturas (OZJ/OZT) para a pasta do novo mundo.

# Ilustração conceitual de uma entrada de objeto no cenário
# (o formato binário real é gerado pelo editor; isto é só didático)
ObjectIndex : 12        # qual BMD da pasta Object do mundo
PositionX   : 128.0     # coordenada no grid
PositionY   : 96.0
PositionZ   : 40.0      # altura, alinhada ao height map
Rotation    : 0,0,90    # graus nos eixos
Scale       : 1.0

Sincronização obrigatória com o servidor

Aqui está o ponto que separa quem entende de arquitetura de MU de quem só mexe em arquivo: o mapa não existe só porque o cliente o desenha. O servidor é a autoridade sobre para onde o jogador pode ir, quais são as zonas seguras reais, onde ficam os gates (pontos de teleporte/entrada) e quais monstros aparecem. O cliente e o servidor precisam concordar sobre o mesmo ID de mapa.

Do lado do servidor, adicionar o mapa envolve, tipicamente:

  • Registrar o ID do mapa nas definições de mapas do emulador.
  • Configurar os gates (arquivo de movimentação/portais) para que exista uma forma de entrar e sair do mapa novo — por comando, NPC de teleporte ou conexão com outro mapa.
  • Definir zonas seguras e regras de PvP no lado servidor, que devem bater com o que você marcou no .att do cliente.
  • Adicionar spawns de monstros se o mapa for de farm, referenciando o mesmo ID.

Se o cliente tem o World52 mas o servidor não reconhece o mapa 51 (lembrando da convenção N = ID + 1), o jogador será desconectado ou verá o cenário sem colisão coerente. A regra de ouro: mesmo ID dos dois lados, sempre.

Distribuição via launcher

Depois de testar exaustivamente em ambiente local, o mapa precisa chegar aos jogadores. É o launcher/updater que faz isso: você empacota a pasta WorldN completa (arquivos EncTerrain, OZB, OZJ, tiles) e a pasta de objetos correspondente, e adiciona esses arquivos ao patch. Quando o jogador abre o jogo, o launcher baixa os arquivos novos antes de conectar. Sem os arquivos locais, o cliente não consegue montar o cenário — logo, a distribuição não é opcional. Mantenha o versionamento do patch organizado para que quem já tem o mapa não baixe tudo de novo, e para que novos jogadores recebam o conjunto completo.

Erros comuns e soluções

SintomaCausa provávelSolução
Cliente trava na tela de loadingArquivo EncTerrain corrompido ou mal recriptografadoRestaure do backup e recriptografe com a ferramenta correta
Jogador é desconectado ao entrar no mapaID do mapa não registrado no servidorRegistre o mesmo ID no lado servidor e sincronize
Cenário sem objetos ou objetos invisíveisÍndice de objeto sem BMD correspondente na pastaCopie os .bmd e texturas para a pasta de objetos do mundo
Personagem trava ao andar em relevoHeight map com variações bruscas demaisSuavize as transições de altura no editor
Morte em área que deveria ser seguraZona segura marcada no cliente mas não no servidorAlinhe as zonas seguras no .att e na config do servidor
Texturas do chão aparecem erradas ou piscandoTiles OZJ/OZT ausentes ou com nome trocadoConfira se todos os tiles referenciados existem na pasta

Checklist de lançamento

  • Backup completo da pasta Data do cliente e das configs de mapa do servidor
  • Slot/ID de mapa definido e confirmado nos dois lados (cliente e servidor)
  • Pasta WorldN criada com todos os EncTerrain, height, light e tiles
  • Objetos BMD e suas texturas presentes na pasta de objetos do mundo
  • Atributos de colisão e zonas seguras revisados no .att
  • Height map testado caminhando por todo o mapa
  • Lightmap coerente com a atmosfera pretendida
  • Arquivos recriptografados no formato que o cliente lê
  • Servidor com ID registrado, gates, zonas seguras e spawns configurados
  • Entrada e saída do mapa testadas por comando e/ou NPC
  • Pacote do mapa adicionado ao launcher/updater e versionado
  • Teste final com um cliente "limpo" baixando via patch

Adicionar um mapa é, no fundo, um trabalho de coordenação: dezenas de arquivos que precisam estar coerentes entre si e com o servidor. Vá com calma, teste cada etapa isoladamente e nunca pule o backup. Um mapa novo bem feito é uma das formas mais marcantes de dar identidade ao seu servidor e surpreender jogadores que já viram todos os cenários clássicos do MU.

Perguntas frequentes

Preciso mexer no servidor para um mapa novo aparecer?

Sim. O cliente desenha o cenário, mas o mapa só existe de fato quando o servidor conhece o ID, define zonas seguras, gates e spawns. Cliente e servidor precisam usar exatamente o mesmo número de mapa.

Qual a relação entre a pasta WorldN e o ID do mapa?

Na maioria dos clientes a pasta World1 corresponde ao mapa de ID 0, World2 ao ID 1 e assim por diante, ou seja, N = ID + 1. Isso varia por season e cliente, então confirme no seu pacote antes de criar a pasta.

Consigo criar um mapa totalmente inédito ou só reaproveitar slots?

Depende do quanto o executável e o emulador suportam. Muitos projetos reaproveitam um slot de mapa existente e trocam o conteúdo; adicionar um ID realmente novo pode exigir suporte no main e no emulador.

Os arquivos EncTerrain são criptografados?

Sim. O prefixo Enc indica terreno criptografado por XOR. Você edita a versão descriptografada em um editor de mapas e recriptografa antes de distribuir, usando as ferramentas próprias do seu pacote.

Como distribuo o mapa novo para os jogadores?

Empacote a pasta WorldN e os objetos no launcher/updater. O jogador baixa os arquivos junto do patch, e ninguém consegue entrar no mapa sem os arquivos locais correspondentes.

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