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.

UnrealIRCd files and directories

From UnrealIRCd documentation wiki
Jump to navigation Jump to search
Other languages:
  • English

Two directories

In the article below we talk about two directories:

  • Source directory: this is where you compile UnrealIRCd from, and nothing more (Mostly *NIX only)
  • Installed directory: this is where you install UnrealIRCd

UnrealIRCd source directory

This is the directory containing directories like src/ and include/. It is only used for compiling UnrealIRCd and any 3rd party modules. After that, you normally leave the directory alone (but don't delete it!).

If you installed UnrealIRCd on Windows with the installer then you won't have this.

Installed UnrealIRCd directory structure

By default UnrealIRCd gets installed to /home/xxxxx/unrealircd on *NIX and C:\Program Files\UnrealIRCd 6 on Windows.

  • /: the main directory. Contains all subdirectories (see below). On *NIX this also contains the unrealircd script to start/stop UnrealIRCd.
  • conf/: for configuration files
    • unrealircd.conf: the main configuration file
    • ircd.motd: Message Of The Day
    • ircd.smotd: Short Message Of The Day
    • oper.motd: OPERMOTD
    • bot.motd: BOTMOTD
    • aliases/: this directory contains all the aliases for services (eg: conf/aliases/anope.conf)
    • tls/: this sub-directory is used to store SSL-specific files (eg: conf/ssl/*.pem) (formerly was ssl/ in previous versions)
      • server.cert.pem: the SSL certificate for this server
      • server.key.pem: the private SSL key (must be kept secret!)
      • curl-ca-bundle.crt: list of trusted issuers of SSL certificates (shipped by UnrealIRCd, normally left untouched)
  • modules/: this directory contains all the modules (*.so or *.dll files)
  • logs/: used to store log files
  • tmp/: temporary data
  • cache/: used to store cached remote includes (in case a the HTTP[S] server is down)
  • doc/: some documentation (almost all documentation is on https://www.unrealircd.org/docs/, though)
  • bin/: On *NIX the ircd binary is here, which normally is not accessed directly. On Windows, the EXE and DLL files are in this directory.
  • data/: Persistent data, such as database files, the unrealircd control socket, etc.

Backing up UnrealIRCd

We suggest just backing up entire ~/unrealircd. But, if you are really tight on space then at least backup conf/ and data/ which are most important.

The database files (*.db) in data/ can be safely backed up while UnrealIRCd is running. Whenever there is a new database write (every X minutes), UnrealIRCd writes to a temporary file and then does an atomic rename() call, so the *.db file is never "in the middle of a write" or such unsafe state. You can just back it up without worries.