Are you the kind of person who likes to contribute to a community where you belong? You came to the right place: ChromieCraft is a NON-profit project, based on AzerothCore and entirely managed by volunteers who believe in the open-source philosophy.
If you want to help the project, you do not need any special permission or access, can already start contributing. Being that our project codebase and communication channels are completely open, everyone can just start learning and contribute.
The open-source is not only our philosophy: it is our strength.
And, there is actually a lot you can do even if you are not a programmer. As we will explain here, there are different roles you can choose to make ChromieCraft a better project. Both technical and non-technical roles.
People who contribute regularly to the project that show professionalism and dedication may be considered to become ChromieCraft Staff.
Reporting bugs in our bug tracker is of course a way of contributing. Just make sure to:
- avoid reporting duplicates: always search among the existing bugs before opening a new report
- make sure what you are reporting is actually a bug – checking bug reports takes us time, help us save it, and double-check your reports before submitting them
- make sure you fill the template of the report and include enough information so it is easy to understand and reproduce the bug
- always include reproduction steps: developers cannot fix a bug if they cannot reproduce it first
- include links to any items/NPCs/Spells/etc… related to the bug, you can use wowgaming or similar search engines
- attach images or videos to the bug report, you can easily drag-n-drop (or copy-paste) images directly into the GitHub report
- if you think some game mechanic should work differently than it currently does, you have to include relevant sources that demonstrate it
Help our community grow and find new users and contributors by advertising our project around the web.
Creating videos about playing on ChromieCraft and publishing them on YouTube helps our project to get more visibility and gives our advertisers great tools to better do their job.
Make sure you include “ChromieCraft” in the video title and our website URL in the video description.
You can help other users who need help with installing and accessing the game or simply need some generic guidance by answering their questions on the #support channel of our Discord.
Help us keeping ChromieCraft a friendly community. Report to the Moderators or Admins whatever needs to come to our attention.
Always act to turn off any drama instead of feeding it. Encourage people to use the ignore feature of the game instead of feeding the troll.
Be a peacekeeper. This will make you a good candidate to become a Moderator.
Don’t let the word “technical” scare you. There is a huge amount of tasks you can perform by just getting a local AzerothCore server running on your computer.
This guide can give an overview of how to achieve it as well as giving extra hints on how to learn further: Getting started with AzerothCore.
The technical roles are listed from the easiest role to the most complex. Per every role some requirements are listed, every role implicitly requires the requirements of the previous role(s).
1) Bug triaging
- basic knowledge of the game
- a local AzerothCore server (of a recent version) installed in your machine
- a free GitHub account
Nice to have :
- good knowledge of GM commands (but you can learn them along the way)
Players report bugs to the ChromieCraft bug tracker on GitHub. We receive many bug reports, however, not all of them are valid or properly reported. So contributors have to triage the bug reports and link the valid ones to the AzerothCore GitHub repository, dividing them per category (e.g. generic bugs, 1-19, 20-29, etc…), where all the technical discussions happen, so developers can focus on them.
Bug triaging is very simple and extremely important for our project. If you are able to install a local AzerothCore server on your PC, you can help with this.
The process of Bug Triaging is explained here: >>> HOW TO TRIAGE BUG REPORTS <<<
We are always looking for contributors who can help us in the process. Initially, you do not have the permissions to change the labels of the issues, so just leave a comment instead. After you start doing some triaging, you will be granted permissions to change the issue labels by yourself.
2) Game Tester
No (additional) requirements.
Nice to have:
- having a good understanding of the basic git command can help
At AzerothCore no one pushes fixes directly into the master branch. Not even admins. We care about stability, so we first require every developer to open a Pull Request (PR) containing the code changes, which must be properly reviewed and tested. We mark the PRs that require to be tested with a [Waiting to be tested] label.
Contributing as a Game Tester is also relatively easy, and it is so important that we have published a dedicated guide for it: How to test PRs at AzerothCore.
Helping the project by testing PRs will give a boost to our project development, allowing fixes to be approved faster and get to the ChromieCraft live server sooner.
3) DB Fixer
- use applications such as Keira3
- understanding of how the tables of the AC world database are structured
- basic understanding of the SQL language
Nice to have:
- a deeper understanding of the SQL language can help
If you want to learn how to fix bugs in WoW, this is your starting point. This point is well explained here so there is no need to repeat it.
4) Core Developer
- Knowledge of the C++ programming language
- – OR – knowledge of other object-oriented programming languages and be willing to learn C++
If you want to learn C++ and help with core development, we recommend getting some programming knowledge first. Unlike the other tasks, this is not something you can figure by just experimenting with your local server. There are plenty of tutorials online about C++ programming, like this for example.
Also, it is good to get a good IDE so you can easily do debugging, such as Visual Studio (Windows-only) or CLion (cross-platform). You can try CLion for free for 1 month, then we can give you an open-source license.
Bugs lifecycle and where to find reports
In short, the lifecycle of a bug is:
- 1) the player finds a bug and reports it on the ChromieCraft bugtracker
- 2) a contributor triages the bug report and link it to AzerothCore
- 3) a contributor creates a fix and submit it via PR
- 4) the PR is then reviewed and tested
- 5) the PR is then merged into AzerothCore
masterand so the bug solution will get to ChromieCraft at the next server update (check #changelog-chromie on Discord to know when the server gets updated)
Bug reports coming from ChromieCraft that have passed the triaging step are divided into GitHub “projects”. Every project contains all the bugs of different contents, for example: “generic bugs”, “1-19”, “20-29”, etc… You can pick a bug that is in TODO and does not have any open solution or assignee yet and work on it. When you have a solution ready, send your code via PR.
If you need any assistance while contributing, just poke us on the ChromieCraft Discord.
Any development-related discussions about AzerothCore should take place in the AzerothCore Discord instead. Public conversations are preferred to private messages, unless really necessary,
For technical questions such as programming, installation, troubleshooting, or usage of AzerothCore, it is better to use StackOverflow rather than directly ask on Discord (read this).