Brazil's biggest MU Online portal — since 2003
Tutorial Advanced Client

How to Set Up a Custom Minimap in the MU Client

Learn how to create, convert, and register a custom minimap in the MU Online client — from the base art to positioning icons for NPCs, portals, and hunting spots.

GA Gabriel · Updated on Jun 30, 2026 · ⏱ 20 min read
Quick answer

The minimap is one of the most underrated interface elements in the MU Online client, but also one of the most effective at raising the perceived quality of a private server. When a player opens the orientation panel and sees the correct map layout, with well-placed icons for NPCs, portals, and hunt

The minimap is one of the most underrated interface elements in the MU Online client, but also one of the most effective at raising the perceived quality of a private server. When a player opens the orientation panel and sees the correct map layout, with well-placed icons for NPCs, portals, and hunting spots, the experience changes completely. This tutorial covers the full process — from preparing the base art to converting it to MU's internal formats, registering the icons, and validating the scale — so that your minimap lines up with the real coordinates the server sends to the client. It's advanced work because it involves image conversion, the tile coordinate system, and, on some clients, editing poorly documented configuration files.

Before you start, keep in mind that almost every client customization assumes you already have a running server and a compatible client in hand. If you're still building the base, start with the guide on how to create a MU Online server and come back here once you have a working client pointing at your server.

Prerequisites

Gather the environment before touching any file. Missing a single tool usually stalls the process halfway through.

  • A MU client compatible with your server's season, already tested and connecting normally.
  • An image editor — GIMP (free) or Photoshop, to draw and adjust the map layout.
  • A MU image converter (MU Image Converter / OZJ-OZT Tools) to turn .png/.jpg into the internal .ozj and .ozt formats.
  • A code text editor — Notepad++ or VS Code, to edit the minimap's icon definition files.
  • A coordinate-capture tool — the GM command /pos or the client's position overlay, to find the exact coordinates of NPCs and portals.
  • A full backup of the client folder before you start. Create an _original/ folder and copy everything you'll modify there.
Atenção: Never work directly on production files. Any wrong .ozj conversion can leave the minimap panel with a black background for all players. Always edit a copy and validate before packaging.

How the minimap works in the client

MU's minimap panel combines three independent layers that the client overlays in real time:

  1. The map's base art — a static image that represents the layout of that world (Lorencia, Devias, Noria, etc.), stored in MU's internal format.
  2. The character marker — an icon the client draws dynamically by converting the player's tile coordinate (X and Y from 0 to 255) into pixels within the art.
  3. The points-of-interest icons — NPCs, portals, shops, and spots defined in a configuration file, each with an icon type and a tile coordinate.

The critical part to understand is the coordinate system. Every map in MU is a 256×256 tile grid. The server always speaks in those coordinates. When the client draws the marker, it does simple cross-multiplication: pixel_x = (tile_x / 256) * art_width. If your art doesn't cover exactly the same logical area the server uses, the icons end up misplaced. That's why the image's dimensions and framing matter so much — more than how pretty the drawing is.

Minimap file structure

The exact location varies by season/client, but the typical layout follows this pattern:

MUClient/
├── Data/
│   └── Local/
│       ├── MiniMap/            ← minimap art per world
│       │   ├── MiniMap0.ozj    ← Lorencia (world 0)
│       │   ├── MiniMap2.ozj    ← Devias (world 2)
│       │   ├── MiniMap3.ozj    ← Noria (world 3)
│       │   └── ...
│       └── MiniMapInfo.txt     ← icon definitions (name varies)
├── Interface/
│   └── minimap_frame.ozt       ← panel frame/border
└── Main.exe
Nota: In some distributions, the art lives in Data/Interface/ or is numbered differently (for example map_00.ozj). Use the conversion tool to open the existing files and identify which index corresponds to which map before overwriting.

Step 1 — Prepare the map's base art

The art needs to faithfully represent the world's navigable area. The most reliable approach is to start from the game's own layout:

  1. Enter the map with a GM character and enable the wide-view mode, or use a full map capture from that season's community.
  2. In the image editor, build the layout on a square canvas (for example 256×256 or 512×512 pixels) — MU's minimap assumes a 1:1 ratio with the tile grid.
  3. Align the drawing so the bottom-left corner represents tile (0,0) and the top-right corner represents tile (255,255). MU's Y axis is inverted relative to the image, so plan for that from the start.
  4. Give the background a solid color or a dark texture, and draw the paths, obstacles, and water/wall regions with good contrast.
  5. Export as .jpg at 90% quality (art without transparency) or .png (if you'll use .ozt with an alpha channel).

Dimension reference table

ElementRecommended dimensionFormatNote
Map base art256×256 or 512×512.ozj1:1 ratio required
Art with transparent borders256×256.oztUses an alpha channel
Panel frameVaries by season.oztOverlaid on the art
NPC/portal icon8×8 to 16×16.oztSmall sprite with alpha

Step 2 — Convert to MU's internal format

The client doesn't read .png/.jpg directly for the minimap. Convert the final art:

  1. Open the MU Image Converter.
  2. Drag your .jpg art into the window and select .ozj output (no transparency) — or .png for .ozt output (with alpha).
  3. Click Convert and check that the generated file has a sensible size (a corrupted .ozj usually comes out at just a few bytes).
  4. Rename it to exactly the index the client expects, for example MiniMap2.ozj for Devias.
  5. Copy it into the client's minimap folder.
# PowerShell — quickly validate that the converted files exist and have a size
Get-ChildItem "MUClient\Data\Local\MiniMap\*.ozj" |
  Select-Object Name, @{Name="KB";Expression={[math]::Round($_.Length/1KB,1)}}
Dica: If an .ozj comes out under 1 KB, there was almost always a conversion failure or the source image had an incompatible color profile. Re-export the .jpg as 8-bit RGB, with no embedded ICC profile, and convert again.

Step 3 — Register the NPC and portal icons

This is where the minimap stops being just an image and becomes a navigation tool. The icons are defined in a text file that associates world + coordinate + icon type. The exact syntax varies by client, but the conceptual pattern is constant:

// MiniMapInfo.txt  (illustrative format — varies by season/client)
// World  X    Y    IconType   Description
2        123  110  1          "Weapon Shop"
2        180  95   2          "Portal to Dungeon"
2        207  50   3          "Quest NPC"
0        135  128  4          "Safe Zone / Spot"

The step-by-step to fill it in accurately:

  1. Enter the map with a GM character.
  2. Walk up to each NPC or portal and use the /pos command (or the coordinate overlay) to read the exact tile X and Y.
  3. Note the coordinate and pick the matching icon type from your client's type table.
  4. Add one line per point of interest, always with the correct world index.
  5. Save the file as ANSI/UTF-8 without BOM — some clients don't parse the BOM and ignore the whole file.

Common icon types

CodeTypical iconCommon use
1ShopTrade NPCs (weapons, potions)
2PortalWarp between maps
3QuestMission or event NPC
4SpotRecommended hunting point
5BossBoss spawn location

Step 4 — Adjust the frame and the panel position

The frame that wraps the minimap is a separate .ozt, with transparency, overlaid on the art. To give it your server's identity:

  1. Convert minimap_frame.ozt to .png.
  2. In the image editor, redraw the border with the server's colors/logo, keeping the transparent areas exactly where they were.
  3. Reconvert to .ozt and replace it.
  4. The panel's on-screen position is usually fixed in the client; on clients that expose it, the setting lives in an interface .ini — the field and whether it exists at all vary by season/client.

Step 5 — Validate scale and positioning

This is the test that separates a professional minimap from an amateur one. Never rely on static appearance alone.

  1. Enter the map with your character and open the minimap (M or Tab key, depending on the season).
  2. Go to a known reference point — for example, an NPC's doorway — and check whether the character marker lands exactly on that NPC's icon in the panel.
  3. Walk to the four extreme corners of the navigable area and confirm that the marker reaches the edges of the art without "spilling" over or stopping too early.
  4. If the marker is consistently offset horizontally or vertically, the problem is the art's framing (it doesn't cover 0–255 on both axes). If it's mirrored, it's the inverted Y axis.
Nota: A quick calibration test: temporarily place icons on tiles (0,0), (255,0), (0,255), and (255,255). If all four land exactly in the corners of the panel, your scale is perfect and you can trust any coordinate in between.

Common errors and fixes

ErrorLikely causeFix
Panel opens with a black backgroundCorrupted .ozj or wrong world indexReconvert the art and check the file's name/number
Character marker offsetArt doesn't cover the 0–255 grid or ratio isn't 1:1Reframe the art on a square canvas, aligned to the tiles
Minimap mirrored verticallyThe image's Y axis wasn't invertedFlip the art vertically in the editor
Icons don't appearDefinition file has a BOM or wrong syntaxSave as ANSI/UTF-8 without BOM and review the columns
Icons in the wrong placeCoordinates captured in another map/worldRecapture with /pos inside the correct world
Frame covers part of the mapThe .ozt's transparent areas were filled inRedo the frame preserving the alpha channel

Launch checklist

  • Backup of the original client folder made in _original/
  • Base art created at a 1:1 ratio and aligned to tiles 0–255
  • All .ozj/.ozt converted and of a sensible size (> 1 KB)
  • File indexes matching the correct world for each map
  • NPC and portal icons registered with coordinates captured via /pos
  • Definition file saved without a BOM
  • Four-corner calibration test passed
  • Character marker lands exactly on reference points
  • Custom frame applied with transparency preserved
  • Client tested on at least three different maps
  • Client repackaged and the verification hash updated

With the minimap calibrated and the icons in place, your server gains a layer of polish that most competitors ignore. The secret is to always treat the art as a faithful projection of the tile grid — when the scale is right, everything else falls into place naturally, and you can reuse the same process for any new custom map you add in the future.

Frequently asked questions

What is the minimap in the MU client?

It's the orientation panel shown in the corner of the screen (usually opened with the M or Tab key) that displays the current map's layout, the character's position, and icons for NPCs, portals, and points of interest.

Does every map need its own minimap image?

Yes — each map (world) has its own minimap art, usually named by a numeric index. Maps with no associated art show up with a black background or won't open the panel at all.

Does a custom minimap affect other players?

No. The art and the configuration live in each player's client. You distribute the client with the files already included, and everyone who downloads it gets your server's minimap.

Do I need to edit Main.exe to change the minimap?

On most seasons, no — the art lives in external files (.ozj/.ozt) and the icons are defined in the client's text files. An offset in Main is only needed on clients that embed the resource, which varies by season/client.

Why does my minimap look stretched or off-scale?

Almost always it's a wrong image dimension or a ratio that doesn't match the map's playable area. The minimap has to cover the same tile coordinates (0–255) the server uses for that world.

GA
Guides & builds editor

Gabriel covers gameplay, class builds, PvP and progression. He tests every strategy on a live server before publishing.

Keep reading

Related articles