Tip of the day: Check out Special users on how to give trusted users/bots more rights without making them IRCOp. |
Contributing
If you want to help out and make UnrealIRCd better, you can contribute in several ways. Chances are high you can find something that suits you below. Almost all of these come with no obligations!
Reporting bugs and suggestions
You can report bugs at the bugtracker. Please report:
- What you did (if you know)
- What happened
- Why you feel this is a bug
- Any other additional information you think is possibly relevant
Do you have a nice suggestion or feature enhancement in mind? Submit it at the bugtracker as well:
- Explain the feature itself
- Explain why you feel it would be useful: give an example or scenario where it would be useful
Testing
Testing is very important so we really appreciate it when people test UnrealIRCd. Link in a test server to your production network or run a separate test network. Use the latest Release Candidate or git version. This helps us catch problems early, before they end up in actual releases, saving a lot of trouble for other users!
Programming
Getting started
The Doxygen docs show the UnrealIRCd API. This may be a good place to start if you are looking for something in particular (used as a reference guide).
Most of our docs regarded to programming assume you are writing a 3rd party module, eg:
- Dev:Module has some good words on how to start, including an howto on writing your first 3rd party mod
- Dev:Module API contains some of the module API
In general, reading existing UnrealIRCd code may help understanding how things work in UnrealIRCd. It's usually best to read something clear and self-contained, like a module (or a 3rd party module).
Discussing changes
If you have a feature suggestion or plan to do some major cleaning/rewriting existing UnrealIRCd code, then it is usually best to discuss beforehand on the bugtracker. This way the main coders may still suggest to do things in a particular way or indicate that we don't want such a change.
If you only have a small change (eg. less than 1 hour of work) then you can submit a patch immediately, see next.
Submitting patches
You can submit patches either as a Pull Request (PR) on GitHub or by attaching a patch file (diff -u) at a bug item at the bugtracker.
IMPORTANT: Make sure you target your PR for UnrealIRCd 6, so the unreal60_dev
branch
Coding third party modules
A nice way to interact with the UnrealIRCd source is by writing your own 3rd party module.
- Dev:Module has some good words on how to start. It is basically an howto on writing your first 3rd party mod.
- Dev:Module API contains the module API
- The Doxygen docs are a great reference that you will likely use
- In practice, you will probably also look at other existing (3rd party) modules
If you end up with something nice, then see also next question on submitting your module.
Submitting third party modules
If you wrote a 3rd party module that you think is useful for others, then you can submit it for inclusion in unrealircd-contrib.
This means your module will be listed at modules.unrealircd.org and users can use ./unrealircd module install third/nameofyourmodule
Documentation
The documentation is just as important as the software itself. We do our best to keep it up to date, but help and translations are always welcome!
What can you do?
- You can sign up for a wiki account. All requests are manually approved by staff.
- After approval you can edit pages to make them better: fix things that are wrong, add missing items, and so on. If you plan to do major changes like rewrite a page, then it's better to contact Syzop before you start.
- Translators are always welcome for the wiki pages, see Translating UnrealIRCd wiki pages on how it works.
- In practice the UnrealIRCd docs are so big that people translate only 10% at most
- Best strategy may be to only translate the most important pages. Then, focus on keeping those translations up to date as time passes.
- Translations for
help.conf
andexample.conf
are welcome too.- Be sure to pick the latest (English) version as a base. We also require you to keep them up to date the next year(s).
- See
doc/translations.txt
for more information on the process. In short: simply email Syzop
Support
You can help out others at the forums or on IRC:
- Hang out at
#unreal-support
at irc.unrealircd.org. Then, whenever you feel like it, look at the screen and respond to any questions that users may have - Similarly, register at the forums and help users if they have a question
Donations
You can become a monthly sponsor or donate once to the project using PayPal or Patreon. See also the Launch of Sponsorship program & Merchandise forum post.
Merchandise
You can buy some merch from the UnrealIRCd shop. Mugs, caps, t-shirts, it's all there! While we don't expect to make a big profit from the shop, it is still a fun way to have both a nice fan-item and support us with a small profit on each item sold.