Upgrade to UnrealIRCd 6

To upgrade UnrealIRCd 5.x.x to 6.x.x is very simple. You can upgrade from any version to any newer version.

NOTE: If you are upgrading from UnrealIRCd 5 to UnrealIRCd 6 it is nearly the same and very easy.

Linux/BSD/OS X

Automatic

If you are OK with replacing your current U5 installation with U6 then you can use the following command on *NIX:

./unrealircd upgrade --unreal6

The command from above will create a backup of your current installation to ~/unrealircd.bak.*, and will then download, extract, compile and install, making this step very easy.

Manual

If you are NOT OK with replacing your current U5 installation, for example if you want to have them in different directories, then:

  • Manually install UnrealIRCd 6 by downloading the .tar.gz and following all the usual procedures from Installing from source.
  • Manually copy over your U5 conf/unrealircd.conf to your U6 conf directory. And also don't forget your ircd.motd, tls/server.cert.pem, tls/server.key.pem, etc.

IMPORTANT: Do NOT blindly copy over ALL *.conf files. In particular, do not copy over modules.default.conf from U5 to U6.

There are few changes between version 5 and 6, you have extra snomask include config file,

include "snomasks.default.conf"; 

IMPORTANT: In UnrealIRCd 6 the snomask letters are different compared to UnrealIRCd 5!!

In UnrealIRCd 6 the available snomasks are:

Snomask Description
b Server bans (KLINE, GLINE, SHUN, etc)
B Messages from the DNS blacklist module
c Local client connects
C Remote client connects (on other servers, except services/u-lines)
d Rejected DCC's due to Deny dcc blocks
D Debugging / junk (not recommended to set, can be noisy about completely harmless things)
f flood notices (recommended)
j joins, parts and kicks
k kill notices (/KILL usage)
n Local nick changes
N Remote nick change notices
q Deny nick (QLINE) rejection notices
s Server notices: all other notices that do not fit in the other snomasks (includes very important messages, highly recommended to set)
S Spamfilter hits
o IRCOp overriding in channels (OperOverride)
O IRCOp changing user properties (/CHGNAME, /CHGIDENT, /CHGHOST, ..) or forcing a user to do things (/SAJOIN, /SAPART)
v VHOST usage

In UnrealIRCd 6 you can also create your own (new) snomasks via the log block.

You can control which snomasks IRCOps receive by default via set::snomask-on-oper, or in specific oper blocks via oper::snomask.

cloaking module to load

loadmodule "cloak_md5";

the logging system has changed

log {
        source {
            !debug;
            all;
        }
        destination {
            file "ircd.log" { maxsize 100M; }
        }
}

and few other features added like what informations to be shown on whois

set {
        whois-details {
                basic           { everyone full; }
                modes           { everyone none;        self full;      oper full; }
                realhost        { everyone none;        self full;      oper full; }
                registered-nick { everyone full; }
                channels        { everyone limited;     self full;      oper full; }
                server          { everyone full; }
                away            { everyone full; }
                oper            { everyone limited;     self full;      oper full; }
                secure          { everyone limited;     self full;      oper full; }
                bot             { everyone full; }
                services        { everyone full; }
                reputation      { everyone none;        self limited;      oper full; }
                geo             { everyone none;        self limited;      oper full; }
                certfp          { everyone none;        self limited;      oper full; }
                shunned         { everyone none;        self limited;      oper full; }
                account         { everyone full; }
                swhois          { everyone full; }
                idle            { everyone limited;     self full;      oper full; }
        }
}

Hide idle time: set::hide-idle-time::policy [never | always | usermode | oper-usermode ];

This is a privacy setting which configures the visibility of "idle time" of users:

  • never: never hide idle time, the idle time is always shown to everyone
  • always: always hide idle time
  • usermode: show idle time, but hide idle time if user mode +I is set (uppercase letter i).
  • oper-usermode: same as previous, but only IRCOps can set the +I user mode to hide idle time.

In all cases, IRCOps can still see idle time of users.

Note that even if you are allowed to see idle time, /WHOIS Nick will never show idle time for users on another server. This is a technical limitation (the idle time is not communicated actively across servers). If you want to see the idle time of a remote user you need to double whois: /WHOIS Nick Nick. Some clients do the latter by default in popups.

set { 
    hide-idle-time { 
    policy oper-usermode; } 
}

This setting only exists in UnrealIRCd 6

Enable or disable colors in server notices (to snomasks). The default is yes. You can change it to no if you don't want these colors.

This sets the (default) setting for all IRCOps on this server. You can tweak individual IRCOp settings through the server-notice-colors setting in the Oper block.

oper DeviL {
        mask *@*;
	    password "$argon2id$v=19$m=8192,t=3,p=2$86M+fEhBREmTHbmgK0NUnnUL9As" { argon2; };
	    class opers;
	    operclass netadmin-with-override;
            maxlogins 2;
	    swhois "is SiSrv staff";
	    vhost staff.sisrv.net;
            server-notice-colors yes;
};

Test your config and restart the IRC server

Once you have done the config changes of above all should be good, so now it's time to test and run the new UnrealIRCd 6:

Go to your ~/unrealircd/ directory (or wherever you installed UnrealIRCd to) and run:

./unrealircd configtest

This will tell you if there are any (remaining) errors. If all looks good then you can boot UnrealIRCd 6:

./unrealircd restart

Third party modules

As said, if you use any third party modules, then you may have to ask the author to update them for UnrealIRCd 6.

If (all) your third party modules have already been updated for use in UnrealIRCd 6 by the author(s), and they are in the unrealircd module repository, then the upgrade should be seemless and not require you to do anything special. When you install (or upgrade) UnrealIRCd they are upgraded automatically.

Restart the IRCd to make the changes effective:

cd /home/xxx/unrealircd
./unrealircd restart
  • unrealircd 6, upgrade unrealircd 5, upgrade unrealircd, upgrade unrealircd 6
  • 18 Els usuaris han Trobat Això Útil
Ha estat útil la resposta?

Articles Relacionats

Upgrading from UnrealIRCd 4 to UnrealIRCd 5

Upgrading from UnrealIRCd 4.x to UnrealIRCd 5.x is really easy, there are almost no configuration...

How to install UnrealIRCd modules

UnrealIRCd has a module manager which allows you to install, update and uninstall 3rd party...

UnrealIRCd FAQ

Is UnrealIRCd suitable for me? UnrealIRCd is a highly advanced and customizable IRC daemon. It...

How to install UnrealIRCd 5

To install UnrealIRCd on Linux, FreeBSD, OpenBSD, OS X and other *NIX systems you generally...

How to link Unrealircd servers

This page explains how to link two (or more) UnrealIRCd servers securely so you have a...

Powered by WHMCompleteSolution