AzerothCore (AC) is an open-source game-server application for World of Warcraft, currently supporting the 3.3.5a game version.
It is written in C++ and is based on MaNGOS, TrinityCore and SunwellCore.
As players and administrators ourselves, we take great care into the stability of our core. Other projects focus on the development side of things and tend to forget that users want stability above everything else.
Hence why nobody is allowed to push commits directly to the core. All changes are reviewed and tested before they get to the master
branch which means we need as many testers as possible to avoid stalling issues.
Fixing and implementing missing blizzlike content is one of our priorities, and we can boast to offer the most content-complete open-source emulator.
Modules are essential to AzerothCore's success. Modules allow users to plug them in and out easily, and do not require to modify the core files. It also means users can keep pulling the git changes from the main repository and only develop their modules.
We have a lot of modules already made, some of them are very important and will ease your work:
Our configuration file system allows the user to use a tiny configuration file for better readability and maintenance.
Not very far from its ancestor TrinityCore, most scripts can be adapted quite easily. For MaNGOS compatibility, it might require more knowledge but it shares a common base.
Our main goal is to create a playable game server, offering a fully working game experience.
Here are the main points we focus on:
We also welcome new users (even non-English speaking users!) and help them learn/improve their skills (C++, SQL, Git, software collaboration, tutoring/wiki, etc...).
Unlike other projects which focus more on the developer's side of things, we want users to be able to run their server with as few troubles as possible. All of our contributors run their private servers (local or public).
That's why AzerothCore is easier to use, to maintain, to understand, to develop on, and to customize to suit your needs, than other emulators.
In short, we focus on the user experience (UX), whether it be the player's experience, the developer's experience, or the administrator's experience.
Being an open-source project, we rely on volunteers to pursue development. Here are ways to help us if you use AzerothCore:
Click on the "star this repository" button to help us gain more visibility on Github!
Check the CONTRIBUTING section below.
You can support the AzerothCore by donating. The money will be used to pay freelance developers for more open-source fixes.
By talking about us on different platforms or to people who would like to get involved.
AzerothCore is a learning project, and there are lots of different ways to contribute to the project:
If you want to contribute to the project, you will find a lot of resources that will guide you in our wiki.
Feel free to join us on our Discord chat server where we teach a lot of new people how to get started and who are now important contributors!
Installation instructions are available here.
We also have an auto-installation bash script here (Warning: try it/analyze it before running it).
Dockerization of AzerothCore is fully supported, and we have various community-made tutorials (eg: AWS / Digital Ocean installation).
Our self-made wiki probably has a lot of answers for you.
For help requests, it is recommended to ask your question on StackOverflow and link it in our chat.
This project exists thanks to:
AzerothCore catalogue (modules, tools, etc...)
JetBrains is providing free open-source licenses to the AzerothCore developers.