1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 18:03:13 +02:00

+- Fixed Osiris's broken example.conf

This commit is contained in:
stskeeps
2001-08-03 06:06:16 +00:00
parent c1edf8265f
commit a4c2faf453
2 changed files with 410 additions and 356 deletions
+1
View File
@@ -768,3 +768,4 @@ seen. gmtime warning still there
- Added more network files
- Fixed some typos in s_conf.c
- Fixed a win32 bug where /restart didn't remove the tray icon, reported by PHANTOm and Gilou
- Fixed Osiris's broken example.conf
+409 -356
View File
@@ -1,143 +1,158 @@
/* example.conf
----UPDATED VERSION----
For UnrealIRCd 3.2+
By: Daniel Hawton
Email: osiris@unrealircd.org
Nick: Osiris
Date: 07/01
/*
* example.conf by Daniel Hawton AKA Osiris (osiris@unrealircd.org) Last
* updated 2. August
*
* Works for Unreal3.2 and up
*
* 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.
*
* NOTE: All lines, except the opening { line, end in an ;, including the
* closing } line. The IRCd will ignore commented lines.
*/
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
/* Type of comments */
#Comment type 1 (Shell type)
// Comment type 2(C++ style)
/* Comment type 3 (C Style) */
#those lines are ignored by the ircd.
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.
*/
// 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 {
me
{
name "irc.foonet.com";
info "FooNet Server";
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]
// };
/*
* 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);
// };
/*
* NEW: class {}
* OLD: Y:line (old was confusing)
* These define settings for classes. A class is a group setting for
* connections. Example, 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
class clients
{
pingfreq 90;
maxclients 500;
sendq 100000;
};
class servers
class servers
{
pingfreq 90;
maxclients 1;
maxclients 10; /* Max servers we can have linked at a time */
sendq 1000000;
connfreq 100; /* How many seconds between each connection attempt */
};
// 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);
// };
/*
* 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 mask to allow);
* hostname (host mask);
* class (class to send them to [see class {}]);
* password "(password)"; (optional)
* maxperip (how many connections per ip); (optional)
* };
*/
allow {
ip *;
hostname *;
class clients;
password "f00Ness";
maxperip 3;
ip *;
hostname *;
class clients;
maxperip 5;
};
// 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 {
/* Passworded allow line */
allow {
ip *@*;
hostname *@*.passworded.ugly.people;
class clients;
password "f00Ness";
maxperip 1;
};
/*
* NEW: allow channel {}
* OLD: chrestrict
* 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*);
// };
// };
/*
* NEW: oper {}
* OLD: O:Line
* Defines an IRC Operator
* 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*);
* };
* OR
* flags "old type flags, like OAaRD";
* };
*/
/* OLD OPER FLAG | NEW FLAG NAME
O global
o local
@@ -169,10 +184,10 @@ allow channel {
H get_host
*/
oper bobsmith {
class clients;
from {
userhost bob@smithco.com;
oper bobsmith {
class clients;
from {
userhost bob @ smithco.com;
};
password "f00";
flags
@@ -181,23 +196,26 @@ oper bobsmith {
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);
*
* NOTICE: for ipv6 ips (3ffe:b80:2:51d::2 etc), use listen [ip]:port;
*
* That works also.
*/
// 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
@@ -207,38 +225,41 @@ oper bobsmith {
* standard
*/
listen *:6601
listen *:6601
{
options
{
ssl;
serversonly;
};
options
{
ssl;
clientsonly;
};
};
listen *:8067;
listen *:6600;
listen *:8067;
listen *:6667;
/*
* 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*);
* };
* };
*/
// 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
@@ -248,74 +269,76 @@ listen *:6600;
N/A quarantine
*/
link hub.mynet.com
link hub.mynet.com
{
username *;
hostname 1.2.3.4;
bind-ip *;
port 7029;
hub *;
password-connect "LiNk";
password-receive "LiNk";
class servers;
options {
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.
/*
*
* 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)";
// };
/*
* 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";
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..
// };
// };
/*
* 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" {
log "ircd.log" {
flags {
oper;
kline;
@@ -326,70 +349,90 @@ log "myircd.log" {
};
};
// 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)";
// };
/*
* 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)";
// };
/*
* 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)"; };
*/
// 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"; };
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)";
* };
*/
// 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";
@@ -400,150 +443,160 @@ ban realname {
reason "sub7";
};
// NOTE FOR ALL BANS, they may be repeated for addition entries!
/*
* 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 except ban {} as many times
* as you want for different hosts.
*/
// 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.*;
/* 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.
/*
* NEW: except socks {}
* OLD: e:Line
* Makes it so ircd doesn't check you for
* socks syntax:
* except socks { mask (ip number/hostmask); }; r
* repeat except socks {} for each ip to except.
*/
except socks {
mask 216.73.27.177;
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";
// };
/*
* NEW: deny dcc {}
* OLD: dccdeny.conf
* 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";
// };
/*
* 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
/*
* 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;
vhost i.hate.microsefrs.com;
from {
userhost *@*.image.dk;
userhost *@*.image.dk;
};
login stskeeps;
password techie;
login stskeeps;
password moocowsrulemyworld;
};
/* 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
/* include "klines.conf"; */
/*
* Cloak-keys must be > 10000, and random. MUST be the same all over the
* network
*
* cloak-keys { 9999; 9998; 9997; }; 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";
services-server "services.roxnet.org";
stats-server "stats.roxnet.org";
help-channel "#ROXnet";
hiddenhost-prefix "rox";
prefix-quit "no";
cloak-keys {
10000;
20000;
30000;
9666;
3333;
3330;
};
/* 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";
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";
kline-address "set.this.email";
modes-on-connect "+xw";
oper-auto-join "#opers";
dns {
nameserver 127.0.0.1;
timeout 2s;
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
};
/*
* Need more help ?
* 1) Read the documentation like this file
* 2) Come to irc.ircsystems.net #Unreal-Support
* 3) Mail supporters@lists.unrealircd.org
*
* Hope this helps you, -Osiris
*/