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.