Banner robo47.net

Unreal-IRC-Server - Unrealircd installieren (Teil 8)

Gliederung:

Unrealircd 3.2

Unrealircd

Der IRC-Server selbst!

So jetzt fangen wir mal an unseren IRC-Server selbst aufzusetzen. cd /src/Unreal3.2
mkdir /srv/unreal
./Config

Zu den Fragen:
server anti-spoof protection -> Yes

server configuration files -> /srv/unreal

binary -> /srv/unreal/irc_unrealircd

Hub or Leaf -> Hub

hostname -> entweder steht der richtige schon da, oder man muss ihn halt selbst eingeben

permissions for your configuration files -> 0600

ssl -> no

IPv6 support -> no

ziplinks support -> no

remote includes -> no


prefixes für admin and owner -> yes

backlog -> 5

nickname history -> 2000

sendq -> 1500000

buffer pools -> 18

fire descriptors -> 1024
any more parameters -> leer lassen


Dann heißt es warten bis es durchgelaufen ist und weiter mit: make
make install
make clean
adduser irc-unreal
chown -R irc-unreal:irc-unreal /srv/unreal/

Dann nehmen wir uns die Beispiel-Config: http://www.chatterportal.de/index.php?section=unrealircd_anleitung3 und passen sie an
##############################################
# Creavix.org IRCD Konfiguration by Andre #
##############################################


// Jetzt gehen wir paar Zeilen runter und editieren die ME:Block
me {
    name "irc.robo47.net";
    info "Robo47 IRC Network";
    numeric 1;
};

// Im Admin Block stehen z.B. deine Opers
admin {
    "Operators:";
    "Robo47 (robo47@robo47.net)";
};

// class Blöcke definieren Verbindungs Klassen|-
class clients
{
    pingfreq 90;
    maxclients 500;
    sendq 100000;
    recvq 4000;
};

class servers
{
    pingfreq 90;
    maxclients 10;
    sendq 1000000;
    connfreq 100;
};

// In Allow Blöcken wird angegeben, wer zum Server connecten darf.
allow {
    ip *;
    hostname *;
    class clients;
    maxperip 5;
};

// Jetzt kommt der Oper Block
oper Robo47 {
    class clients;
    from {
        userhost *@*;
    };
    password "xxx";
    flags
    {
    global;
    services-admin;
    can_rehash;
    can_die;
    can_restart;
    helpop;
    can_wallops;
    can_globops;
    can_localroute;
    can_globalroute;
    can_localkill;
    can_globalkill;
    can_kline;
    can_gzline;
    can_gkline;
    can_unkline;
    can_localnotice;
    can_globalnotice;
    netadmin;
    can_zline;
    get_umodew;
    get_host;
    can_override;
    };
    maxlogins "1";
};



// Der Listen Block, auf welchen Port der IRCd laufen soll
// Wobei 127.0.0.1 mit deiner IP ersetzt werden muss

listen 217.160.135.87:9999; // Client
listen 217.160.135.87:9998; // Server/Services



// Falls du Services am Laufen hast musst du Services hier eintragen
ulines {
    services.robo47.net;
    stats.robo47.net;
};

// Füge die Zeile ein, falls du Anope Services hast
include "aliases/anope.conf";
// Füge die Zeile ein, falls du ircservices Services hast
#include "aliases/ircservices.conf";

// Deine Motd, später müssen wir die Dateien erstellen
tld {
    mask *@*;
    motd "motd.conf";
    rules "rules.conf";
    opermotd "opermotd.conf";
};

// Hier werden die PW's eingestellt zum restarten und beenden
drpass {
    restart "restartpw";
    die "diepw";
};



// Mit dem Ban Nick Block können bestimmte Nicknamen
// auf dem Server gesperrt werden.
ban nick {
    mask "*C*h*a*n*S*e*r*v*";
    reason "Gesperrt";
};


//Mit dem "deny channel Block" kann man Usern das
//joinen bestimmter Channels verbieten.
deny channel {
        channel "*Warez*";
        reason "Dieser Channel ist verboten";
};



// Nun kommen wir zu Netzwerkeinstellung
set {
    network-name "Robo47";
    default-server "irc.robo47.net";
    services-server "services.robo47.net";
    stats-server "stats.robo47.net";
    help-channel "#lobby";
    hiddenhost-prefix "Robo47";
    cloak-keys {
    // Die 3 Keys müssen dürfen nicht identisch sein
    // Bei einem Server Link müssen die gleich sein
    // mit dem anderen Server
        "aoAr1HnR6gl3sJ7tVUgHrEw4YwpW";
        "aoArKlsWC456sJ7dVz4Zb7x4YwpW";
        "jKE365SR6gl3437hVz4Zb7x4YnpX";
    };
    hosts {
        local "locop.robo47.net";
        global "ircop.robo47.net";
        coadmin "coadmin.robo47.net";
        admin "admin.robo47.net";
        servicesadmin "csops.robo47.net";
        netadmin "netadmin.robo47.net";
        host-on-oper-up "no";
    };
};



set {
    allowed-nickchars {
        latin1;
    };
    kline-address "robo47@robo47.net";
    modes-on-connect "+xwG";
    modes-on-oper "+xwgs";
    restrict-usermodes "G";
    restrict-channelmodes "G";
    modes-on-join "+ntG";
    oper-auto-join "#admin";
    dns {
        nameserver 127.0.0.1;
        timeout 2s;
        retries 2;
    };
    options {
        hide-ulines;
        show-connect-info;
        show-opermotd;
        allow-part-if-shunned;
        flat-map;
        fail-oper-warn;
    };
    maxchannelsperuser 50;
    anti-spam-quit-message-time 10s;
    static-quit "Client hat die Verbindung getrennt";
    oper-only-stats "*";
    throttle {
        connections 3;
        period 60s;
    };
    anti-flood {
        nick-flood 3:60;
    };
    spamfilter {
        ban-time 1d;
        ban-reason "Spam/Advertising";
        virus-help-channel "#help";
    };
    default-bantime "0";

};

link services.robo47.net {
    username *;
    hostname 217.160.135.87;
    port 9998;
    bind-ip 217.160.135.87;
    hub *;
    password-connect "xxx";
    password-receive "xxx";
    class servers;
    options {
        autoconnect;
    };
};

link stats.robo47.net {
    username *;
    hostname 217.160.135.87;
    port 9998;
    bind-ip 217.160.135.87;
    hub *;
    password-connect "xxx";
    password-receive "xxx";
    class servers;
    options {
        autoconnect;
    };
};

// Nun binden wir noch ein paar brauchbare Module bzw. confen ein
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";
loadmodule "modules/commands.so";
loadmodule "modules/cloak.so";

// Mit dem Log Block kann man verschiedene Logfiles
// zu den unterschiedlichsten Zwecken erstellen lassen.
log ircd.log {
    maxsize 5MB;
    flags {
        errors;
        kills;
        sadmin-commands;
        chg-commands;
        oper-override;
        spamfilter;
        kline;
        tkl;
    };
};
speicherst sie als unrealircd.conf im /srv/unreal/-Verzeichnis
dann könnt ihr eure rules und motd anlegen:
motd.conf -> Message of the Day, diese Datei wird immer angezeigt wenn ihr auf euren Server connectet. empty rules.conf -> Rules, wird angezeigt wenn ihr /rules in eurem Client-Programm eingebt. empty In jede dieser Dateien könnt ihr selbst entscheiden was ihr reinschreibt.
su irc-unreal
cd /srv/unreal
touch motd.conf
touch rules.conf
touch opermotd.conf
/srv/unreal/irc_unrealircd -f /srv/unreal/unrealircd.conf
exit

Jetzt läuft auch der IRC-Server, das Kernstück unseres kleinen Packetes weiter geht es mit Anope.

Nach oben Weiter zu Anope (Teil 9)

Hoch Pfeil nach Oben