Tip of the day: Channel mode +f is a powerful anti-flood feature. It is also slightly complex. Enable it in your most important channels, and consider setting a default in set::modes-on-join.

Contributing

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

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:

  1. What you did (if you know)
  2. What happened
  3. Why you feel this is a bug
  4. 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:

  1. Explain the feature itself
  2. 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 and example.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.