Melia is an open-source MMORPG server software for the international client of Tree of Savior. 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 IMCGAMES or its partners, and we don't endorse such actions.
Melia is completely free and licensed under the GNU GPL. As such, every user is free to use Melia and choose how to use it, in the context of its license.
Melia is compatible to version 164556 of the iTOS client.
Compatibility to any other clients or versions is not guaranteed, and in fact unlikely.
Please consult the wiki first if you are having trouble during setup.
To run Melia, you need
To compile Melia, you need
sql/main.sql
to setup the databasesystem/conf/database.conf
to user/conf/
,
adjust the necessary values and remove the rest.Afterwards, you should be able to start Melia 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.
There are 4 ways you can help us to improve Melia:
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.
Report bugs on GitHub, so they can be fixed ASAP.
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.
_private
for private fields and this.Foobar
for properties, public fields, and methods.master
is the stable branch, geared towards normal users. It should be
compilable and working at all times, with little to no debug or test code.
For every feature or fix that goes beyond a handful of lines, a branch is created, that acts as a kind of "beta" branch for that feature. These branches aren't merged into master until a core developer has reviewed the code.