mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-27 09:46:39 +02:00
550 lines
10 KiB
Plaintext
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
|