Athena.NET

Athena.NET Logo

Athena.NET

A modern Ragnarok Online server written in C#/.NET for the official, unmodified International Ragnarok Online client.

Get started ยป   ยท   Project status   ยท   Roadmap   ยท   Documentation

[![License][license-shield]][license-url] [![Issues][issues-shield]][issues-url] [![Stars][stars-shield]][stars-url] [![.NET][dotnet-shield]][dotnet-url]

CI

Table of Contents
  1. About
  2. Why Athena.NET?
  3. Project status
  4. Getting started
  5. Roadmap
  6. Architecture direction
  7. Documentation
  8. Reference projects
  9. Project scope

About

Athena.NET is a new Ragnarok Online server implementation built from the ground up in modern C#/.NET.

The project focuses exclusively on compatibility with the official International Ragnarok Online (iRO) client. The goal is simple: run the stock, unmodified client against a modern, maintainable and cross-platform server stack without requiring a custom Ragexe build or modified game client.

Athena.NET is not a port of rAthena. Mature projects such as rAthena and OpenKore are used as research and behavioral references, while Athena.NET implements its own protocol handling, gameplay systems, persistence, world model and infrastructure.

(back to top)


Why Athena.NET?

Ragnarok Online has decades of emulator history. Athena.NET explores what a fresh implementation can look like when modern software-engineering practices are applied from the beginning.

๐ŸŽฏ Official iRO first

Compatibility work is driven by the current official International Ragnarok Online client rather than generic kRO compatibility.

โš™๏ธ Modern .NET

Built around current C#, .NET, async I/O, dependency injection, strongly typed domain code and automated testing.

๐Ÿ”ฌ Evidence-driven protocol support

Verified client captures and proven runtime behavior take precedence over assumptions or blindly copying legacy packet tables.

๐Ÿงฑ Clean architecture boundaries

Protocol, gameplay, persistence, world data and infrastructure are intentionally separated so they can evolve independently.

๐Ÿงช Testable by design

Packet framing, gameplay rules, persistence and world-data conversion are covered by a growing automated test suite.

๐ŸŒ Cross-platform

Designed for modern development and hosting workflows across Windows, macOS and Linux.

(back to top)


Project status

Athena.NET has progressed beyond login/bootstrap experiments and now has a playable early-game vertical slice using the official stock iRO client.

โœ… Working today

Area Status
LoginServer Stock iRO login flow
CharServer Character create, load, persist and select
Map handoff CharServer โ†’ MapServer
World entry Stock iRO MapServer authentication and entry
NPCs & scripts Initial interactive NPC/script flow
Quests Quest state and progression in the current slice
Monsters Spawn, visibility, death and respawn foundations
Combat Initial Renewal basic combat
Drops & inventory Item pickup and inventory flow
Equipment Equip/unequip and persistence foundations
Item use Initial usable-item flows
Progression EXP and Job EXP foundations
Warps Initial same-server map/world transitions

Athena.NET is already able to behave like a real server to the stock client, but the implemented gameplay currently represents a focused development vertical slice rather than the complete Ragnarok Online world.

Athena.NET is under active development and is not yet ready for production use or public-server hosting.

(back to top)


Getting started

Recommended entry points

Database

Local development can be run through .NET Aspire, which starts Athena.NET services and supporting infrastructure together.

(back to top)


Roadmap

Athena.NET deliberately completes the stock-iRO baseline before introducing the later proxy, QUIC, Identity and Orleans architecture.

Read the full architecture roadmap ยป

(back to top)


Architecture direction

Athena.NET intentionally starts simple and grows from measured evidence.

Today

Official iRO client
        โ†“
   LoginServer
        โ†“
    CharServer
        โ†“
    MapServer
        โ†“
    SQL Server

The current direction is to begin with one MapServer, keep supported maps normally loaded and collect real per-map usage and runtime telemetry before introducing lifecycle optimizations.

Later, based on evidence

Telemetry can guide decisions such as:

A normal logical world map is intended to have one authoritative runtime. Future scaling should move complete maps to other MapServers rather than silently duplicating the same normal map into separate channels where players cannot see each other.

Static game content is also intended to become independently deployable without placing a remote Content Service in the gameplay hot path.

Read the game content and map lifecycle architecture ยป

(back to top)


Documentation

๐Ÿš€ Getting started

๐Ÿ— Architecture

๐Ÿ›  Development

Developer-facing protocol evidence and implementation notes live under ai/. Those files are intentionally more detailed and evidence-oriented than this public project overview.

(back to top)


Reference projects

Athena.NET keeps two mature Ragnarok Online projects under legacy/ as development references:

These are reference projects only.

Athena.NET does not aim to be a generic kRO/rAthena-compatible server. The supported client target is the official International Ragnarok Online client.

(back to top)


Project scope

Athena.NET is an unofficial server implementation and is not affiliated with, endorsed by, or sponsored by Gravity Co., Ltd. or WarpPortal.

Ragnarok Online and related names and assets are the property of their respective owners.

Athena.NET is distributed under the terms described in LICENSE.

(back to top)


**Athena.NET** Modern .NET architecture. Official iRO compatibility. No modified client required.