This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".

View on GitHub

Master System

What is it?

When a character reached a certain level (usually level 400) and completes a quest, its character class changes to a master character class. This unlocks the Master Skill Tree which allows to distribute points to master skills. Points are given by each master level the player reaches (just like before, by gaining experience).

Types of master skills

Basically, there are two types of master skills in a skill tree:

Passive skills

When these skills are learned, they give certain power-ups passively. For example, there are master skills to increase the maximum health or to increase the attack damage.

Active skills

When learned, these skills appear in the skill list. Most skills of this type replace previously existing skills. The replaced skills are staying in the background, are not visible in the game client, but their internal value still apply to the master skill as well. The master skill just defines how much damage or buff power is added to the replaced skill.

Structure of the master skill tree

The master skill tree consists of three roots. The skills are put into rows which defines the rank of a skill. By default, there 5 ranks available. However, the game client would support up to 9 ranks. Each skill usually can have up to 20 levels, some only have 10. The client probably supports more than that.

A skill can be defined to depend on a skill of the same or the previous rank of the same root.

Each character class is able to learn different skills, which are sometimes exclusive to the character class. So, one skill can be available for multiple character classes. The root and rank for a skill is always the same for all character classes. The visual appearance on the client may differ (more on that later).

Requisitions of learning a skill

To learn a skill, the following checks are done by the server (and client).

Character class

The skill must be defined for the class of the character.


The skill must either be in the first rank, or a skill in the previous rank of the same root must at least of level 10.

Required Skill

If the skill has required skills defined (it’s optional), these skills must be at least of level 10.

Client implementation

Some short notes about the client:

Server implementation

Adding Points

Sending Master Stats (F3 50)

Sending Master Skills (F3 53)