1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-27 09:46:39 +02:00
Files
unrealircd/doc/example.conf
T
2001-07-18 07:57:33 +00:00

550 lines
10 KiB
Plaintext

/* example.conf
----UPDATED VERSION----
For UnrealIRCd 3.2+
By: Daniel Hawton
Email: osiris@unrealircd.org
Nick: Osiris
Date: 07/01
Based on irc.fyremoon.net's unrealircd.conf file
By: Stskeeps
Okay guys. This is the new example.conf.
Its look is much like C++, kinda. Anyway
it is time to go over this. It's hard to pick
up at first, but with some pratice and reading
you'll understand.
-Osiris
NOTE: All lines, except the opening { line,
end in an ;, including the closing } line.
Commented lines use #, c++ style //, or C /* *//
The IRCd will ignore commented lines.
*/
// NEW: me {}
// OLD: M:Line
// me {} defines the name, description and unreal
// server numeric for this server.
// Syntax is as follows:
// me {
// name "server.name";
// info "Server Description";
// numeric (server numeric*);
// };
// * If linking, this numeric may not be used by any
// other server on the network.
//
me {
name "irc.foonet.com";
info "FooNet Server";
numeric 1;
};
// NEW: admin {}
// OLD: A:Line
// Admin gives information on the server admin.
// you may put as many lines under admin { as you
// wish.
// Syntax is as follows:
// admin {
// "first line";
// "second line";
// [etc]
// };
admin {
"Bob Smith";
"bob";
"widely@used.name";
};
// NEW: class {}
// OLD: Y:line (old was was confusing)
// These define settings for classes.
// A class is a group setting for connections.
// Example, a server connections, instead of going
// to a client's class, you direct it to the server
// class.
// Syntax is as follows
// class (class name)
// {
// pingfreq (how often to ping a user/server in seconds);
// maxclients (how many connections for this class);
// sendq (maximum send queue from a connection);
// };
class clients
{
pingfreq 90;
maxclients 500;
sendq 100000;
};
class servers
{
pingfreq 90;
maxclients 1;
sendq 1000000;
};
// NEW: allow {}
// OLD: I:Line
// This defines allowing of connections...
// Basically for clients, it allows them to connect
// so you can have some control and/or set a password.
// Syntax is as follows:
// allow {
// ip (ip to allow);
// hostname (hostname);
// class (class to send them to [see class {}];
// password "(password)"; <- OPTIONAL
// maxperip (how many connections per ip);
// };
allow {
ip *;
hostname *;
class clients;
password "f00Ness";
maxperip 3;
};
// NEW: allow channel {}
// OLD: N/A (NEW)
// Allows a user to join a channel... like an except from
// deny channel.
// Syntax:
// allow channel {
// channel "channel name";
// };
allow channel {
channel "#WarezSucks";
};
// NEW: oper {}
// OLD: O:Line
// Defines an IRC Operator (or also cops, basically)
// IRC operators are there to keep sanity to the server
// and usually keep it maintained and connected to the network.
// The Syntax is as follows:
// oper (login) {
// class (class to put them in, if different from I, moves them to new class);
// from {
// userhost (ident@host);
// userhost (ident@host);
// };
// flags
// {
// (flags here*);
// };
// };
/* OLD OPER FLAG | NEW FLAG NAME
O global
o local
a services-admin
A admin
r can_rehash
E eyes
D can_die
R can_restart
h helpop
w can_wallops
g can_globops
c can_localroute
L can_globalroute
k can_localkill
K can_globalkill
b can_kline
B can_unkline
n can_localnotice
G can_globalnotice
N netadmin
T techadmin
C coadmin
u get_umodec
f get_umodef
z can_zline
W get_umodew
^ can_stealth
H get_host
*/
oper bobsmith {
class clients;
from {
userhost bob@smithco.com;
};
password "f00";
flags
{
netadmin;
global;
};
};
// NEW: listen {}
// OLD: P:Line
// This defines a port for the ircd
// to bind to, to allow users/servers
// to connect to the server.
// Syntax is as follows:
// listen (ip number):(port number)
// {
// options
// {
// (options here);
// };
// };
// or for a plain listen:
// listen (ip):(port);
// That works also.
/* Options for listen:
OLD | NEW
S serversonly
C clientsonly
J java
s ssl
* standard
*/
listen *:6601
{
options
{
ssl;
serversonly;
};
};
listen *:8067;
listen *:6600;
// NEW: link {}
// OLD: C/N:Lines
// This defines an okay for a server connection.
// NOTE: BOTH SERVERS NEED A LINK {} SETTING TO CONNECT PROPERLY!
// Syntax is as follows:
// link (server name)
// {
// username (username, * works too);
// hostname (ip number/hostmask);
// bind-ip (What IP to bind to when connecting, or *);
// port (port to connect to, if any);
// hub (If this is a hub, * works, or servermasks it may bring in);
// [or leaf *;]
// password-connect "(pass to send)";
// password-receive "(pass we should recieve)";
// class (class to direct servers into);
// options {
// (options here*);
// };
// };
/*
options:
OLD | NEW
S ssl
Z zip
N/A autoconnect
N/A quarantine
*/
link hub.mynet.com
{
username *;
hostname 1.2.3.4;
bind-ip *;
port 7029;
hub *;
password-connect "LiNk";
password-receive "LiNk";
class servers;
options {
autoconnect;
ssl;
zip;
};
};
// NEW: ulines {}
// OLD: U:Line
// Lets these server's clients do pretty much anything.
// Syntax is as follows:
// ulines {
// (server to uline);
// (server to uline);
// };
// You may put as many servers in there as you like.
ulines {
services.roxnet.org;
stats.roxnet.org;
};
// NEW: drpass {}
// OLD: X:Line
// This defines the passwords for /die and /restart.
// Syntax is as follows:
// drpass {
// restart "(password for restarting)";
// die "(password for die)";
// };
drpass {
restart "I-love-to-restart";
die "die-you-stupid";
};
// NEW: log {}
// OLD: N/A
// Tells the ircd where and what to log(s).
// You can have as many as you wish.
//
// FLAGS:
// errors kills tkl
// connects server-connects kline
// oper
//
// NOTICE: Right now, SEGV messages are *always*
// sent to ircd.log. codemastr is working on a way
// to redirect the messages to this log file.
// Syntax:
// log "log file" {
// flags {
// flag;
// flag;
// etc..
// };
// };
log "myircd.log" {
flags {
oper;
kline;
connects;
server-connects;
kills;
errors;
};
};
// NEW: tld {}
// OLD: T:Line
// This sets a different motd and rules files
// depending on the clients hostmask.
// Syntax is as follows:
// tld {
// mask (ident@host);
// motd "(motd file)";
// rules "(rules file)";
// };
tld {
mask *@*.fr;
motd "ircd.motd.fr";
rules "ircd.rules.fr";
};
// NEW: ban nick {}
// OLD: Q:Line
// Bans a nickname, so it can't be used.
// Syntax is as follows:
// ban nick {
// mask "(nick to ban)";
// reason "(reason)";
// };
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reserved for Services";
};
// NEW: ban ip {}
// OLD: Z:Line
// Bans an ip from connecting to the network.
// Syntax:
// ban ip { mask (ip number/hostmask); reason "(reason)"; };
ban ip { mask 195.86.232.81; reason "Delinked server"; };
// NEW: ban server {}
// OLD: Server Q:Line
// Disables a server from connecting to you.
// Syntax is as follows:
// ban server {
// mask "(server name)";
// reason "(reason to give)";
// };
ban server {
mask eris.berkeley.edu;
reason "Get out of here.";
};
// NEW: ban user {}
// OLD: K:Line
// This makes it so a user from a certain mask can't connect
// to your server.
// Syntax:
// ban user { mask (hostmask/ip number); reason "(reason)"; };
ban user { mask *tirc@*.saturn.bbn.com; reason "Idiot"; };
// NEW: ban realname {}
// OLD: n:Line
// This bans a certain realname from being used.
// Syntax:
// ban realname {
// mask "(real name)";
// reason "(reason)";
// };
ban realname {
mask "Swat Team";
reason "mIRKFORCE";
};
ban realname {
mask "sub7server";
reason "sub7";
};
// NOTE FOR ALL BANS, they may be repeated for addition entries!
// NEW: except ban {}
// OLD: E:Line
// This makes it so you can't get banned.
// Syntax:
// except ban {
// mask (ident@host);
// };
// Repeat the mask line as many times as you want for different hosts.
except ban {
// don't ban stskeeps
mask *stskeeps@212.*;
};
// NEW: except socks {}
// OLD: e:Line
// Makes it so ircd doesn't check you for socks
// syntax:
// except socks {
// mask (ip number/hostmask);
// };
// repeat mask for each ip to except.
except socks {
mask 216.73.27.177;
};
// NEW: deny dcc {}
// OLD: N/A (NEW)
// Use this to block dcc send's... stops viruses
// better.
// Syntax:
// deny dcc {
// filename "file to block (ie, *exe)";
// reason "reason";
// };
deny dcc {
filename "*sub7*";
reason "Possible Sub7 Virus";
};
// NEW: deny channel {}
// OLD: N/A (NEW)
// This blocks channels from being joined.
// Syntax:
// deny channel {
// channel "(channel)";
// reason "reason";
// };
deny channel {
channel "*warez*";
reason "Warez is illegal";
};
// NEW: vhost {}
// OLD: Vhost.conf file
// This sets a fake ip for non-opers, or opers too lazy to
// /sethost :P
// Syntax:
// vhost {
// vhost (vhost.com);
// from {
// userhost (ident@host to allow to use it);
// };
// login (login name);
// password (password);
// };
// then to use this vhost, do /vhost (login) (password) in IRC
vhost {
vhost i.hate.microsefrs.com;
from {
userhost *@*.image.dk;
};
login stskeeps;
password techie;
};
/* You can include other configuration files */
// include "klines.conf";
// Cloak-keys must be > 10000, and the field must be bigger
// then the field before it.
// cloak-keys {
// 10000;
// 20000;
// 30000;
// }; for example
// Network configuration
set {
network-name "ROXnet";
default-server "irc.roxnet.org";
services-server "services.roxnet.org";
stats-server "stats.roxnet.org";
help-channel "#ROXnet";
hiddenhost-prefix "rox";
prefix-quit "no";
cloak-keys {
10000;
20000;
30000;
};
/* on-oper host */
hosts {
local "locop.roxnet.org";
global "ircop.roxnet.org";
coadmin "coadmin.roxnet.org";
admin "admin.roxnet.org";
servicesadmin "csops.roxnet.org";
techadmin "techadmin.roxnet.org";
netadmin "netadmin.roxnet.org";
host-on-oper-up "no";
};
};
/* Server specific configuration */
set {
kline-address "stskeeps@roxnet.org";
modes-on-connect "+xwG";
oper-auto-join "#opers";
dns {
nameserver 127.0.0.1;
timeout 2s;
retries 2s;
};
options {
enable-opermotd;
enable-chatops;
hide-ulines;
webtv-support;
identd-check;
};
socks {
ban-message "Insecure SOCKS server";
quit-message "Insecure SOCKS server";
ban-time "4d";
};
maxchannelsperuser 10;
};
// Need more help? 1) Read the documentation like this file
// 2) Come to irc.fyremoon.net #UnrealIRCd
// To contact me, do #2 and/or email me: osiris@unrealircd.com
//
// Hope this helps you,
// -Osiris