// the find
rathena/rathena
rAthena is an open-source cross-platform MMORPG server.
rAthena is a C++ server emulator for Ragnarok Online, the Korean MMORPG from 2002. It lets you run a private RO server with full NPC scripting, map warps, item/skill databases defined in YAML, and a custom scripting language. The audience is private server operators and people who want to study how a 20-year-old game server works from the inside.
Active development with CI across gcc/clang/MSVC and regular commits as recently as June 2026. The data-driven design is solid — mobs, items, skills, and maps all live in YAML files, not hardcoded in C++, so customization doesn't require recompiling. The NPC scripting language is expressive enough to implement full quest chains, shops, and event logic without touching C++. The community infrastructure (forum, Discord, wiki, FluxCP web panel) is mature for a project this old.
The codebase carries 20+ years of C-style C++ — global state, raw pointers, and patterns that predate RAII by a decade. Bundling precompiled MySQL and PCRE DLLs for Windows in the repo is a maintenance and security liability that most modern projects solved with package managers. The scripting language is entirely bespoke with no formal grammar or tooling, so debugging NPC scripts means reading server console output. Documentation is split across the wiki, the /doc directory, and forum posts in ways that make it hard to find a definitive answer to anything.