How to customize the loading screen in the MU Online client
Replace the MU Online client's loading images with artwork that reflects your server's identity, including rotating tips, per-map screens, and safe distribution via the launcher.
The loading screen is the player's first visual impression right after login — and also the last barrier before actually entering the game world. A server with the generic loading screen (the base client default) misses the chance to reinforce its brand right at that moment. This tutorial shows how
The loading screen is the player's first visual impression right after login — and also the last barrier before actually entering the game world. A server with the generic loading screen (the base client default) misses the chance to reinforce its brand right at that moment. This tutorial shows how to locate, replace, and enrich the MU Online client's loading screens, including per-map variations, rotating gameplay tips, and safe distribution of the change to all players.
Why invest in the loading screen
The loading screen shows up dozens of times per play session — map changes, entering events, teleports, death and respawn. It's a free, repeated branding opportunity, ideal for: server logo, visual identity (colors, typography), quick rule reminders, or even a QR code/Discord link. Servers that treat this screen as a "detail" waste the highest-visibility spot of any visual element in the client.
Prerequisites
- A working MU client with a server already configured.
- An image editor (Photoshop, GIMP, or similar).
- A packing tool for the client's image format (usually OZJ, derived from JPG).
- A launcher/patcher for distributing updates.
Locating the loading files
| Typical file | Function |
|---|---|
Data/Interface/Loading01.OZJ through LoadingNN.OZJ | Loading screen background images |
Data/Interface/LoadingText.txt (some clients) | List of rotating tips/text |
Data/Interface/LoadingBar.OZT | Progress bar texture |
| Executable interface module | Image selection logic (random or per-map) |
The number of LoadingNN files varies — some clients have a single image, others have a set of 5 to 10 chosen at random on each load.
Step 1 — Determine the correct dimensions
Extract an original loading image using the client's unpacking tool and note the exact resolution (commonly 1024x768 for older clients, though it can vary in custom widescreen clients). Every new artwork must be created at the same ratio to avoid distortion or black bars.
Step 2 — Create the new set of artwork
It's recommended to produce a set of 4 to 8 varied images instead of a single fixed one, so the loading screen doesn't get repetitive. Good composition practices:
- Server logo always in the same corner, for consistent brand reinforcement.
- Scenes with the game's own characters/maps, avoiding generic art unrelated to MU.
- A reserved area (free of important elements) where the progress bar and any text will be overlaid by the interface.
- A color palette aligned with the website and Discord's visual identity.
Step 3 — Export and pack
Export each image as high-quality JPG (low compression) and convert to OZJ using your client's tool. Name them following exactly the existing LoadingNN convention, replacing the original files inside Data/Interface/ on a test client.
Step 4 — Add rotating gameplay tips
If the client already supports overlaid text (check for something like LoadingText.txt or a list of strings referenced in the loading module), fill it with short, useful tips, for example:
Use the /post command to chat with the whole server.
Combine elemental sockets to maximize your build's damage.
Devil Square events open automatically every 2 hours.
Visit the site's shop to trade Credits for exclusive items.
If the client doesn't have this native support, this feature usually requires access to the client's source code to draw the random text over the background image — treat it as a future improvement if you don't have that access.
Step 5 — Configure per-map screens (optional)
On clients that already separate images by map index (common in newer versions), you can give a themed loading screen to special events — for example, specific artwork for Kalima, Kanturu, or a seasonal event map. This is done by mapping the map index to the corresponding image file name in the client's interface configuration.
Step 6 — Watch the file weight
Every extra image increases the size of the update package players download. Keep each file under 1-2 MB after compression, testing visual quality loss at different JPG compression levels before finalizing the package. A set of 8 well-compressed images should total under 10 MB.
Step 7 — Test across different scenarios
Test map changes, the initial login, entering an event, and death/respawn, confirming that:
- The image appears without distortion at every supported resolution.
- The progress bar stays readable over the new background.
- There's no illegible text overlap (e.g., light text on a light background).
Step 8 — Distribute via the launcher
Publish the new files through the launcher/patcher, updating the integrity manifest if your system does hash checks. It's recommended to announce the visual change on Discord/the site the same day it launches, using the moment to reinforce the server's refreshed identity.
Common errors and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Image appears stretched or cropped | Dimensions differ from the original | Recreate at the exact resolution detected in Step 1 |
| Progress bar is unreadable | Background too light/high-contrast in the bar's area | Reserve a neutral area in the composition for the bar |
| Update package too heavy | Images not properly compressed | Recompress as JPG at 70-80% quality |
| Only one image ever shows | Random selection not configured/missing | Check whether the client supports multiple LoadingNN files and that all are correctly named |
| Players don't see the new screen | Launcher didn't distribute the files | Confirm publication and the patcher's hash/manifest |
Customization checklist
- Original dimensions and format identified via extraction.
- Set of 4-8 new artworks created with the server's identity.
- Images exported and packed in the client's correct format.
- Rotating tips configured (if supported by the client).
- Final package weight validated (under ~10 MB for the set).
- Tested across multiple scenarios (login, map change, event, respawn).
- Distribution done via the launcher and announcement published on Discord/site.
With the loading screen refreshed, the natural next step is aligning the rest of the client's visual experience — login screens, the intro splash, and the HUD — so the server's identity stays consistent from the first click to the first character created; if your server is still in the setup phase, review the server creation tutorial before investing heavily in visual identity.
Frequently asked questions
Can replacing the loading screen crash the client?
Only if the image doesn't match the expected dimensions and format (usually JPG/OZJ at a fixed resolution). Otherwise it's a simple, safe file swap with no crash risk.
Can I have a different loading screen per map?
On clients that already separate the loading image by map index, yes — just replace the image matching the desired map's index. On clients with a single generic screen, this requires additional per-map selection logic.
Can I add rotating gameplay tips to the loading screen?
Yes, that's common practice. It's usually done by randomly picking a string from a list of texts every time the loading screen appears, drawn over the background image by the client's own interface.
Do I need the client source code to change the loading screen?
No, in most cases. Swapping the static image is just a file replacement. Rotating tips or per-map screens, however, may require access to the source code or a client already prepared for this by the developer.
What's the recommended file size so it doesn't slow down loading?
Keep each loading image under 1-2 MB after compression. Overly heavy images increase the loading time of the launcher/client itself, which defeats the purpose of a screen meant to disguise the wait.