Unreal-IRC-Server - Unrealircd installieren (Teil 8)
Gliederung:
- Die Einleitung
- Die Konfigurationsdaten
- Downloaden und entpacken der benötigten Daten
- mySQL 4.0.26
- Lighttpd 1.4.10
- PHP 5.1.6
- phpMyAdmin 2.8.0 (webinstall)
- Unrealircd 3.2
- Anope 1.7.13
- Denora 1.2 RC 2
- phpdenora 3.2
- Einweisung in die gängigen IRC-Befehle für OPs und die Bots
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
##############################################
speicherst sie als unrealircd.conf im /srv/unreal/-Verzeichnis
# 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;
};
};
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.

