/aura

Open-source MMORPG server emulator

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Aura

Aura is an open-source server emulator written in C#. It's solely being developed for educational purposes, learning about programming, MMORPGs, maintaining huge projects, working with other people, and improving knowledge. It's not about playing a game or competing with any services provided by Nexon or its partners, and we don't endorse such actions.

Aura is completely free and licensed under the GNU GPL. As such, every user is free to use Aura and choose how to use it, in the context of its license.

Compatibility

Aura is only compatible to the latest version of NA, compatibility to all other versions was dropped on 2013-09-13 (in Aura Legacy).

Requirements

To run Aura, you need

  • .NET 4.5 (Mono 3.0+)
  • MySQL 5 compatible database

To compile Aura, you need

Installation

  • Compile Aura
  • Run sql/main.sql to setup the database
  • Copy system/conf/database.conf to user/conf/, adjust the necessary values and remove the rest.

Afterwards, you should be able to start Aura via the provided scripts or directly from the bin directories. If not, or if you need a more detailed guide, head over to our forums, Gitter chat, or wiki.

Contribution

There are 4 ways you can help us to improve Aura:

  1. Research
  2. Bug reports
  3. Pull Requests
  4. Releases on the forums

1. Research

Do research on NPCs, quests, skills, anything really that isn't implemented yet and post it on our research forum. The information you post will help developers to implement the features.

2. Bug reports

Report bugs on GitHub, so they can be fixed ASAP.

3+4. Code

The fastest way to get code contributions into the source is a pull request, which, if well written, can be merged right in to master. To expediate this process, all pull requests must comply with our coding conventions below.

Alternatively you can make "casual" releases on the forum, which developers might pick up as research or as a base to implement the features into the official source.

Coding conventions

  • Base: MS Naming Guidelines, MS C# Coding Conventions
  • Exceptions:
    • Use _private for private fields and this.Foobar for properties, public fields, and methods.
    • Use tabs, not spaces.
  • Comment lines shouldn't exceed ~80 characters, other lines' lengths are irrevelant.
  • Excessive usage of the auto-formatting feature is encouraged. (Default VS settings)
  • Avoid overuse of regions.

Common problems

Errors after updates

Usually all errors are solveable by recompiling and deleting the cache folder.

Error message when trying to connect to channel

If you get a Korean error or a message saying "You failed to enter the world" upon trying to connect to the channel, it means that the client wasn't able to reach the channel server, which is usually caused by configuration mistakes. Make sure you can reach the IP/Port you've set the channel to run on (channel.conf) from the affected computer.

In some rare cases this can also be caused by routers, for example, if you try to make the server available from the internet and the router doesn't allow you to connect to your own public IP.

I can't move/am naked after login

This usually happens when the server and the client aren't compatible to each other. Make sure you're running the latest version of Aura and NA.

If you did update both and are still running into problems, an official update probably broke compatibility. Wait a few hours for us to update Aura if NA has just been happened, or create an issue on GitHub.

Links