Aesir is an Elixir-based implementation of a Ragnarok Online server.
The project is organized into several applications within an umbrella structure, each responsible for a specific part of the server's functionality:
account_server: Handles user login, account management, and authentication.char_server: Manages character data and related operations.zone_server: Responsible for in-game maps, NPCs, and general MMO mechanics.commons: Contains shared modules, utilities, and common dependencies used across the other server applications.
- Elixir (version 1.18 or higher)
- Erlang/OTP
-
Clone the repository:
git clone https://github.com/ygorcastor/aesir.git cd aesir -
Fetch dependencies:
mix deps.get
-
Compile the project:
mix compile
# To start the Account Server
RELEASE_COOKIE=imthecookie iex --name [email protected] -S mix aesir.account
# To start the Char Server
RELEASE_COOKIE=imthecookie iex --name [email protected] -S mix aesir.char
# To start the Zone Server
RELEASE_COOKIE=imthecookie iex --name [email protected] -S mix aesir.zoneEach application within the umbrella has its own test suite. To run tests for the entire project:
mix testTo run tests for a specific application (e.g., account_server):
mix test apps/account_serverrAthena - C/C++ Implementation of the Ragnarok Server
Openkore - custom client and intelligent automated assistant for Ragnarok Online.