Contributing to BAR Infrastructure¶
Welcome! We're a volunteer-driven project, and we're excited you're here to help. This page will guide you on how to get started with the Beyond All Reason infrastructure.
Tip
This documentation is a new and evolving resource. If you find anything unclear or have unanswered questions, we welcome your feedback! Please open an issue to share your thoughts. Contributing to the docs is also a fantastic way to make your first contribution.
Our core philosophy is applying software engineering to operations. We try to build robust solutions, and that often means changing code or building new tools, not just managing servers.
Communication¶
- Discord: For general questions and discussions, join us in the development channels on the BAR Discord server. We have dedicated channels for different parts of the infrastructure, such as
#new-client
and#teiserver-spads
. If no existing channel fits just post in#dev-main
. - GitHub: For tracking work and having more permanent discussions, we use GitHub Issues.
At the moment the main point of contact for infrastructure is Marek (p2004a).
Getting Started¶
1. Understand the Big Picture¶
Before diving in, take some time to browse this documentation site to understand how the system works. We recommend starting with the Home page for a high-level overview, and then moving on to the Runtime Infrastructure page for more details.
2. Find Something to Work On¶
A great way to start is by tackling an existing issue. Check the issue trackers in the repositories listed in the Component Index that interest you.
Look for issues tagged with good first issue
, as these are well-suited for new contributors. While not all repositories may have them, it's a good starting point.
Some larger cross-system issues/projects are tracked in the infrastructure
repository.
Can't Find Anything?¶
If you've looked for an issue but are still unsure where to start, feel free to ask. To help us point you in the right direction, please tell us a bit about your interests and what parts of the project you've already looked at.
3. Taking Initiative¶
Many potential improvements aren't tracked in an issue yet. If you have an idea or find something to improve, please bring it up for discussion! We value proactive contributions.
Example
To give you a sense of the possibilities, here are a couple of examples of areas that just aren't scoped as issues at the moment:
- Finishing the Recoil Engine docker build (e.g., adding Windows testing or Podman support).
- Reducing the complexity of the game's infrastructure build process, which has some quirks for historical reasons.
As you learn more about the project and how things are connected together issues like this will pop up to you very quickly.
The Contribution Process¶
- Find or create an issue. This helps track the work.
- Check for a
CONTRIBUTING.md
file. It might contain specific guidelines relevant to that repository. - For larger changes, agree on a plan first. This ensures we're all on the same page and you don't waste your time.
- Fork the repo, create a branch, write your code, submit a pull request. Following the standard GitHub Flow process.
We look forward to your contributions!