For most new Ragnarok Online private servers, rAthena is the easier starting point, because it has the larger community and the most shared guides and scripts. Hercules suits owners who want to add features as plugins instead of editing the core source code.

Where do rAthena and Hercules come from?

Both emulators descend from eAthena, the open-source Ragnarok Online server emulator that most private servers ran on for years. When eAthena development slowed, part of its community carried the code on as rAthena. Hercules split off from rAthena a short time later, started by developers who wanted a different direction for the code and the project.

Because they share an ancestor, the two still look alike from the outside. Each runs three server programs (login, character and map), stores accounts and characters in a MySQL or MariaDB database, and uses the Athena script language for NPCs, quests and events. The differences are in how the code is maintained and how you extend it.

How do they differ in practice?

Language and code style

rAthena has moved its source code to C++ and has reworked many of its game databases, such as items, monsters and skills, into YAML files. Hercules is written in C and keeps its own structured text format for the same data. It matters only if you work on the source.

Plugins versus source edits

Hercules has a plugin system, the Hercules Plugin Manager. A plugin is compiled separately and hooks into the server, so you can add or change behaviour without touching the core files. When you update Hercules, plugins usually carry over with little work, as long as the parts of the server they hook into have not changed.

On rAthena, custom features are normally added by editing the source directly, often by applying a patch (a "diff") shared by another server owner. This is simple to start with, but each update can conflict with your edits, and you resolve those conflicts by hand. Keeping your changes in a Git branch helps.

Renewal and Pre-Renewal

Both support Renewal and Pre-Renewal game mechanics. The mode is chosen when you compile the server, and it changes damage and experience formulas, item and monster data and many skills. Changing mode on a server with players is a big change, so decide before people start building characters.

Client dates

Ragnarok clients are identified by their build date, and the server must be compiled for the client version your players use, because the network packets change between client builds. Both emulators support a wide range of client dates. The exact range changes from release to release, so check the current documentation of the emulator you pick before you choose a client.

Community and documentation

rAthena is the more widely used of the two. It has an active forum, a wiki and a large collection of shared scripts, so answers to common problems are usually easy to find. Hercules has its own forum, documentation and plugins. Its community is smaller, so there are fewer ready-made answers, but a plugin written for Hercules is often easier to keep working across updates.

How do they compare side by side?

rAthena Hercules
Origin Continuation of eAthena Fork of rAthena, also from the eAthena line
Source language C++ C
Adding custom features Edit the source or apply patches Plugins through the Hercules Plugin Manager, or source edits
Game data files Mostly YAML Its own structured text format
Renewal and Pre-Renewal Both, chosen at compile time Both, chosen at compile time
Community Larger, with many shared scripts and guides Smaller, with its own plugins and documentation
Best suited to First servers and owners who follow community guides Owners who want custom systems kept apart from the core

Do scripts and databases carry over between them?

NPC scripts are the most portable part. Both use the Athena script language, so most scripts run on either emulator with small changes. Some script commands and constants differ, though, and a script that depends on a custom source edit will not work until the same feature exists on the other side.

Databases are harder. The SQL table layouts have drifted apart over the years, and the game data files use different formats. Moving a live server from one emulator to the other means converting the database, testing on a copy and checking every custom item, monster and script. It can be done, but treat it as a project, not an afternoon job.

Which one should you choose?

Choose rAthena if this is your first server, you want the largest pool of guides and shared scripts, or you plan to follow tutorials written for rAthena's file layout.

Choose Hercules if you are comfortable compiling C code, you plan to add many custom systems, and you want them kept apart from the core so that updates stay clean.

The settings players notice most, such as Pre-Renewal or Renewal, the rates and the episode content, can be set up the same way on both.

Can you switch later?

Yes, but switching gets harder the longer a server runs. Before launch it costs you little: you rebuild your custom content on the other emulator and start with a fresh database. After launch you also need to convert player accounts and characters, test every script and plan a maintenance window when players cannot log in. Take a full database backup first, and do a trial run on a separate copy before you touch the live server.

What do HostBarrel's Ragnarok servers come with?

Every Ragnarok Server Hosting plan comes with rAthena installed by default, set up for Pre-Renewal with Transcendent classes at max level 99/70. Hercules and eAthena are also supported if you prefer them. The servers are in Singapore, and each plan includes full root SSH access and a MySQL database, so you can recompile, change settings or run a different emulator yourself. For the next steps, see Getting Started with Ragnarok Server Hosting and Configuring Your Ragnarok Private Server.