UnrealIRCd files and directories

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 src/, include/, extras/, autoconf/ and so on. It is only used for compiling UnrealIRCd and any 3rd party modules. After that, you normally leave the directory alone.

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

Change between UnrealIRCd 3.2.x and UnrealIRCd 4
On previous UnrealIRCd versions (3.2.x) the ircd was often running from this directory. This is no longer the case in UnrealIRCd 4! You should not put your configuration files and other data in this directory. Instead, see next.

Installed UnrealIRCd directory structure
By default UnrealIRCd gets installed to /home/xxxxx/unrealircd on *NIX and C:\Program Files (x86)\UnrealIRCd 4 on Windows.


 * /: the main directory. Contains all subdirectories (see below). On *NIX this also contains the unrealircd script to start/stop UnrealIRCd. On Windows this contains wircd.exe.
 * conf/: for configuration files
 * unrealircd.conf: the main configuration file
 * ircd.motd: the text in this file is shown when a user connects to your server or the /MOTD command is executed (MOTD = Message of the Day)
 * ircd.smotd: if this file exists then the contents of this file are shown instead upon connection and the user can use /MOTD to see the (usually longer) MOTD from above.
 * oper.motd: the contents of this file are shown when someone becomes IRCOp (via /OPER..) or the /OPERMOTD command is executed.
 * bot.motd: the contents of this file are shown when someone becomes a bot (by using /MODE yournick +B) or the /BOTMOTD command is executed.
 * aliases/: this directory contains all the aliases for services (eg: conf/aliases/anope.conf)
 * ssl/: this sub-directory is used to store SSL-specific files (eg: conf/ssl/*.pem)
 * 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/: the ircd binary is here, normally not accessed directly