All Series

Building a MU Online Server in Rust

A nostalgia fueled deep dive into reverse engineering the MU Online binary protocol, using OpenMU as a reference to build a working game server from scratch in Rust.

2 Parts44 minFeb 21, 2026
Building a MU Online Server in Rust series cover

Articles in this series

2 chapters
1
Part 1Feb 18, 2026

From Nostalgia to Code: Building a MU Online Server in Rust

Driven by nostalgia for MU Online, we use OpenMU as a reference to build a server from scratch in Rust. In this first episode, we decode the binary protocol, understand packet framing and encryption, explore the ConnectServer/GameServer architecture, and implement just enough to see the legendary login screen appear.

Start readingNext: MU Online in Rust: Hardening the Foundation, runtime, Timeouts, and Packet Size Limits
2
Part 2Feb 21, 2026

MU Online in Rust: Hardening the Foundation, runtime, Timeouts, and Packet Size Limits

Before diving into login and encrypted packets, we harden the server foundation. We introduce mu-runtime for generic TCP handling, implement read/write timeouts, and add max packet size enforcement to protect against slowloris and memory exhaustion attacks.

Read part 2Final chapter
rocket

© 2023 KungFuDev made with love / cd 💜

Heavily inspired/copied from shuttle.rs