Contributions are welcome! Here's how you can help:
Before you start coding, consider opening an issue at Github to discuss the suitability and implementation of your intended contribution with the core developers.
Any Pull Request that isn't a bug fix and isn't covered by the roadmap will be closed within a week unless it receives a concept approval from a Core Developer. For this reason, it is recommended that you open an issue for any such pull requests before doing the work, to avoid disappointment.
You may also benefit from discussing on our IRC development channel #minetest-dev. Note that a proper IRC client is required to speak on this channel.
Start coding!
Commit & push your changes to a new branch (not master
, one change per branch)
Once you are happy with your changes, submit a pull request.
When you submit a pull request, GitHub automatically runs checks on the Minetest Engine combined with your changes. One of these checks is called 'cpp lint / clang format', which checks code formatting. Because formatting for readability requires human judgement this check often fails and often makes unsuitable formatting requests which make code readability worse.
If this check fails, look at the details to check for any clear mistakes and correct those. However, you should not apply everything ClangFormat requests. Ignore requests that make code readability worse and any other clearly unsuitable requests. Discuss in the pull request with a core developer about how to progress.
If you experience an issue, we would like to know the details - especially when a stable release is on the way.
debug.txt
file).After reporting you should aim to answer questions or clarifications as this helps pinpoint the cause of the issue (if you don't do this your issue may be closed after 1 month).
Feature requests are welcome but take a moment to see if your idea follows the roadmap in some way and fits the whole picture of the project. You should provide a clear explanation with as much detail as possible.
The core translations of Minetest are performed using Weblate. You can access the project page with a list of current languages here.
Builtin (the component which contains things like server messages, chat command
descriptions, privilege descriptions) is translated separately; it needs to be
translated by editing a .tr
text file. See
Translation for more information.
If you'd like to monetarily support Minetest development, you can find donation methods on our website.
These notes are for those who have push access Minetest (core developers / maintainers).
If a Pull Request is not a bug fix:
Pull requests should be reviewed and, if appropriate, checked if they achieve their intended purpose. You can show that you are in the process of, or will review the pull request by commenting "Looks good" or something similar.
If the pull-request is not merge-able:
Submit a comment explaining to the author what they need to change to make the pull-request merge-able.
If the pull-request is merge-able:
Submit a :+1: (+1) or "Looks good" comment to show you believe the pull-request should be merged. "Looks good" comments often signify that the patch might require (more) testing.
curl https://github.com/minetest/minetest/pull/1.patch | git am
Refer to dev.minetest.net/Releasing_Minetest