unrealircd

Diese Konfiguration funktioniert mit Unrealircd 3.2.5 und ist eher für den PrivatIRCServer gedacht.
/*
 *
 * Filename:  unrealircd.conf
 * Created:   24.05.2006
 * Build for: remetter.de
 *
 */

/* Server Info */
me
{
        name "hostname.domain.tld";
        info "domain.tld IRC Network";
        numeric 121;
};

/* Admin Info */
admin {
        "Vorname Nachname";
        "mail@domain.tld";
};


/* Classes */
class clients {
        pingfreq 90;
        maxclients 245;
        sendq 100000;
        recvq 32000;
};

class servers {
        pingfreq 300;
        connfreq 600;
        maxclients 5;
        sendq 1000000;
};

/* Allow info */
allow {
        ip "*@*";
        hostname "*@*";
        class clients;
        maxperip 5;
};

allow channel {
        channel "#chat";
        channel "#help";
};

/* vhost */
vhost {
        vhost "foo.domain.tld";
        from {
                userhost user@hostname.domain.tld;
        };
        login name;
        password vhostpw;
        //{ <auth-type>; };
        //swhois "<swhois info>";
};

/* Die/Restart Password */
drpass {
        die "diepw";
        restart "restartpw";
};

/* oper */
oper name {
        class clients;
        from {
                userhost user@hostname.domain.tld;
        };
        password "operpw";
        flags {
                netadmin;
                global;
                admin;
                can_override;
                can_gkline;
        };
};

/* country specific stuff */
tld {
        mask *;
        motd "/etc/unreal/ircd.motd";   /* Where to find the MOTD (Message Of The Day) file */
        rules "ircd.rules"; /* Where to find the RULES file (can be accessed with /RULES) */
};

/* Ulines */
//ulines {
//      services.domain.tld;
//      stats.domain.tld;
//};

// alias block
//include "aliases/genericstats.conf";
//include "aliases/anope.conf";

/* Banned nick/user names */
ban nick { mask "*C*h*a*n*S*e*r*v*"; reason "Reserved for services"; };
ban nick { mask "*N*i*c*k*S*e*r*v*"; reason "Reserved for services"; };
ban nick { mask "*M*e*m*o*S*e*r*v*"; reason "Reserved for services"; };
ban nick { mask "*H*e*l*p*S*e*r*v*"; reason "Reserved for services"; };
ban nick { mask "*O*p*e*r*S*e*r*v*"; reason "Reserved for services"; };
ban nick { mask "*I*n*f*o*S*e*r*v*"; reason "Reserved for services"; };
ban nick { mask "*S*t*a*t*S*e*r*v*"; reason "Reserved for Services"; };
ban nick { mask "*N*e*o*S*t*a*t*s*"; reason "Reserved for Services"; };
ban nick { mask "*Admin*"; reason "Reserved for Administrator"; };
ban nick { mask "*IRC*op*"; reason "Reserved for ircops"; };
ban nick { mask "*Oper*"; reason "Reserved for ircops"; };
ban nick { mask "Status"; reason "Bug in mIRC"; };
ban user { mask "*root@*"; reason "User not allowed"; };
ban user { mask "*Administrator@*"; reason "User not allowed"; };

/*
 * Include files
 */
include "badwords.channel.conf";
//include "badwords.message.conf";
//include "badwords.quit.conf";
//include "spamfilter.conf";
include "/etc/unreal/help.conf";

/*
 * Some modules;
 */
loadmodule "/usr/lib/unreal/modules/commands.so";
loadmodule "/usr/lib/unreal/modules/cloak.so";

/* Ports */
listen *:6667;
//listen *:6668 {
//      options {
//              ssl; /* Port is available to accept SSL connections */
//              clientsonly; /* Port can only have clients connect to it */
//      };
//};

/* Logs */
log "/var/log/unreal/ircd.log" {
        /* Delete the log file and start a new one when it reaches 2MB, leave this out to always use the
           same log */
        maxsize 2097152;
        flags {
                oper;
                kline;
                connects;
                server-connects;
                kills;
                errors;
        };
};

/* Links */
//link stats.domain.tld {
//        username *;
//        hostname 127.0.0.1;
//        bind-ip 127.0.0.1;
//        port *;
//        password-connect linkpw;
//        password-receive linkpw;
//        hub *;
//        class servers;
//};
//link services.domain.tld {
//        username        *;
//        hostname        localhost;
//        bind-ip         *;
//        port            6667;
//        hub             *;
//        password-connect "linkpw";
//        password-receive "linkpw";
//        class           servers;
//};

/* deny */
deny channel {
        channel "*";
        reason "this channelname is not allowed";
};

/* Network configuration */
set {

        network-name            "ircnet";
        default-server          "irc.domain.tld";
        services-server         "services.domain.tld";
        stats-server            "stats.domain.tld";
        help-channel            "#help";
        hiddenhost-prefix       "hidden";
        prefix-quit             "no";

        cloak-keys {
               "a2JO6fh3Q6w4oN3s7";
               "Shfid6sfw3gqG8If";
               "sdh3iAe2QH7UfdNsh";
        };

        /* on-oper host */
        hosts {
                local           "locop.domain.tld";
                global          "ircop.domain.tld";
                coadmin         "coadmin.domain.tld";
                admin           "admin.domain.tld";
                servicesadmin   "csops.domain.tld";
                netadmin        "netadmin.domain.tld";
                host-on-oper-up "yes";
        };

        dns {
                nameserver xxx.xxx.xxx.xxx;
                timeout 5s;
                retries 5s;
        };

        /* Anti Flood Schutz */
        anti-flood {
                nick-flood 3:60;        /* 3 Nickaenderungen pro 60 Sekunden (Default) */
                away-flood 5:60;        /* limits /away to 'count' changes per 'period' seconds. */
        };

        throttle {
                connections 3;
                period 60s;
        };

        /* Nick Character Sets */
        allowed-nickchars {
                latin1;
        };

        maxchannelsperuser 10;
        kline-address admin@domain.tld;
        auto-join "#chat";

        modes-on-join "+n";
        oper-only-stats "*";

        //modes-on-oper  "+xwgs";
        //modes-on-connect "+xwG";
        //restrict-usermodes "G";
        //restrict-channelmodes "G";
        restrict-usermodes "s";

};

Es lassen sich sogenannte badwords definieren, die im Chat dann z.B. entsprechend ersetzt werden:
/* badwords.channel.conf */
badword channel {
        word "startkeylogger";
        replace "_ich bin doof_";
        action replace;
};

Mittels help.conf kann man eine eigene Hilfe für die Benutzer erstellen:
/* help.conf */
help {
        "Folgende Kommandos stehen derzeit zur Verfuegung:";
        "/helpop commands";
};
help commands {
        "uebliche irc-befehle:";
        " /nick <nickname>            - aendert deinen Nick";
        " /list                       - ruft die Channel Liste auf";
        " /join #channel              - Channel betreten";
        " /part                       - Channel verlassen";
        " /quit                       - Server verlassen";
        " /topic #channel neues Topic - neues Topic setzen";
};
Die Hilfe lässt sich im Chat via '/help' aufrufen.

© 2001 - 2017 Frank Remetter