r/linux_gaming • u/Pupi-Pups • 14h ago
Classic Mu-Online for linux
Hey everyone!

I've been working on an open-source project to preserve and modernize MU Online 0.97k, a classic MMORPG from the early 2000s.
The project started with a native Linux server implementation and eventually expanded into reconstructing the original Windows game client from decompiled code.
I recently released version 0.97.20 of both projects, completing Phase 2 of the modernization roadmap.
What's working so far?
Server (Linux):
- Native Linux implementation, no Wine required.
- Docker support for AMD64 and ARM64.
- MySQL integration and Pterodactyl support.
- Custom items, monsters, effects and pets.
- Server-driven data synchronization with the client.
- Open-source code and prebuilt server packages.
Client (currently Windows):
- Reconstructed C++ source code from the original 0.97k client.
- Removed the dependency on the old injected Main.dll by integrating its functionality directly into the source.
- Modularized several legacy systems.
- CMake build support.
- Various rendering, UI, gameplay and compatibility fixes.
Phase 3: Bringing the client to Linux
This is what I'm starting to work on now.
The server already runs natively on Linux, but the client does not run natively on Linux yet.
My next goal is to make the reconstructed client portable, with native Windows and Linux builds from a shared codebase.
Some of the challenges ahead include:
- Replacing Windows-specific APIs and dependencies.
- Decoupling the rendering and window management systems.
- Modernizing the legacy graphics pipeline.
- Making the build system cross-platform.
- Preserving the original game's appearance and behavior while improving compatibility with modern systems.
I'm also interested in exploring more modern rendering options in the future, but the immediate priority is getting a functional native Linux client.
Why am I doing this?
Partly for nostalgia, partly for the technical challenge, and partly because I believe old games deserve to remain accessible and understandable.
It's also been a great opportunity to learn more about reverse engineering, legacy C++, networking, and cross-platform development.
The project is still a work in progress, and I'm not claiming the client is Linux-ready yet.
GitHub repositories
Client source:
https://github.com/EmanuelCatania/Mu-97k-Client-Source
Native Linux server:
https://github.com/EmanuelCatania/Mu-Linux-0.97k
Latest release: 0.97.20
Both repositories are publicly available.
I'd love to hear from other Linux developers who have worked on porting old Windows games or modernizing legacy rendering engines.
Any feedback, technical suggestions, or contributions are welcome!
0
u/[deleted] 13h ago edited 13h ago
[deleted]