Anope with Standardbot config:
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7001
password = "********"
}
serverinfo
{
name = "service.mynetwork"
description = "Services for Dudes IRC Network"
#localhost = "nowhere."
#id = "00A"
pid = "services.pid"
motd = "services.motd"
}
module { name = "unreal" }
networkinfo
{
networkname = "Dudes-Network"
nicklen = 31
userlen = 10
hostlen = 64
}
options
{
passlen = 32
#userkey1 = 9866235
#userkey2 = 8362013
#userkey3 = 2362899
#nobackupokay = yes
strictpasswords = yes
badpasslimit = 5
badpasstimeout = 1h
updatetimeout = 5m
expiretimeout = 30m
readtimeout = 5s
warningtimeout = 4h
timeoutcheck = 3s
keepbackups = 3
forceforbidreason = no
#useprivmsg = yes
#usestrictprivmsg = yes
#hidestatso = yes
#nickregdelay = 30
#restrictopernicks = yes
#newscount = 3
#ulineservers = "stats.your.network"
mlock = "+nrt"
nomlock = "z"
botmodes = "ao"
retrywait = 60
hideprivilegedcommands = no
}
include
{
type = "file"
name = "botserv.example.conf"
}
include
{
type = "file"
name = "chanserv.example.conf"
}
include
{
type = "file"
name = "global.example.conf"
}
include
{
type = "file"
name = "hostserv.example.conf"
}
include
{
type = "file"
name = "memoserv.example.conf"
}
include
{
type = "file"
name = "nickserv.example.conf"
}
include
{
type = "file"
name = "operserv.example.conf"
}
log
{
target = "services.log"
#target = "services.log #services"
#source = ""
logage = 7
inhabitlogchannel = yes
admin = "operserv/*"
override = "chanserv/* nickserv/* memoserv/set botserv/* ~botserv/set"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe */forbid nickserv/getpass */drop"
}
opertype
{
name = "Helper"
commands = "hostserv/*"
}
opertype
{
name = "Services Operator"
inherits = "Helper, Another Helper"
commands = "chanserv/list chanserv/suspend chanserv/status chanserv/topic memoserv/staff nickserv/sendpass nickserv/resetpass nickserv/suspend operserv/mode operserv/chankill operserv/szline operserv/akill operserv/session operserv/modlist operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svsnick operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
oper
{
name = "Dude"
type = "Services Root"
}
dns
{
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
timeout = 5
}
module { name = "db_plain" }
db_plain
{
database = "anope.db"
}
module { name = "enc_md5" }
UnrealIRCD conf:
loadmodule "modules/commands.so";
//loadmodule "modules/cloak.so";
loadmodule "modules/hidehost.so";
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";
me
{
name "irc.mynetwork";
info "mynetwork IRC Server";
numeric 1;
};
admin {
"Dude";
};
class clients
{
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};
class servers
{
pingfreq 90;
maxclients 10; /* Wieviele Servers können gleichzeitig gelinkt sein */
sendq 1000000;
connfreq 100; /* Wieviele Sekunden zwischen jedem Verbindungsversuch */
};
allow {
ip *@*;
hostname *@*;
class clients;
maxperip 5;
};
oper dude {
class clients;
from {
userhost *@*;
};
password "**************";
flags
{
netadmin;
can_zline;
can_gzline;
can_gkline;
};
swhois "server-x@mynetwork";
};
listen *:6697
{
options
{
ssl;
clientsonly;
};
};
listen *:8067;
listen *:6667;
drpass {
restart "*******************";
die "**********************";
};
log "ircd.log" {
maxsize 2097152;
flags {
oper;
kline;
connects;
server-connects;
errors;
sadmin-commands;
chg-commands;
oper-override;
spamfilter;
};
};
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };
alias "services" {
format "^#" {
target "chanserv";
type services;
parameters "%1-";
};
format "^[^#]" {
target "nickserv";
type services;
parameters "%1-";
};
type command;
};
alias "identify" {
format "^#" {
target "chanserv";
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
target "nickserv";
type services;
parameters "IDENTIFY %1-";
};
type command;
};
tld {
mask *@*;
motd "mynetwork.motd";
rules "mynetworkrulz.txt";
};
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reserviert für Services";
};
ban ip {
mask 195.86.232.81;
reason "Server nicht mehr gelinkt";
};
ban user {
mask *tirc@*.saturn.bbn.com;
reason "Idiot";
};
ban realname {
mask "Swat Team";
reason "mIRKFORCE";
};
ban realname {
mask "sub7server";
reason "sub7";
};
deny dcc {
filename "*sub7*";
reason "Möglicherweise Sub7 Virus";
};
vhost {
vhost i.hate.microsefrs.com;
from {
userhost *@*.image.dk;
};
login stskeeps;
password moocowsrulemyworld;
};
/* Network configuration */
set {
network-name "irc.mynetwork";
default-server "irc.mynetwork";
services-server "service.mynetwork";
stats-server "irc.mynetwork";
help-channel "#dudes-network";
hiddenhost-prefix "mynetwork";
/* prefix-quit "no"; */
/* Cloak keys müssen angegeben sein und sie müssen die selben auf allen Servern
* im Netzwerk sein. Sie werden zur Generierung der maskierten Hosts verwendet
* und sie sollten geheim gehalten werden.
* Die Keys sollten 3 zufällige Strings von 5-100 Zeichen Länge sein (10-20 Zeichen
* (sind ganz ok) und müssen aus Kleinbuchstaben(a-z), Großbuchstaben (A-Z) und
* Ziffern (0-9) bestehen [wie im ersten Key Beispiel].
* TIPP: Auf *NIX, kann man in der Shell './unreal gencloak' aufrufen und durch
* Unreal 3 Zufalls Stings erzeugen und anzeigen lassen.
*/
cloak-keys {
"1886*****";
"1707*****";
"5285*****";
};
/* on-oper Host */
hosts {
local "mynetwork";
global "mynetwork";
coadmin "mynetwork";
admin "mynetwork";
servicesadmin "mynetwork";
netadmin "mynetwork";
host-on-oper-up "no";
};
};
/* Server spezifische Configuration */
set {
kline-address "admin@mynetwork";
modes-on-connect "+ixw";
modes-on-oper "+xwgs";
oper-auto-join "#w3-opers";
options {
hide-ulines;
/* Man kann hier ident checking aktivieren, wenn man will */
/* identd-check; */
show-connect-info;
};
maxchannelsperuser 10;
/* Die Mindestzeit, die ein User verbunden sein muss, bevor er eine QUIT Meldung
* senden darf (Das wird offentlich helfen, Spam zu verhindern) */
anti-spam-quit-message-time 10s;
/* Macht die Meldung statisch, die in allen Quit Meldungen angezeigt wird.
Somit sind keine individuellen Quts auf dem lokalen Server mehr erlaubt */
/* static-quit "Client quit"; */
/* Man kann auch sämtliche Part Meldungen blocken, indem man dies auskommentiert
und 'yes' sagt oder einen anderen Text angibt (z.B. "Bye bye!")
static-part yes; */
/* Hiermit kann man bestimmte stats auf ausschliesslich Opers beschränken. Für
* alle Stats kann man * benutzen. Wenn man es weglässt, können alle User alle
* Stats abfragen. Eine vollständige Liste erhält man mit dem Befehl '/stats'.
* Manche Admins entfernen 'kGs' und erlauben so normalen Usern die Anzeige von
* klines, glines and shuns.
*/
oper-only-stats "*******";
//services-server "service.mynetwork";
/* Throttling: Dieses Beispiel setzte ein Limit von 3 Verbindungen je 60s (pro Host). */
/*
throttle {
connections 3;
period 30s;
};
*/
/* Anti Flood Schutz */
anti-flood {
nick-flood 3:30; /* 3 Nickänderungen pro 30 Sekunden (Default) */
};
/* Spam Filter */
spamfilter {
ban-time 1d; /* Default Dauer eines *line Banns durch Spamfilter */
ban-reason "Spam/Belästigung"; /* default Grund */
virus-help-channel "#help"; /* Channel, der für die 'viruschan' action benutzt wird*/
/* except "#help"; Channel, der von Filtern ausgenommen wird */
};
ipv4_mask 3; /* # of ipv4 octets to cloak. 1 - 4. */
};
listen 7001
{ options
{
serversonly; //keep this! We'll need it for Anope!
};
};
/*
ulines {
service.mynetwork;
};
shared {
name = "service.mynetwork";
type = all;
};
*/
link service.mynetwork
{
username *;
hostname *;
bind-ip *;
port 7001;
hub *;
password-connect "****";
password-receive "****";
class servers;
};