mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-25 21:06:37 +02:00
8fbb67818b
This is more usefull than the no nameserver + useip solution since with this no resolving is done for incomming clients, but connecting to other servers (with hostnames) still works fine ;P.
2329 lines
98 KiB
HTML
2329 lines
98 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<title>UnrealIRCd - 3.2 - Offical Documentation</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<style type="text/css">
|
|
.block_section { font-size: 24; font-weight: bold; }
|
|
.block_name { font-size: 24; font-weight: bold; }
|
|
.block_required { color: red; font-weight: bold; }
|
|
.block_recommended { color: green; font-weight: bold; }
|
|
.block_optional { color: blue; font-weight: bold; }
|
|
.block_old { font-size: 14; }
|
|
.set { font-weight: bold; }
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div align="center"><strong><font size="7">UnrealIRCd</font></strong><br>
|
|
<font size="4"><a href="http://www.unrealircd.com">http://www.unrealircd.com</a></font><br>
|
|
<font size="4">Version: 3.2</font><br>
|
|
<strong>Current Version:</strong> 3.2 Beta15<br>
|
|
<strong>Last doc update:</strong> 2002-02-21 </div>
|
|
<strong>Head Coders:</strong> Stskeeps / Codemastr / Luke / McSkaf / Syzop<br>
|
|
<strong>Contributors:</strong> Zogg / NiQuiL / assyrian / chasm / DrBin / llthangel / Griever / nighthawk<br>
|
|
<strong>Documentation:</strong> CKnight^ / Syzop<br>
|
|
<p>Due to the increasing complexity of UnrealIRCd3.2 We have switched to a easier
|
|
to navigate, more inclusive documentation set. To view this documentation you
|
|
must have a compatible browser, which are listed below. Up to date docs are
|
|
available @ <a href="http://www.unrealircd.com/unreal32docs.html">http://www.unrealircd.com/unreal32docs.html</a></p>
|
|
<p><strong>Compatible Browsers: </strong><br>
|
|
Opera 6.02<br>
|
|
Microsoft Internet Explorer 6.X / 5.5<br>
|
|
Netscape Navigator 6.X<br>
|
|
Lynx (to a point)<br>
|
|
</p>
|
|
<p><font size="+2"><strong>INDEX / TABLE OF CONTENTS</strong></font><br>
|
|
1. <a href="#IntroductionNotes">Introduction & Notes</a><br>
|
|
---1.1.<a href="#notesonolder"> Notes on upgrading/mixing 3.1.x -> 3.2.x</a><br>
|
|
---1.2.<a href="#notesonupgrade"> Notes on upgrading between 3.2.x versions</a><br>
|
|
2. <a href="#installation">Installation</a><br>
|
|
3. <a href="#features">Features</a><br>
|
|
-- 3.1.<a href="#feature_cloaking">Cloaking</a><br>
|
|
-- 3.2.<a href="#feature_modules">Modules</a><br>
|
|
-- 3.3.<a href="#feature_scanner">Proxy scanner</a><br>
|
|
-- 3.4.<a href="#feature_snomasks">Snomasks</a><br>
|
|
-- 3.5.<a href="#feature_aliases">Aliases</a><br>
|
|
-- 3.6.<a href="#feature_helpop">Helpop</a><br>
|
|
-- 3.7.<a href="#feature_operaccesslevels">Oper access levels</a><br>
|
|
-- 3.8.<a href="#feature_opercmds">Oper commands</a><br>
|
|
-- 3.9.<a href="#feature_ssl">SSL</a><br>
|
|
-- 3.10.<a href="#feature_ipv6">IPv6</a><br>
|
|
-- 3.11.<a href="#feature_ziplinks">Zip links</a><br>
|
|
-- 3.12.<a href="#feature_other">Other stuff</a><br>
|
|
4. <a href="#configuringyourunrealircdconf">Configuring your unrealircd.conf
|
|
file</a><br>
|
|
---4.1.<a href="#configurationfileexplained"> Configuration file explained</a><br>
|
|
---4.2.<a href="#meblock"> Me Block -=- (M:Line)</a><br>
|
|
---4.3.<a href="#adminblock"> Admin Block -=- (A:Line)</a><br>
|
|
---4.4. <a href="#classblock">Class Block -=- (Y:Line)</a><br>
|
|
---4.5.<a href="#allowblock"> Allow Block -=- (I:Line)</a><br>
|
|
---4.6. <a href="#listenblock">Listen Block -=- (P:Line)</a><br>
|
|
---4.7.<a href="#operblock"> Oper Block -=- (O:Line)</a><br>
|
|
---4.8. <a href="#drpassblock">DRpass Block -=-(X:Line)</a><br>
|
|
---4.9. <a href="#includedirective">Include Directive</a><br>
|
|
---4.10. <a href="#loadmoduledirective">Loadmodule Directive</a><br>
|
|
---4.11. <a href="#logblock">Log Block</a><br>
|
|
---4.12.<a href="#tldblock"> TLD Block -=- (T:Line)</a><br>
|
|
---4.13. <a href="#bannickblock">Ban Nick Block -=- (Q:Line)</a><br>
|
|
---4.14. <a href="#banuserblock">Ban User Block -=- (K:Line)</a><br>
|
|
---4.15. <a href="#banipblock">Ban IP Block -=- (Z:Line)</a><br>
|
|
---4.16. <a href="#banserverblock">Ban Server Block -=-(q:Line)</a><br>
|
|
---4.17. <a href="#banrealnameblock">Ban Realname Block -=- (n:Line)</a><br>
|
|
---4.18. <a href="#banexceptionblock">Ban Exception Block -=- (E:Line)</a><br>
|
|
---4.19. <a href="#scanexceptionblock">Scan Exception Block -=- (e:Line)</a><br>
|
|
---4.20. <a href="#denydccblock">Deny DCC Block -=- (dccdeny.conf)</a><br>
|
|
---4.21. <a href="#denyversionblock">Deny Version Block -=- (V:Line)</a><br>
|
|
---4.22. <a href="#denylinkblock">Deny Link Block -=- (D:Line / d:Line)</a><br>
|
|
---4.23. <a href="#denychannelblock">Deny Channel Block -=- (chrestrict.conf)</a><br>
|
|
---4.24. <a href="#allowchannelblock">Allow Channel Block</a><br>
|
|
---4.25.<a href="#vhostblock"> Vhost Block Block -=- (vhost.conf)</a><br>
|
|
---4.26. <a href="#badwordsblock">Badwords Block -=- (badwords.conf)</a><br>
|
|
---4.27. <a href="#ulinesblock">Uline Block -=- (U:Line)</a><br>
|
|
---4.28. <a href="#linkblock">Link Block -=- (C/N/H:Lines)</a><br>
|
|
---4.29. <a href="#aliasblock">Alias Block</a><br>
|
|
---4.30. <a href="#helpblock">Help Block</a><br>
|
|
---4.31. <a href="#setblock">Set Block -=- (networks/unrealircd.conf)</a><br>
|
|
5. <a href="#userchannelmodes">User & Channel Modes</a><br>
|
|
6. <a href="#useropercommands">User & Oper Commands</a><br>
|
|
7. <a href="#faq">Frequently Asked Questions (FAQ)</a><br>
|
|
</p>
|
|
<p><strong><font size="+2">1.0 –Introduction & Notes <a name="IntroductionNotes"></a></font></strong><br>
|
|
</p>
|
|
<p>This document was written for exclusively for use with UnrealIRCd. Use of this
|
|
document with another software package, or distribution of this document with
|
|
another software package is strictly prohibited with out the written permission
|
|
of the UnrealIRCd Development Team. This document may be copied/printed/reproduced/published
|
|
as many times as you like, providing it is for use with UnrealIRCd and is not
|
|
modified in anyway. – Copyright UnrealIRCd Development Team 2002</p>
|
|
<p>Please read this manual before asking for help, you may also want to take a look
|
|
at the <a href="#faq">FAQ</a> for common problems. If that didn't help you can
|
|
ask for support at irc.ircsystems.net (port 6667) channel #unreal-support (strict UnrealIRCd support, dont
|
|
ask for help about services!). If you have a real bug (like a crash) then report it at
|
|
<a href="http://bugs.unrealircd.org">http://bugs.unrealircd.org</a>.</p>
|
|
|
|
<p><font size="+2"><strong>1.1 – Notes on upgrading/mixing 3.1.x -> 3.2.x </strong></font><a name="notesonolder"></a><br>
|
|
</p>
|
|
<p>In case you are upgrading from Unreal3.1.x to Unreal3.2 you'll notice the whole config file has changed,
|
|
you may find it hard at first, but once you switched you'll find it much better!</p>
|
|
<p>Also don't forget to read section 3 about features, altough you know already some of them which are in 3.1.x there are new one's too!</p>
|
|
<p>It's best not to mix/link 3.1.x with 3.2.x, but if you really want to, you need at least 3.1.4.</p>
|
|
|
|
<p><font size="+2"><strong>1.2 – Notes on upgrading between 3.2.x versions</strong></font><a name="notesonupgrade"></a><br>
|
|
</p>
|
|
<p>The recommended way of upgrading is:<br>
|
|
- Rename your old UnrealIRCd directory (or otherwise you'll overwrite it in the next step)<br>
|
|
- Extract the new UnrealIRCd version and run ./Config and make(*NIX).<br>
|
|
- Copy your old configuration files to the new directory (unrealircd.conf, motd, rules, server.* [SSL certs], network file, etc)<br></p>
|
|
<p>Please also check .RELEASE.NOTES and maybe even Changes to see what has been changed.
|
|
If you notice any changes (or bugs) between version, BE SURE TO READ THOSE FILES FIRST before reporting it as a bug!.</p>
|
|
|
|
<p><font size="+2"><strong>2.0 - Installation</strong></font><a name="installation" id="installation"></a><br>
|
|
<br>
|
|
<strong>Tested & Supported Operating Systems:</strong><br>
|
|
*NIX versions:<br>
|
|
Linux 2.2.x<br>
|
|
Linux 2.4.x<br>
|
|
FreeBSD 4.6-STABLE<br>
|
|
FreeBSD 4.5-STABLE<br>
|
|
Solaris 2.x<br>
|
|
<br>
|
|
SunOS is NOT supported<br>
|
|
<br>
|
|
<strong>Windows version:</strong><br>
|
|
WindowsXP Home<br>
|
|
WindowsXP Pro<br>
|
|
Windows 2000 Pro<br>
|
|
Windows 2000 Server<br>
|
|
Windows 2000 Advanced Server<br>
|
|
<br>
|
|
If you have Unreal3.2 working correctly under other operating systems, please
|
|
send the details to <a href="mailto://docs@unrealircd.com">docs@unrealircd.com<br>
|
|
</a> </p>
|
|
<p><strong>Installation Instructions</strong><br>
|
|
1. gunzip -d Unreal3.2-beta13.tar.gz<br>
|
|
2. tar xvf Unreal3.2-beta13.tar <br>
|
|
3. cd Unreal3.2 <br>
|
|
DO NOT EDIT MAKEFILE <br>
|
|
4. ./Config<br>
|
|
5. Answer these questions to the best of your knowledge. Generally if your not
|
|
sure, the default will work just fine! <br>
|
|
6. make<BR>
|
|
7. Now create your unrealircd.conf (and networkfile if you use one), see section 4.<br>
|
|
</p>
|
|
<p> </p>
|
|
<p><font size="+2"><strong>3.0 - Features</strong></font>
|
|
<a name="features"></a> </p>
|
|
<p>Some major/nice features are explained in this section. It provides a general overview,
|
|
and sometimes refers to the config file (something which you might know nothing about yet).</p>
|
|
<p>You can skip this section, however it's suggested to read it before/after installing.</p>
|
|
|
|
<p><font size="+2"><strong>3.1 - Cloaking</strong></font><a name="feature_cloaking"></a></p>
|
|
<p>Cloaking is a way to hide the real hostname of users, for example if your real host is <i>d5142341.cable.wanadoo.nl</i>,
|
|
it will be shown (in join, part, whois, etc) as <i>rox-2DCA3201.cable.wanadoo.nl</i>.
|
|
This feature is useful to prevent users flooding each other since they can't see the real host/IP.</p>
|
|
<p>This is controlled by usermode +x (like: /mode yournick +x), admins can also force +x to be enabled
|
|
by default, or make it so users can never do -x.</p>
|
|
<p>The cloaked host is generated by some formula which uses 3 "cloak keys", you are required
|
|
to set those 3 keys in your config file, they should be 3 random numbers between 10.000 and 4.294.967.295.
|
|
If someone else knows these keys they can decode the cloacked host and discover the real one, that's why you
|
|
have to keep them secret. They should be the same at all servers of your network!</p>
|
|
|
|
<p><font size="+2"><strong>3.2 - Modules</strong></font><a name="feature_modules"></a></p>
|
|
<p>UnrealIRCd supports modules (except at windows) which is nice because:<br>
|
|
- You can decide not to load them (ex: not load the scanner module) and they won't use any memory/CPU<br>
|
|
- You can load/reload/unload them while the ircd is running (by /rehash)<br>
|
|
- Other people can create modules as well with new commands or usermodes for example.<br>
|
|
UnrealIRCd only comes with a few modules, take a look at www.unrealircd.com -> modules
|
|
or use google to find 3rd party modules.</p>
|
|
<p>Note that you need to load at least the commands module!</p>
|
|
|
|
<p><font size="+2"><strong>3.3 - Proxy scanner</strong></font><a name="feature_scanner"></a></p>
|
|
<p>UnrealIRCd comes with proxy scanner modules: if a user connects it will check on some ports to see
|
|
if the user is using an anonymous proxy. There's 1 main scanner module (scan.so) and two
|
|
modules which do the actual scanning: scan_socks and scan_http.</p>
|
|
<p>This module is not required, but often useful. If you load them, you need a set::scan block.</p>
|
|
<p>You can also use a separate proxy scanner program like <A HREF="http://www.blitzed.org/bopm/" TARGET="_blank">BOPM</A>,
|
|
in that case you should disable UnrealIRCd's own proxy scanner.</p>
|
|
|
|
<p><font size="+2"><strong>3.4 - Snomasks</strong></font><a name="feature_snomasks"></a></p>
|
|
<p>Snomasks are server notice masks, it's a special type of usermodes that control which
|
|
server notices you will receive (mostly used by opers)</p>
|
|
<p>It can be set by: /mode yournick +s SNOMASK, for example: /mode yournick +s +cF<br>
|
|
To remove certain snomasks, use something like: /mode yournick +s -c<br>
|
|
Or you can remove all snomasks by simply doing: /mode yournick -s</p>
|
|
<p>The current available snomasks are:<br>
|
|
c - local connects<br>
|
|
F - far connects<br>
|
|
f - flood notices<br>
|
|
k - kill notices<br>
|
|
e - 'eyes' notices<br>
|
|
j - 'junk' notices<br>
|
|
v - vhost notices<br>
|
|
G - gline/shun notices<br>
|
|
n - nick change notices<br>
|
|
q - deny nick (Q:line) rejection notices<br>
|
|
</p>
|
|
<p>You can control which snomasks you automatically get (set::snomask-on-connect) and which you get
|
|
on oper (set::snomask-on-oper, set::oper::snomask)</p>
|
|
|
|
<p><font size="+2"><strong>3.5 - Aliases</strong></font><a name="feature_aliases"></a></p>
|
|
<p>With aliases you can configure serverside alias commands.
|
|
You can for example let "/ns identify blah" be forwarded to nickserv (it will be
|
|
translated to: privmsg nickserv identify blah).</p>
|
|
<p>Aliases are configured by alias blocks in the configuration file, and you can also include
|
|
a file with default aliases for some services.</p>
|
|
|
|
<p><font size="+2"><strong>3.6 - Helpop</strong></font><a name="feature_helpop"></a></p>
|
|
<p>UnrealIRCd has a built-in help system accessable by /helpop.<br>
|
|
For example <i>/helpop chmodes</i> gives you a overview of all channel modes UnrealIRCd has.<br>
|
|
Remember that if you are an ircop (helpop) you will have to prefix the keyword with a '?' character,
|
|
so <i>/helpop</i> becomes <i>/helpop ?</i> and
|
|
<i>/helpop chmodes</i> becomes <i>/helpop ?chmodes</i> etc..</p>
|
|
|
|
<p><font size="+2"><strong>3.7 - Oper access levels</strong></font><a name="feature_operaccesslevels"></a></p>
|
|
<p>There are several oper levels in UnrealIRCd and you can add additional rights (like to use /gline) to
|
|
each of them, that way you can give each oper the privileges they need.</p>
|
|
<p>This is controlled by the oper flags in the oper block, see the oper block for more information.</p>
|
|
|
|
<p><font size="+2"><strong>3.8 - Oper commands</strong></font><a name="feature_opercmds"></a></p>
|
|
<p>UnrealIRCd has a lot of powerfull oper commands which are explained in section 6,
|
|
you probably want to read those after installing :).</p>
|
|
|
|
<p><font size="+2"><strong>3.9 - SSL</strong></font><a name="feature_ssl"></a></p>
|
|
<p>SSL stands for Secure Socket Layer, with SSL you can make secure (encrypted) connections.
|
|
It can be used to encrypt server2server traffic, but clients can also use it if you want.
|
|
If set up right it can useful again sniffing attacks, if you don't know what I'm talking
|
|
about then SSL is (not yet) for you ;).</p>
|
|
<p>To setup a secure SSL port you need to add the ssl flag to the listen block.
|
|
NOTE: you cannot connect with non-ssl clients to a SSL port, so don't set port 6667 to SSL for example ;).</p>
|
|
|
|
<p><font size="+2"><strong>3.10 - IPv6</strong></font><a name="feature_ipv6"></a></p>
|
|
<p>UnrealIRCd supports IPv6, since beta15 it seems to work well altough there might be some
|
|
bugs in it. You need to compile with IPv6 support (answer yes to the ./Config question), ofcourse your
|
|
OS needs to have IPv6 support enabled too.</p>
|
|
<p>Altough microsoft has an experimental IPv6 implementation for w2k/XP it is not (yet) supported by UnrealIRCd</p>
|
|
|
|
<p><font size="+2"><strong>3.11 - Zip links</strong></font><a name="feature_ziplinks"></a></p>
|
|
<p>Zip links can be turned on for server2server links, it compresses the data by using zlib.
|
|
It can save 60-80% bandwidth... So it's quite useful for low-bandwidth links or links with
|
|
many users, it can help a lot when you are linking since then a lot of data is sent about ever user/channel/etc.</p>
|
|
<p>To compile with zip links support, you need to answer Yes to the zlib question in ./Config</p>
|
|
|
|
<p><font size="+2"><strong>3.12 - Other stuff</strong></font><a name="feature_other"></a></p>
|
|
<p>UnrealIRCd has a lot of features so not everything is covered here... You'll find that out by yourself</p>
|
|
|
|
<p> </p>
|
|
<p><font size="+2"><strong>4.0 - Configuring your unrealircd.conf</strong></font>
|
|
<a name="configuringyourunrealircdconf"></a> </p>
|
|
<p>First of all, creating a good unrealircd.conf will take some time, probably
|
|
something like 10 - 60m. You can try to get it booted up as quickly as you can and
|
|
tweak later, or you can learn the major sections directly step-by-step which is
|
|
the recommended method ;P. If you have any problems, check your syntax, check the manual
|
|
and check the FAQ before asking for help/reporting a bug.</p>
|
|
<p><strong><font size="+2">4.1 Configuration File Explained</font></strong><a name="configurationfileexplained"></a><br>
|
|
</p>
|
|
<p>The new system uses a block-based system. Each entry, or block, in the new
|
|
format has a specific format. The format works like:</p>
|
|
<p><block-name> <block-value> {<br>
|
|
<block-directive> <directive-value>;<br>
|
|
} ;</p>
|
|
<p><block-name> is the type of block, such as me, or admin. <block-value>
|
|
sometimes specifies a value, such as /oper login, but other times it will be
|
|
a sub-type such as in ban user.</p>
|
|
<p><block-directive> is an individual variable specific to the block, and
|
|
<directive-value> is the Associated value. If <directive-value>
|
|
contains spaces, or characters that represents a comment it must be contained
|
|
in double quotes. If you want to use a quote character inside a quoted string
|
|
use \" and it will be understood as a quote character.</p>
|
|
<p> A <block-directive> can have directives within it, if that’s the
|
|
case it will have it's own set of curly braces surrounding it. Some blocks do
|
|
not have directives and are specified just by <block-value>, such as include.
|
|
Also note that there is no set format, meaning the whole block can appear on
|
|
one line or over multiple lines. The format above is what is normally used (and
|
|
what will be used in this file) because it is easy to read. </p>
|
|
<p>Note: the configuration file is currently case sensitive so BLOCK-NAME is not
|
|
the same as block-name. There is a special notation used to talk about entries
|
|
in the config file. For example, to talk about <directive-name> in the
|
|
example above, you'd say <block-name>::<block-directive>, and if
|
|
that directive has a sub block you want to reverence, you would add another
|
|
:: and the name of the sub directive. </p>
|
|
<p>To talk about an unnamed directive you would do <block-name>:: which
|
|
would in this case mean <block-value>, or it could be an entry in a sub
|
|
block that has no name.</p>
|
|
<p>Three types of comments are supported:</p>
|
|
<p> # One line comment<br>
|
|
// One line comment<br>
|
|
/* Multi line<br>
|
|
comment */<br>
|
|
</p>
|
|
<p>Now that you know how it works, create your unrealircd.conf from scratch or
|
|
copy doc/example.conf and start editting. It's recommended to walk step by step
|
|
trough all block types and use this manual as a reference.</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.2 - </font><font class="block_name">Me Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as the M:Line)</font><a name="meblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
me {<br>
|
|
name <name-of-server>;<br>
|
|
info <server-description>;<br>
|
|
numeric <server-numeric>;<br>
|
|
} ;</p>
|
|
<p>These values are pretty obvious. The <b>name</b> specifies the name of the server,
|
|
<b>info</b> specifies the server's info line, <b>numeric</b> specifies a numeric to
|
|
identify the server. This must be a value between 1 and 255 that is UNIQUE to
|
|
the server meaning NO other servers on the network may have the same numeric.</p>
|
|
<p>Example:<br>
|
|
me {<br>
|
|
name "irc.foonet.com";<br>
|
|
info "FooNet Server";<br>
|
|
numeric 1;<br>
|
|
} ;</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.3 - </font><font class="block_name">Admin Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as the A:Line)</font><a name="adminblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
admin {<br>
|
|
<text-line>;<br>
|
|
<text-line>;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p>The admin block defines the text displayed in a /admin request. You can specify
|
|
as many lines as you want and you they can contain whatever information you
|
|
choose, but it is standard to include the admin's nickname and email address
|
|
at a minimum. Other information may include any other contact information you
|
|
wish to give.</p>
|
|
<p>Example:<br>
|
|
admin {<br>
|
|
"Bob Smith";<br>
|
|
"bob";<br>
|
|
"widely@used.name";<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.4 - </font><font class="block_name">Class Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as the Y:Line)</font><a name="classblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
class <name> {<br>
|
|
pingfreq <ping-frequency>;<br>
|
|
connfreq <connect-frequency>;<br>
|
|
maxclients <maximum-clients>;<br>
|
|
sendq <send-queue>;<br>
|
|
recvq <recv-queue>;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p>Class blocks are classes in which connections will be placed (for example from allow blocks
|
|
or servers from link blocks), you generally have multiple class blocks (ex: for servers, clients, opers).</p>
|
|
<p><b>name</b> is the descriptive name, like "clients" or "servers", this name is
|
|
used for referring to this class from allow/link/oper/etc blocks</p>
|
|
<p><b>pingfreq</b> is the number of seconds between PINGs from the server</p>
|
|
<p><b>connfreq</b> is used only for servers and is the number of seconds between connection attempts if autoconnect is enabled</p>
|
|
<p><b>maxclients</b> specifies the maximum (total) number of clients/servers which can be in this class</p>
|
|
<p><b>sendq</b> specifies the amount of data which can be in the send queue (very high for servers with low bandwith, medium for clients)</p>
|
|
<p><b>recvq</b> specifies the amount of data which can be in the receive queue and is used for flood control
|
|
(this only applies to normal users, try experimenting with values 3000-8000, >8000 is no difference and 8000 is the default).</p>
|
|
<p>Examples:<br>
|
|
class clients {<br>
|
|
pingfreq 90;<br>
|
|
maxclients 500;<br>
|
|
sendq 100000;<br>
|
|
recvq 8000;<br>
|
|
};</p>
|
|
<p>class servers{<br>
|
|
pingfreq 90;<br>
|
|
maxclients 10; /* Max servers we can have linked at a time */<br>
|
|
sendq 1000000;<br>
|
|
connfreq 100; /* How many seconds between each connection attempt */<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.5 - </font><font class="block_name">Allow Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as the I:Line)</font><a name="allowblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
allow {<br>
|
|
ip <user@ip-connection-mask>;<br>
|
|
hostname <user@host-connection-mask>;<br>
|
|
class <connection-class>;<br>
|
|
password <connection-password> { <auth-type>; };<br>
|
|
maxperip <max-connections-per-ip>;<br>
|
|
redirect-server <server-to-forward-to>;<br>
|
|
redirect-port <port-to-forward-to>;<br>
|
|
options {<br>
|
|
<option>;<br>
|
|
<option>;<br>
|
|
};<br>
|
|
};</p>
|
|
<p>The allow class is where you specify who may connect to this server, you can have multiple allow blocks.</p>
|
|
<p><b>About matching</b><br>
|
|
The access control works like this: ip matches OR host matches, so "hostname *@*" and "ip *@1.2.3.4"
|
|
will mean it will always match. Also the allow blocks are read upside down, so you need specific host/ip allow blocks
|
|
AFTER your general *@* allow blocks.</p>
|
|
<p><b>ip</b><br>
|
|
The ip mask is in the form user@ip, user is the ident and often set at *, ip is the ipmask.
|
|
Some examples: *@* (from everywhere), *@192.168.* (only from addr's starting with 192.168), etc.</p>
|
|
<p><b>host</b><br>
|
|
Also a user@host hostmask, again.. user is often set at *. Some examples: *@* (everywhere),
|
|
*@*.wanadoo.fr (only from wanadoo.fr).</p>
|
|
<p><b>password</b> (optional)<br>
|
|
Require a connect password. You can also specify an password encryption method here.
|
|
</p>
|
|
<p><b>maxperip</b> (optional, but recommended)<br>
|
|
Allows you to specify how many connections per IP are allowed to this server (ex: maxperip 4;).
|
|
</p>
|
|
<p><b>redirect-server</b> (optional)<br>
|
|
If the class is full, redirect users to this server (if clients supports it [mIRC 6 does]).</p>
|
|
<p><b>redirect-port</b> (optional)<br>
|
|
If redirect-server is specified you can set the port here, otherwise 6667 is assumed.</p>
|
|
<p><b>options block</b> (optional)<br>
|
|
Valid options are:<br>
|
|
<b>useip</b> always display IP instead of hostname<br>
|
|
<b>noident</b> don't use ident but use username specified by client<br>
|
|
<p>Examples:<br>
|
|
allow {<br>
|
|
ip *;<br>
|
|
hostname *;<br>
|
|
class clients;<br>
|
|
maxperip 5;<br>
|
|
};</p>
|
|
<p>allow {<br>
|
|
ip *@*;<br>
|
|
hostname *@*.passworded.ugly.people;<br>
|
|
class clients;<br>
|
|
password "f00Ness";<br>
|
|
maxperip 1;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.6 - </font><font class="block_name">Listen Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as the P:Line)</font><a name="listenblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
listen <ip:port> {<br>
|
|
options {<br>
|
|
<option>;<br>
|
|
<option>;<br>
|
|
...<br>
|
|
};<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p>This block allows you to specify the ports on which the IRCD will listen. If
|
|
no options are required, you may specify this without any directives in the
|
|
form listen <ip:port>;.</p>
|
|
<p><b>ip and port</b><br>
|
|
ip is usually set at * but you can specify an IP here to only bind to that IP.
|
|
The port is the port you want to listen on. IPv6 users, see below.</p>
|
|
<p><b>Info for IPv6 users</b><br>
|
|
If you have an IPv6 enabled server you need to enclose the IP in brackers.
|
|
Like [::1]:6667 (listen at localhost on port 6667). If you are using IPv6 and you
|
|
want to listen at a specific IPv4 addr you need to use ::ffff:ipv4ip. For example:
|
|
[::ffff:203.123.67.1]:6667 which will listen at 203.123.67.1 on port 6667.
|
|
Ofcourse you can also just use * with IPv6.</p>
|
|
<p><b>options block</b> (optional)<br>
|
|
You can specify special options for this port if you want, valid options are:<br>
|
|
<table border="0">
|
|
<TR><TD><center><b>clientsonly</b></center></TD><TD> port is only for clients</TD></TR>
|
|
<TR><TD><center><b>serversonly</b></center></TD><TD> port is only for servers</TD></TR>
|
|
<TR><TD><center><b>java</b></center></TD><TD> CR javachat support</TD></TR>
|
|
<TR><TD><center><b>ssl</b></center></TD><TD> SSL encrypted port</TD></TR>
|
|
</table>
|
|
</p>
|
|
|
|
<p>Examples:</p>
|
|
<p>listen *:6601 {<br>
|
|
options {<br>
|
|
ssl;<br>
|
|
clientsonly;<br>
|
|
};<br>
|
|
};</p>
|
|
<p>Or if there are no options:</p>
|
|
<p>listen *:8067;<br>
|
|
listen *:6667;</p>
|
|
<p><font class="block_section">4.7 - </font><font class="block_name">Oper Block</font>
|
|
<font class="block_recommended">RECOMMENDED</font> <font class="block_old">(Previously known as the O:Line)</font><a name="operblock"></a>
|
|
</p>
|
|
<p>oper <name> {<br>
|
|
from {<br>
|
|
userhost <hostmask>;<br>
|
|
userhost <hostmask>;<br>
|
|
};<br>
|
|
password <password> { <auth-type>; };<br>
|
|
class <class-name>; <br>
|
|
flags <flags>;<br>
|
|
flags {<br>
|
|
<flag>;<br>
|
|
<flag>;<br>
|
|
};<br>
|
|
swhois <whois info>;<br>
|
|
snomask <snomask>;<br>
|
|
};</p>
|
|
<p>The oper block allows you to assign IRC Operators for your server. The oper::
|
|
specifies the login name for the /oper. The oper::from::userhost is a user@host
|
|
mask that the user must match, you can specify more than one hostmask by creating
|
|
more than one oper::from::userhost. The oper::password is the password the user
|
|
must specify, oper::password:: allows you to specify an authentication method
|
|
for this password, valid auth-types are crypt, md5, and sha1, ripemd-160. If
|
|
you want to use a plain-text password leave this sub-block out.</p>
|
|
<p>The oper::class directive specifies the name of a preexisting (appears before
|
|
this in the config file) class name that the oper block will use.</p>
|
|
<p>The oper::flags directive has two formats. If you wish to use the old style
|
|
oper flags i.e., OAa, you use the flags <flags> method, if you want to
|
|
use the new style,i.e., services-admin, then you use the flags { <flag>;
|
|
} method. Below is a list of all the flags (in both formats) and what they do.</p>
|
|
<table width="75%" border="1">
|
|
<tr>
|
|
<td width="10%"><div align="center"><strong>Old Flag</strong></div></td>
|
|
<td width="16%"><div align="center"><strong>New Flag</strong></div></td>
|
|
<td width="74%"><strong>Description</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td height="24"><div align="center">o</div></td>
|
|
<td><div align="center">local</div></td>
|
|
<td>Makes you a local operator</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">O</div></td>
|
|
<td><div align="center">global</div></td>
|
|
<td>Makes you a global operator</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">C</div></td>
|
|
<td><div align="center">coadmin</div></td>
|
|
<td>Makes you a coadmin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">A</div></td>
|
|
<td><div align="center">admin</div></td>
|
|
<td>Makes you a admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">a</div></td>
|
|
<td><div align="center">services-admin</div></td>
|
|
<td>Makes you a services admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">N</div></td>
|
|
<td><div align="center">netadmin</div></td>
|
|
<td>Makes you a Network Admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">r</div></td>
|
|
<td><div align="center">can_rehash</div></td>
|
|
<td>Oper may use /rehash</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">D</div></td>
|
|
<td><div align="center">can_die</div></td>
|
|
<td>Oper may use /die</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">R</div></td>
|
|
<td><div align="center">can_restart</div></td>
|
|
<td>Oper may use /restart</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">h</div></td>
|
|
<td><div align="center">helpop</div></td>
|
|
<td>Oper receives umode +h (helpop)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">w</div></td>
|
|
<td><div align="center">can_wallops</div></td>
|
|
<td>Oper can send /wallops</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">g</div></td>
|
|
<td><div align="center">can_globops</div></td>
|
|
<td>Oper can send /globops</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">c</div></td>
|
|
<td><div align="center">can_localroute</div></td>
|
|
<td>Can connect servers locally</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">L</div></td>
|
|
<td><div align="center">can_globalroute</div></td>
|
|
<td>Can connect servers globally</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">k</div></td>
|
|
<td><div align="center">can_localkill</div></td>
|
|
<td>Can /kill local users</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">K</div></td>
|
|
<td><div align="center">can_globalkill</div></td>
|
|
<td>Can /kill global users</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">b</div></td>
|
|
<td><div align="center">can_kline</div></td>
|
|
<td>Can use /kline</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">B</div></td>
|
|
<td><div align="center">can_unkline</div></td>
|
|
<td>Can use /kline -u@h</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td><div align="center">can_gkline</div></td>
|
|
<td>Can use /gline and /shun</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">n</div></td>
|
|
<td><div align="center">can_localnotice</div></td>
|
|
<td>Can send local server notices</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">G</div></td>
|
|
<td><div align="center">can_globalnotice</div></td>
|
|
<td>Can send global server notices</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">z</div></td>
|
|
<td><div align="center">can_zline</div></td>
|
|
<td>Can use /zline</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td><div align="center">can_gkline</div></td>
|
|
<td>Can use /gline</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">Z</div></td>
|
|
<td><div align="center">can_gzline</div></td>
|
|
<td>Can use /gzline</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">W</div></td>
|
|
<td><div align="center">get_umodew</div></td>
|
|
<td>Sets umode +W when u oper</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">H</div></td>
|
|
<td><div align="center">get_host</div></td>
|
|
<td>Sets your host to an oper host</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">v</div></td>
|
|
<td><div align="center">can_override</div></td>
|
|
<td>Can use OperOverride</td>
|
|
</tr>
|
|
</table>
|
|
<p>Certin flags give you other flags by default:</p>
|
|
<table width="59%" border="1">
|
|
<tr>
|
|
<td width="19%"><strong>local</strong></td>
|
|
<td width="17%"><strong>global</strong></td>
|
|
<td width="19%"><strong>admin/coadmin</strong></td>
|
|
<td width="22%"><strong>services-admin</strong></td>
|
|
<td width="23%"><strong>netadmin</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
</tr>
|
|
<tr>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_globops</td>
|
|
<td>can_glopops</td>
|
|
<td>can_glopops</td>
|
|
<td>can_glopops</td>
|
|
<td>can_glopops</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td>can_globalroute</td>
|
|
<td>can_globalroute</td>
|
|
<td>can_globalroute</td>
|
|
<td>can_globalroute</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td>can_globalkill</td>
|
|
<td>can_globalkill</td>
|
|
<td>can_globalkill</td>
|
|
<td>can_globalkill</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td>can_globalnotice</td>
|
|
<td>can_globalnotice</td>
|
|
<td>can_globalnotice</td>
|
|
<td>can_globalnotice</td>
|
|
</tr>
|
|
</table>
|
|
<p>The oper::swhois directive allows you to add an extra line to an opers whois
|
|
information.</p>
|
|
<p>The oper::snomask directive allows you to preset an opers service notice mask
|
|
on oper up.<br>
|
|
Vaild Service Notice Masks (snomask) are:</p>
|
|
<table width="75%" border="1">
|
|
<tr>
|
|
<td width="17%"><strong>Snowmask Mode</strong></td>
|
|
<td width="83%"><strong>Description</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td>k</td>
|
|
<td>See's All the /kill's which are executed</td>
|
|
</tr>
|
|
<tr>
|
|
<td>c</td>
|
|
<td>See's All the local connects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>F</td>
|
|
<td>Lets you receive Far AND Local Connects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>f</td>
|
|
<td>Listens to flood alerts from server</td>
|
|
</tr>
|
|
<tr>
|
|
<td>j</td>
|
|
<td>See's misc. messages generated by the server</td>
|
|
</tr>
|
|
<tr>
|
|
<td>v </td>
|
|
<td>Lets you receive notices of /vhost usages</td>
|
|
</tr>
|
|
<tr>
|
|
<td>G</td>
|
|
<td>Lets you see TKL (G:Lines/shuns) notifies</td>
|
|
</tr>
|
|
<tr>
|
|
<td>e</td>
|
|
<td>Can listen to Server messages sent to +e users (eyes)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>n</td>
|
|
<td>Lets you see notices when a user changes his/her nickname</td>
|
|
</tr>
|
|
<tr>
|
|
<td>q</td>
|
|
<td>Lets you see notices when a user is rejected because of a Q:Line</td>
|
|
</tr>
|
|
</table>
|
|
<p>Example:<br>
|
|
oper bobsmith {<br>
|
|
class clients;<br>
|
|
from {<br>
|
|
userhost bob@smithco.com;<br>
|
|
userhost boblaptop@somedialupisp.com};<br>
|
|
password "f00";<br>
|
|
flags {<br>
|
|
netadmin;<br>
|
|
global;<br>
|
|
};<br>
|
|
swhois “Example of a whois mask”;<br>
|
|
snomask frebWqFv;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.8 - </font><font class="block_name">DRpass Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as the X:Line)</font><a name="drpassblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
drpass {<br>
|
|
restart <restart-password> { <auth-type>; };<br>
|
|
die <die-password> { <auth-type>; };<br>
|
|
};</p>
|
|
<p>This block sets the /restart and /die passwords with drpass::restart and drpass::die
|
|
respectively. The drpass::restart:: and drpass::die:: allow you to specify the
|
|
type of authentication used by this item. The currently supported authentication
|
|
types are crypt, md5, and sha1, ripemd-160.</p>
|
|
<p>Example:</p>
|
|
<p>drpass {<br>
|
|
restart "I-love-to-restart";<br>
|
|
die "die-you-stupid";<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.9 - </font><font class="block_name">Include Directive</font><a name="includedirective"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
include <file-name>;</p>
|
|
<p>This directive specifies a filename to be loaded as a separate configuration
|
|
file. This file may contain any type of config block and can even include other
|
|
files. Wildcards are supported in the file name to allow you to load multiple
|
|
files at once.</p>
|
|
<p><b>example 1: a network file</b><br>
|
|
<pre>Include mynetwork.network;</pre></p>
|
|
<p>That would be the statement to use if you wanted to use a separate network
|
|
file. Separate network files are no longer required; all the network settings
|
|
can be inserted directly into the unrealircd.conf. Or you can put an include
|
|
statement them to load the file.</p>
|
|
<p><b>example 2: aliases</b><br>
|
|
<pre>Include aliases/ircservices.conf</pre></p>
|
|
<p>Another example is to use it for including alias blocks, UnrealIRCd comes with
|
|
some files which (should) contain the right aliases for most services:<br>
|
|
aliases/ircservices.conf (IRCServices, Daylight)<br>
|
|
aliases/epona.conf (Epona)<br>
|
|
aliases/auspice.conf (Auspice)<Br>
|
|
aliases/generic.conf (Magick, Sirius, Wrecked)<br>
|
|
aliases/operstats.conf (OperStats)<br>
|
|
aliases/genericstats.conf (GeoStats, NeoStats)<br>
|
|
</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.10 - </font><font class="block_name">LoadModule Directive</font>
|
|
<font class="block_required">REQUIRED</font><a name="loadmoduledirective"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
loadmodule <file-name>;</p>
|
|
<p>UnrealIRCd now supports modules (at *NIX). Modules make it easy to write extensions and you
|
|
can load/unload them while the ircd is running.</p>
|
|
<p>Modules that come standard with Unreal3.2:</p>
|
|
<p>scan_http.so - HTTP proxy scanner module<br>
|
|
scan_socks.so - SOCKS proxy scanner module<br>
|
|
scan.so - Main scanner module (scan_socks and scan_http rely on it)<br>
|
|
commands.so - All the / commands (well not all yet, but will eventually be all) <font color="red">REQUIRED</font></p>
|
|
<p>So you want to be sure you have commands.so loaded, and often you want the scan* modules too, example:</p>
|
|
<pre>
|
|
loadmodule "src/modules/commands.so";
|
|
loadmodule "src/modules/scan.so";
|
|
loadmodule "src/modules/scan_socks.so";
|
|
loadmodule "src/modules/scan_http.so";
|
|
</pre>
|
|
<p><font class="block_section">4.11 - </font><font class="block_name">Log Block</font>
|
|
<font class="block_optional">OPTIONAL</font><a name="logblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
log <file-name> {<br>
|
|
maxsize <max-file-size>;<br>
|
|
flags {<br>
|
|
<flag>;<br>
|
|
<flag>;<br>
|
|
...<br>
|
|
};<br>
|
|
};</p>
|
|
<p>The log block allows you to assign different log files for different purposes.
|
|
The log:: contains the name of the log file. log::maxsize is an optional directive
|
|
that allows you to specify a size that the log file will be wiped and restarted.
|
|
You can enter this string using MB for megabytes, KB, for kilobytes, GB, for
|
|
gigabytes. The log::flags specifies which types of information will be in this
|
|
log. You can specify one or more of the following, errors, kills, tkl (G:lines
|
|
and Shuns), connects, server-connects, kline, and oper.</p>
|
|
<p>You may also have multiple log blocks, to log different things to different
|
|
log files.</p>
|
|
<p>Available Flags:</p>
|
|
<p>errors self explanatory<br>
|
|
kills logs /kill notices<br>
|
|
tkl logs info on glines, shuns, tklines, tzlines, gzlines<br>
|
|
connects logs user connects/quits<br>
|
|
server-connects logs server connects/squits<br>
|
|
kline logs kline and unkline<br>
|
|
oper logs oper attempts (both failed and successful)</p>
|
|
<p>Example:</p>
|
|
<p>log ircd.log {<br>
|
|
maxsize 5MB;<br>
|
|
flags {<br>
|
|
errors;<br>
|
|
kills;<br>
|
|
oper;<br>
|
|
kline;<br>
|
|
tkl;<br>
|
|
};<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.12 - </font><font class="block_name">TLD Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the T:Line)</font><a name="tldblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
tld {<br>
|
|
mask <hostmask>;<br>
|
|
motd <motd-file>;<br>
|
|
rules <rules-file>;<br>
|
|
channel <channel-name>;<br>
|
|
};</p>
|
|
<p>The tld block allows you to specify a motd, rules, and channel for a user based
|
|
on their host. This is useful if you want different motds for different languages.
|
|
The tld::mask is a user@host mask that the user's username and hostname must
|
|
match. The tld::motd and tld::rules specify the motd and rules file, respectively,
|
|
to be displayed to this hostmask. Lastly the tld::channel is optional, it allows
|
|
you to specify a channel that this user will be forced to join on connect. If
|
|
this exists it will override the default auto join channel.</p>
|
|
<p>Example:<br>
|
|
tld {<br>
|
|
mask *@*.fr;<br>
|
|
motd "ircd.motd.fr";<br>
|
|
rules "ircd.rules.fr";<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.13 - </font><font class="block_name">Ban Nick Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the Q:Line)</font><a name="bannickblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
ban nick {<br>
|
|
mask <nickname>;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p>The ban nick block allows you to disable use of a nickname on the server. The
|
|
ban::mask allows wildcard masks to match multiple nicks, and ban::reason allows
|
|
you to specify the reason for which this ban is placed. Most commonly these
|
|
blocks are used to ban usage of the nicknames commonly used for network services.</p>
|
|
<p>Example<br>
|
|
ban nick {<br>
|
|
mask "*C*h*a*n*S*e*r*v*";<br>
|
|
reason "Reserved for Services";<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.14 - </font><font class="block_name">Ban User Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the K:Line)</font><a name="banuserblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
ban user {<br>
|
|
mask <hostmask>;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p>This block allows you to ban a user@host mask from connecting to the server.
|
|
The ban::mask is a wildcard string of a user@host to ban, and ban::reason is
|
|
the reason for a ban being placed. Note, this is only a local ban and therefore
|
|
the user may connect to other servers on the network.</p>
|
|
<p>Example<br>
|
|
ban user {<br>
|
|
mask *tirc@*.saturn.bbn.com;<br>
|
|
reason "Idiot";<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.15 - </font><font class="block_name">Ban IP Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the Z:Line)</font><a name="banipblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
ban ip {<br>
|
|
mask <ipmask>;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p>The ban ip block bans an IP from accessing the server. This includes both users
|
|
and servers attempting to link. The ban::mask parameter is an IP which may contain
|
|
wildcard characters, and ban::reason is the reason why this ban is being placed.
|
|
Since this ban affects servers it should be used very carefully.</p>
|
|
<p>Example<br>
|
|
ban ip {<br>
|
|
mask 192.168.1.*;<br>
|
|
reason “Get a real ip u lamer!”;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.16 - </font><font class="block_name">Ban Server Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the q:Line)</font><a name="banserverblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
ban server {<br>
|
|
mask <server-name>;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p>This block disables a server's ability to connect to your server. The ban::mask
|
|
field specifies a wildcard mask to match against the server attempting to connect's
|
|
name, and ban::reason specifies the reason for which this ban has been placed.</p>
|
|
<p>Example<br>
|
|
ban server {<br>
|
|
mask broken.server.my.network.com;<br>
|
|
reason “Its broken!”;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.17 - </font><font class="block_name">Ban RealName Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the n:Line)</font><a name="banrealnameblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
ban realname {<br>
|
|
mask <realname-mask>;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p>The ban realname block allows you to ban a client based on the GECOS (realname)
|
|
field. This is useful to stop clone floods because often clone bots use the
|
|
same realname. The ban::mask specifies the realname which should be banned.
|
|
The mask may contain wildcards. The ban::reason specifies the reason why this
|
|
ban is being placed.</p>
|
|
<p>Example<br>
|
|
ban realname {<br>
|
|
mask “Bob*”;<br>
|
|
reason “Bob sucks!”;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.18 - </font><font class="block_name">Ban Exceptions Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the E:Line)</font><a name="banexceptionblock""></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
except ban {<br>
|
|
mask <hostmask>;<br>
|
|
};</p>
|
|
<p>The except ban block allows you to specify a user@host that will override a
|
|
ban placed on a broader host. This is useful when you want an ISP banned, but
|
|
still want specific users to be able to connect. The except::mask directive
|
|
specifies the user@host mask of the client who will be allowed to connect.</p>
|
|
<p>Example<br>
|
|
except ban {<br>
|
|
mask myident@my.isp.com;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.19 - </font><font class="block_name">Scan Exceptions Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the e:Line)</font><a name="scanexceptionblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
except scan {<br>
|
|
mask <ipmask>;<br>
|
|
};</p>
|
|
<p>The except scan block allows you to specify an IP mask that will override the
|
|
scanners. This only works if you have chosen to load the scanner modules. The
|
|
except::mask specifies an IP mask that will not be banned because of any type
|
|
of scanner problem.</p>
|
|
<p>Example<br>
|
|
except scan {<br>
|
|
mask 192.168.1.*;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.20 - </font><font class="block_name">Deny DCC Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as dccdeny.conf)</font><a name="denydccblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
deny dcc {<br>
|
|
filename <file-to-block>;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p>The deny dcc block allows you to specify a filename which will not be allowed
|
|
to be sent via DCC over the server. This is very useful in helping stop distribution
|
|
of trojans and viruses. </p>
|
|
<p>The deny::filename parameter specifies a wildcard mask of the filename to reject
|
|
sends of, and deny::reason specifies the reason why this file is blocked.</p>
|
|
<p>Example<br>
|
|
deny dcc {<br>
|
|
filename virus.exe;<br>
|
|
reason “This is a GD Virus”;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.21 - </font><font class="block_name">Deny Version Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the V:Line)</font><a name="denyversionblock"></a>
|
|
</p>
|
|
<p> Syntax:<br>
|
|
deny version {<br>
|
|
mask <server-name>;<br>
|
|
version <version-number>;<br>
|
|
flags <compile-flags>;<br>
|
|
};</p>
|
|
<p>This block allows you to deny a server from linking based on the version of
|
|
Unreal it is running and what compile time options it has. The format for this
|
|
block is somewhat complex but isn't too hard to figure out. The deny::mask directive
|
|
specifies a wildcard mask of the server name this applies to. The deny::version
|
|
specifies the protocol number of the version this refers to.</p>
|
|
<p>For example, 3.0 is 2301, 3.1.1/3.1.2 is 2302, 3.2 is 2303. The first character
|
|
of this parameter can be one of the following >, <, =, !. This character
|
|
tells the IRCd how to interpret the version. If the first character is a >
|
|
then all version greater than the specified version are denied, if it is a <
|
|
all versions lower are denied, if it is an = only that version is denied, and
|
|
if it is a ! then all versions except the specified are denied. The deny::flags
|
|
directive allows you to specify what compile time flags the server may or may
|
|
not have. The flags are arranged one after the other with no separation between,
|
|
if a character is prefixed by a ! then it means the server may not have this
|
|
flag compiled into it, if it does not have a ! prefix, then it means the server
|
|
must have this flag compiled.</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.22 - </font><font class="block_name">Deny Link Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the D/d:Line)</font><a name="denylinkblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
deny link {<br>
|
|
mask <server-name>;<br>
|
|
rule <crule-expression>;<br>
|
|
type <type-of-denial>;<br>
|
|
};</p>
|
|
<p>This block allows you to use specific rules to deny a server from linking.
|
|
The deny::mask specifies a wildcard mask of the server name to apply this rule
|
|
to. The deny::rule directive is very complex. A crule expression allows you
|
|
to control the link in great detail, and it is set up like a programming expression.
|
|
Four operators are supported, connected(<servermask>), returns true if
|
|
a server matching servermask is connected, directcon(<servermask>), returns
|
|
true if the server matching servermask is directly connected to this server,
|
|
via(<viamask>,<servermask>), returns true if a server matching servermask
|
|
is connected by a server matching viamask, and directop(), which returns true
|
|
if the operator issuing a /connect is directly connected to this server. These
|
|
operators can be combined using && (and) and || (or), items may also
|
|
be enclosed in parenthesis to allow grouping. In addition, an operator preceded
|
|
with a ! checks if the operator returned false. If the entire expression evaluates
|
|
to true, then the link is denied. The deny::type allows two different values,
|
|
auto (only applies to autoconnects, /connect will still work), and all (applies
|
|
to all connection attempts).</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.23 - </font><font class="block_name">Deny Channel Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as chrestrict.conf)</font><a name="denychannelblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
deny channel {<br>
|
|
channel “<channel-mask>”;<br>
|
|
reason <reason-for-ban>;<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p>The deny channel block allows you to disallow users from joining specific channels.
|
|
The deny::channel directive specifies a wildcard mask of channels the users
|
|
may not join, and the deny::reason specifies the reason why the channel may
|
|
not be joined.</p>
|
|
<p>Example</p>
|
|
<p>deny channel {<br>
|
|
channel “#unrealsucks”;<br>
|
|
reason “No it don’t!”;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.24 - </font><font class="block_name">Allow Channel Block</font>
|
|
<font class="block_optional">OPTIONAL</font><a name="allowchannelblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
allow channel {<br>
|
|
channel “<channel-mask>”;<br>
|
|
};</p>
|
|
<p>The allow channel block allows you to specify specific channels that users
|
|
may join. The allow::channel directive specifies the wildcard mask of the channels
|
|
which may be joined.</p>
|
|
<p>Example<br>
|
|
allow channel {<br>
|
|
channel “#something”;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.25 - </font><font class="block_name">Vhost Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as vhosts.conf)</font><a name="vhostblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
vhost {<br>
|
|
vhost <vhost>;<br>
|
|
from {<br>
|
|
userhost <hostmask>;<br>
|
|
userhost <hostmask>;<br>
|
|
...<br>
|
|
};<br>
|
|
login <login-name>;<br>
|
|
password <password> { <auth-type>; };<br>
|
|
swhois "<swhois info>";<br>
|
|
};</p>
|
|
<p>The vhost block allows you to specify a login/password that can be used with
|
|
the /vhost command to obtain a fake hostname. The vhost::vhost parameter can
|
|
be either a user@host or just a host that the user will receive upon successful
|
|
/vhost. The vhost::from::userhost contains a user@host that the user must match
|
|
to be eligible for the vhost. You may specify more than one hostmask. The vhost::login
|
|
in the login name the user must enter and vhost::password is the password that
|
|
must be entered. Lastly vhost::password:: allows you to specify the type of
|
|
authentication used by this item. The currently supported authentication types
|
|
are crypt, md5, and sha1, ripemd-160. vhost::swhois allows you to add an extra
|
|
line to a users whois, exactly as it does in the Oper Block oper::svhost.</p>
|
|
<p>Example<br>
|
|
vhost {<br>
|
|
vhost my.own.personal.vhost.com;<br>
|
|
from {<br>
|
|
userhost my@isp.com;<br>
|
|
userhost myother@isp.com;<br>
|
|
};<br>
|
|
login mynick;<br>
|
|
password mypassword;<br>
|
|
swhois "Im Special";<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.26 - </font><font class="block_name">Bad Word Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as badwords.*.conf)</font><a name="badwordsblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
badword <type> {<br>
|
|
word <text-to-match>;<br>
|
|
replace <replace-with>;<br>
|
|
};</p>
|
|
<p>The badword block allows you to manipulate the list used for user and channel
|
|
mode +G to strip "badwords". The badword:: specifies the type, valid
|
|
types are channel, message, and quit, channel is for the channel +G list, message
|
|
is for the user +G list, and quit is for quit message censoring. The badword::word
|
|
can be a simple word or a regular expression we should search for. The
|
|
badword::replace is what we should replace this match with. If badword::replace
|
|
is left out, the word is replaced with <censored>.</p>
|
|
<p>Example<br>
|
|
badword channel {<br>
|
|
word shit;<br>
|
|
replace shoot;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.27 - </font><font class="block_name">ULines Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as the U:Line)</font><a name="ulinesblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
ulines {<br>
|
|
<server-name>;<br>
|
|
<server-name>;<br>
|
|
...<br>
|
|
};</p>
|
|
<p>The ulines block lets you define certain servers as having extra abilities.
|
|
This should only be used for servers such as services and stats. This should
|
|
not be set for a normal server. Each entry is the name of the server which will
|
|
receive the extra abilities.</p>
|
|
<p>Example<br>
|
|
ulines {<br>
|
|
services.mynetwork.com;<br>
|
|
stats.mynetwork.com;<br>
|
|
};</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.28 - </font><font class="block_name">Link Block</font>
|
|
<font class="block_optional">OPTIONAL</font> <font class="block_old">(Previously known as C/N/H:Lines)</font><a name="linkblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
link <server-name> {<br>
|
|
username <usermask>;<br>
|
|
hostname <ipmask>;<br>
|
|
bind-ip <ip-to-bind-to>;<br>
|
|
port <port-to-connect-on>;<br>
|
|
password-connect <password-to-connect-with>;<br>
|
|
password-receive <password-to-receive> { <auth-type>; };<br>
|
|
hub <hub-mask>;<br>
|
|
leaf <leaf-mask>;<br>
|
|
leafdepth <depth>;<br>
|
|
class <class-name>;<br>
|
|
options {<br>
|
|
<option>;<br>
|
|
<option>;<br>
|
|
...<br>
|
|
};<br>
|
|
};</p>
|
|
<p>This is the block you need for linking servers, please take your time to read all
|
|
this because this one of the hardest things to do and users often make errors ;P</p>
|
|
<p>First of all <b>server-name</b> is the name of your remote server, the name the remote
|
|
server has in his me { } block, like hub.blah.com (not the IP and can be different than hostname).</p>
|
|
<p><b>username</b><br>
|
|
You can specify this if you use ident for authentication, normally you will set this to "*".
|
|
</p>
|
|
<p><b>hostname</b><br>
|
|
The remote host or IP of the remote server. This is used for both connecting and for
|
|
authentication/verification on the "connection-receiving" side.
|
|
Examples: 1.2.3.4 (normal IP), hub.blah.com (host), * (cannot connect TO but will
|
|
allow a server connection with right pass from everywhere), ::ffff:1.2.3.4 (for linking
|
|
to ipv4 server from ipv6).
|
|
</p>
|
|
<p><b>bind-ip</b> (optional)<br>
|
|
Can be used to bind to a specific IP (ex: 192.168.0.1) from where we should
|
|
connect from, almost never used.
|
|
</p>
|
|
<p><b>port</b><br>
|
|
Port to connect to (at which the remote server is listening).
|
|
</p>
|
|
<p><b>password-connect</b><br>
|
|
The password used for connecting to the remote server, must be plaintext.
|
|
</p>
|
|
<p><b>password-receive</b><br>
|
|
The password used for validating incomming links, can be encrypted (valid methods
|
|
are crypt, md5, sha1, ripemd-160). You can leave the auth-type parameter out to
|
|
just use plain-text. Often this password is the same as your password-connect.
|
|
</p>
|
|
<p><b>hub vs leaf</b><br>
|
|
A hub has multiple servers linked to it, a leaf has only one link... to you.
|
|
A server is either a hub or a leaf, you cannot combine these options.
|
|
</p>
|
|
<p><b>hub</b> (optional)<br>
|
|
The value is a mask of what servers this hub may connect (ex: *.my.net).
|
|
</p>
|
|
<p><b>leaf</b> (optional)<br>
|
|
The value is a mask that this server will act like a leaf towards.
|
|
</p>
|
|
<p><b>leaf-depth</b> (optional)<br>
|
|
If specified then leaf should be specified too. The value specifies the depth
|
|
(number of hops) this server may have beneath it.
|
|
</p>
|
|
<p><b>class</b><br>
|
|
The class this server is put into, often a seperate server class is used for this.
|
|
</p>
|
|
<p><b>compression-level</b> (optional)<br>
|
|
Specifies the compression level (1-9) for this link. Only used if link::options::zip is set.
|
|
</p>
|
|
<p><b>options block</b><br>
|
|
One or more options used for connecting to the server. Sometimes not needed.<br>
|
|
<b>ssl</b> if you are connecting to a SSL port.<br>
|
|
<b>autoconnect</b> server will try to autoconnect, time specified in your class::connfreq
|
|
(it's best to enable this only from one side, like leaf->hub)<br>
|
|
<b>zip</b> if you want compressed links, needs to be compiled in + set at both ends<br>
|
|
<b>nodnscache</b> don't cache IP for outgoing server connection, use this if it's an often chaning host (like dyndns.org)<br>
|
|
<b>quarantine</b> opers on this server will maintain locop status<br>
|
|
</p>
|
|
<p>Example</p>
|
|
<p>link hub.mynet.com {<br>
|
|
username *;<br>
|
|
hostname 1.2.3.4;<br>
|
|
bind-ip *;<br>
|
|
port 7029;<br>
|
|
hub *;<br>
|
|
password-connect "LiNk";<br>
|
|
password-receive "LiNk";<br>
|
|
class servers;<br>
|
|
options {<br>
|
|
autoconnect;<br>
|
|
ssl;<br>
|
|
zip;<br>
|
|
};<br>
|
|
};</p>
|
|
<p> </p>
|
|
<p> </p>
|
|
<p><font class="block_section">4.29 - </font><font class="block_name">Alias Block</font>
|
|
<font class="block_optional">OPTIONAL</font><a name="aliasblock"></a>
|
|
</p>
|
|
<p>Syntax [standard alias]:<br>
|
|
alias <name> {<br>
|
|
nick <nick-to-forward-to>;<br>
|
|
type <type-of-alias>;<br>
|
|
};</p>
|
|
<p>(Note: also see <a href="#includedirective">here</a> about the standard alias files UnrealIRCd has)</p>
|
|
<p>The alias block [standard alias] allows you to forward a command to a user,
|
|
for example /chanserv sends a message to the user chanserv. The alias:: specifies
|
|
the name of the command that will be the alias, ex /chanserv, alias::nick is
|
|
the nickname it will forward to, if the alias:: is the same as the nick it will
|
|
forward to, alias::nick can be left out. The alias::type specifies the type
|
|
of alias, valid types are services (the user is on the services server), stats
|
|
(the user is on the stats server), and normal (the user is a normal user on
|
|
any server). The alias block also has another purpose which is explained below.</p>
|
|
<p>Syntax [command alias]:<br>
|
|
alias <name> {<br>
|
|
format <regex-expression> {<br>
|
|
nick <nick-to-forward-to>;<br>
|
|
type <type-of-alias>;<br>
|
|
parameters <parameter-string>;<br>
|
|
};<br>
|
|
format <regex-expression> {<br>
|
|
...<br>
|
|
};<br>
|
|
type command;<br>
|
|
};</p>
|
|
<p>When the alias block is used in this format, it allows you a much broader range
|
|
of usage. For example you can create aliases such as /identify. The alias::
|
|
is the same as above, the name of the alias command. The alias::format specifies
|
|
a regular expression that compares against the text sent to the alias command,
|
|
when matched the sub-entries of that alias::format will be used, you may have
|
|
multiple alias::format's to make the command do different things depending on
|
|
the text sent to it. The alias::format::nick is the nickname to forward this
|
|
alias to. The alias::format::type specifies the type of the alias that the
|
|
message should be forwarded to. The alias::format::parameters is what will
|
|
be sent as the parameters to this alias. To specify one of the parameters given
|
|
to the command alias specify % followed by a number, for example, %1 is the
|
|
first parameter. To specify all parameters from a given parameter to the end
|
|
do % followed by the number and a -, for example %2- returns all parameters
|
|
from the second till the last. For examples of using the alias block in the
|
|
command format, consult doc/example.conf.</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.30 - </font><font class="block_name">Help Block</font>
|
|
<font class="block_optional">OPTIONAL</font><a name="helpblock"></a>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
help <name> {<br>
|
|
<text-line>;<br>
|
|
<text-line>;<br>
|
|
...<br>
|
|
};</p>
|
|
<p>(Note: normally you just include help.conf)</p>
|
|
<p>The help block allows you to create entries for use in /helpop. The help::
|
|
is the value that must be passed to /helpop as a parameter, if the help:: is
|
|
left out, then it will be used when no parameter is passed to /helpop. The entries
|
|
for the help block are the text that will be displayed to the user when requesting
|
|
the /helpop.</p>
|
|
<p></p>
|
|
<p><font class="block_section">4.31 - </font><font class="block_name">Set Block</font>
|
|
<font class="block_required">REQUIRED</font> <font class="block_old">(Previously known as unrealircd.conf/networks file)</font><a name="setblock"></a>
|
|
</p>
|
|
<p>The set file is what use to be our networks/unrealircd.conf and our networks
|
|
file. On single server networks, rather than have 3 files, on single server
|
|
networks, you can just include the set statements in the unrealircd.conf, on
|
|
multi-server networks, i recommend still using a networks file.</p>
|
|
<p>Now, if your server is on a network, chances are you will all basically use
|
|
the same Set settings. Therefore it makes more sense to have a network file,
|
|
which is loaded with a include:: directive. Below you will find all of the set
|
|
directives available.</p>
|
|
<p>In this doc we refer to settings / directives in the <block-name>::<block-directive>
|
|
format. This format is NOT the format that it can be entered into the configuration
|
|
file. IT MUST be converted to the format listed below. It is presented in the
|
|
format it is to make discussing it simpler.</p>
|
|
<p>Syntax:<br>
|
|
set {<br>
|
|
<entry> <value>;<br>
|
|
<entry> <value>;<br>
|
|
...<br>
|
|
};</p>
|
|
<p>The set block sets options for individual server features. Each entry does
|
|
something different and therefore each will be described below. Some directives
|
|
have sub blocks which will also be described. There are many set statements
|
|
to cover, all of the directives listed below can be included under ONE set statement.
|
|
If a directive has options, they are included within the single set statement
|
|
as well.<br>
|
|
Example:<br>
|
|
Set {<br>
|
|
kine-address my@emailaddress.com;<br>
|
|
auto-join #welcome;<br>
|
|
options {<br>
|
|
hide-ulines;<br>
|
|
no-stealth; };<br>
|
|
hosts {<br>
|
|
local LocalOp.MyNet.com;<br>
|
|
global globalop.mynet.com; };<br>
|
|
};</p>
|
|
<p>Now if you wanted to make the set statements seperate, say you wanted to set
|
|
your options in a single line.<br>
|
|
Example:<br>
|
|
set { options { hide-ulines; no-stealth; }; };<br>
|
|
</p>
|
|
<p><font class="set">set::kline-address <email-address>;</font><br>
|
|
The email address that K:line questions should be sent to. This value must be
|
|
specified.</p>
|
|
<p><font class="set">set::modes-on-connect <+modes>;</font><br>
|
|
The modes that will be set on a user at connection.</p>
|
|
<p><font class="set">set::modes-on-oper <+modes>;</font><br>
|
|
The modes that will be set on a user when they /oper.</p>
|
|
<p><font class="set">set::auto-join <channels>;</font><br>
|
|
The channel(s) a user will be forced to join at connection. To specify more
|
|
than one channel use a comma seperated list.</p>
|
|
<p><font class="set">set::oper-auto-join <channels>;</font><br>
|
|
The channel(s) a user will be forced to join when they /oper. To specify more
|
|
than one channel use a comma seperated list.</p>
|
|
<p><font class="set">set::anti-spam-quit-message-time <timevalue>;</font><br>
|
|
A time value specifying the length of time a user must be connected for before
|
|
a /quit message will be displayed. Used to prevent spam. A time value is a numeric
|
|
string with d meaning days, h meaning hours, m meaning minutes, and s meaning
|
|
seconds, for example 1d2h3m means 1 day, 2 hours, 3 minutes.</p>
|
|
<p><font class="set">set::prefix-quit <text-to-prefix-quit>;</font><br>
|
|
Sets the text that will be used to prefix a quit message. If this value is set
|
|
to 0 then the standard "Quit:" is used.</p>
|
|
<p><font class="set">set::static-quit <quit message>;</font><br>
|
|
Sets a static quit message that will be sent whenever a client logs off the
|
|
network. This eliminates the need for anti-spam-quit-message-time, as well as
|
|
the set::prefix-quit. It will NOT replace ERRORS with the static-quit message.</p>
|
|
<p><font class="set">set::oper-only-stats <stats-list>;</font><br>
|
|
Specifies a list of stats flags with no seperators that defines stats flags
|
|
only opers can use. Leave this value out to allow users to use all flags, or
|
|
specify * for users to be able to use no flags.</p>
|
|
<p><font class="set">set::maxchannelsperuser <amount-of-channels>;</font><br>
|
|
Specifies the number of channels a single user may be in at any one time.</p>
|
|
<p><font class="set">set::options::hide-ulines;</font><br>
|
|
If this is present, Ulined server will be hidden in a /links requested by non-opers.</p>
|
|
<p><font class="set">set::options::show-opermotd;</font><br>
|
|
If present the opermotd will be shown to users once they successfully /oper.</p>
|
|
<p><font class="set">set::options::identd-check;</font><br>
|
|
If present the presence of an identd server will be checked and the returned
|
|
value will be used for the username. If no ident request is returned or the
|
|
identd server doesn't exist, the user's specified username will be prefixed
|
|
with a ~. If this value is omitted no such check is made.</p>
|
|
<p><font class="set">set::options::show-connect-info;</font><br>
|
|
If present notices showing "ident request", "hostname lookup",
|
|
etc. will be displayed when a user connects.</p>
|
|
<p><font class="set">set::options::dont-resolve;</font><br>
|
|
If present hosts of incomming users are not resolved, can be usefull if many of your
|
|
users don't have a host to speed up connecting.<br>
|
|
Note that since no resolving is done you also can't have host based allow blocks.</p>
|
|
<p><font class="set">set::dns::timeout <timevalue>;</font><br>
|
|
A time value specifying the length of time a DNS server has to respond before
|
|
a timeout. A time value is a numeric string with d meaning days, h meaning hours,
|
|
m meaning minutes, and s meaning seconds, for example 1d2h3m means 1 day, 2
|
|
hours, 3 minutes.</p>
|
|
<p><font class="set">set::dns::retries <number-of-retries>;</font><br>
|
|
A numeric value specifying the number of times the DNS lookup will be retried
|
|
if failure occurs.</p>
|
|
<p><font class="set">set::dns::nameserver <name-of-dns-server>;</font><br>
|
|
Specifies the hostname of the server that will be used for DNS lookups.</p>
|
|
<p><font class="set">set::network-name <name-of-network>;</font><br>
|
|
Specifies the name of the network on which this server is run. This value should
|
|
be exactly the same on all servers on a network.</p>
|
|
<p><font class="set">set::default-server <server-name>;</font><br>
|
|
Defines the name of the default server to tell users to connect to if this server
|
|
is full.</p>
|
|
<p><font class="set">set::services-server <server-name>;</font><br>
|
|
Specifies the name of the server that the services bots are connected to. Required,
|
|
set it to something like services.yournet.com if you don't have services.</p>
|
|
<p><font class="set">set::stats-server <server-name>;</font><br>
|
|
Sets the name of the server on which the stats bot is located. If stats are
|
|
not run this value may be left out.</p>
|
|
<p><font class="set">set::help-channel <network-help-channel>;</font><br>
|
|
Sets the name of the help channel for this network.</p>
|
|
<p><font class="set">set::cloak-keys { <value>; <value>; <value>; };</font><br>
|
|
Sets the keys to be used to generate a +x host. This value must be the same
|
|
on all servers or the servers will not link. Each of the set::cloak-keys:: must
|
|
be a numeric value greater than 10000. You must have exactly three values specified.</p>
|
|
<p><font class="set">set::hiddenhost-prefix <prefix-value>;</font><br>
|
|
Defines the prefix that will be used on hiddenhosts (+x) this is usually three
|
|
or four letters representing the network name.</p>
|
|
<p><font class="set">set::hosts::local <locop-host-name>;</font><br>
|
|
Defines the hostname that will be assigned to local opers when they set +x.</p>
|
|
<p><font class="set">set::hosts::global <globop-host-name>;</font><br>
|
|
Defines the hostname that will be assigned to global operators when they set
|
|
+x.</p>
|
|
<p><font class="set">set::hosts::coadmin <coadmin-host-name>;</font><br>
|
|
Sets the hostname that will be assigned to co-admins when they set +x.</p>
|
|
<p><font class="set">set::hosts::admin <admin-host-name>;</font><br>
|
|
Defines the hostname that will be set for admins when they set +x.</p>
|
|
<p><font class="set">set::hosts::servicesadmin <servicesadmin-host-name>;</font><br>
|
|
Sets the hostname that will be given to services-admins when they set +x.</p>
|
|
<p><font class="set">set::hosts::netadmin <netadmin-host-name>;</font><br>
|
|
Sets the hostname that will be given to netadmins when they set +x.</p>
|
|
<p><font class="set">set::hosts::host-on-oper-up <yes/no>;</font><br>
|
|
If set to yes, the H/get_host flag will be honored and +x will be automatically
|
|
set at /oper. If set to no, the user must set +x manually to receive the oper
|
|
host.</p>
|
|
<p><font class="set">set::scan::endpoint <ip:port>;</font><br>
|
|
Specifies the IP and port that the server will tell an incoming open proxy to
|
|
connect to.</p>
|
|
<p><font class="set">set::scan::bind-ip <ip>;</font><br>
|
|
What ip should the scanner bind to before connecting</p>
|
|
<p><font class="set">set::scan::message <message>;</font><br>
|
|
Put a message that users will see when scanner is scanning</p>
|
|
<p><font class="set">set::scan::bantime {time}</font><br>
|
|
Sets the time of the ban (4d)</p>
|
|
<p><font class="set">set::scan::timeout {time}</font><br>
|
|
How long we wait to see if the host has a proxy (15s)</p>
|
|
<p><font class="set">set::ssl::egd <filename>;</font><br>
|
|
Specifies that EGD (Entropy Gathering Daemon) support should be enabled. If
|
|
you run OpenSSL 0.9.7 or higher, then /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool,
|
|
and /etc/entropy will be searched by default so no filename is necessary, you
|
|
may simply specify set::ssl::egd with no value. If you are using a version of
|
|
OpenSSL prior to 0.9.7 or you want to use a EGD socket located somewhere other
|
|
than the above listed locations you may specify the filename of the UNIX Domain
|
|
Socket that an EGD is listening on.</p>
|
|
<p></p>
|
|
<p><strong><font size="+2">5 – User & Channel Modes<a name="userchannelmodes"></a>
|
|
</font></strong></p>
|
|
<table width="83%" border="1">
|
|
<tr>
|
|
<td><div align="center"><strong>Mode</strong></div></td>
|
|
<td><div align="center"><strong>Description</strong></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><div align="center"><strong>Channel Modes</strong></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">A</div></td>
|
|
<td>Only Administrators may join</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">a <nick></div></td>
|
|
<td>Goves protection to that user, may not be kicked</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">b <nick!user@host><br>
|
|
</div></td>
|
|
<td>Bans the givin user from the channel</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">c</div></td>
|
|
<td>No ANSI color can be sent to the channel</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">C</div></td>
|
|
<td>No CTCP's allowed in the channel</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">e <nick!user@host></div></td>
|
|
<td>Exception ban – If someone matches this, they can join a channel
|
|
even if they match an existing ban</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">f * <lines:seconds></div></td>
|
|
<td>Flood protection, if the * is given a user will kick banned when they
|
|
send <lines:seconds> if no * they are just kicked</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">G</div></td>
|
|
<td>Makes channel G rated. Checks for words listed in the Bad Word Blocks,
|
|
and replaces them with the words specified</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">M</div></td>
|
|
<td>A registered nickname (+r) is required to talk</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">h <nick></div></td>
|
|
<td>Gives half-op status to the user</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">i</div></td>
|
|
<td>Invite required</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">K</div></td>
|
|
<td>/knock is not allowed</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">k <key></div></td>
|
|
<td>Sets a key needed to join</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">l <##></div></td>
|
|
<td>Sets max number of users</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">L <Chan></div></td>
|
|
<td>If the amount set by +l has been reached, users will be sent to this channel</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">m</div></td>
|
|
<td>Moderated channel. Only +v/o/h users may speak</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">N</div></td>
|
|
<td>No nick name changes permitted</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">n</div></td>
|
|
<td>No messages from outside channels</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">O</div></td>
|
|
<td>Only IRCops may join</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">o <nick></div></td>
|
|
<td>Gives a user channel operator status</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">p</div></td>
|
|
<td>Makes channel private</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">q</div></td>
|
|
<td>Sets channel owner</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">Q</div></td>
|
|
<td>Only U:Lined servers can kick users</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">R</div></td>
|
|
<td>Requires a registered nickname to join</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">S</div></td>
|
|
<td>Strips all incoming colors</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">s</div></td>
|
|
<td>Makes channel secret</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td>Only chanops can set topic</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">u</div></td>
|
|
<td>Auditorium Makes /names and /who #channel only show channel ops</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">V</div></td>
|
|
<td>/invite is not allowed</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">v <nick></div></td>
|
|
<td>Gives a voice to users. (May speak in +M Channels</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">z</div></td>
|
|
<td>Only clients on a Secure (SSL) Connection may join</td>
|
|
</tr>
|
|
</table>
|
|
<p> </p>
|
|
<table width="75%" border="1">
|
|
<tr>
|
|
<td><div align="center"><strong>Mode</strong></div></td>
|
|
<td><div align="center"><strong>Description</strong></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><div align="center"><strong>User Modes</strong></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">r</div></td>
|
|
<td>Identifies the nick as being registered</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">s</div></td>
|
|
<td>Can listen to server notices</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">v</div></td>
|
|
<td>Receives infected DCC Send Rejection notices</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">o</div></td>
|
|
<td>Global IRC Operator (Set in Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">O</div></td>
|
|
<td>Local IRC Operator (Set in Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">B</div></td>
|
|
<td>Marks you as being a Bot</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">b</div></td>
|
|
<td>Can send and read ChatOps</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">i</div></td>
|
|
<td>Invisible (not shown in /who)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">A</div></td>
|
|
<td>Server Admin (Set in Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">x</div></td>
|
|
<td>Gives user a hidden hostname </td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">q</div></td>
|
|
<td>Only U:Lines can kick you (Services Admins Only)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">a</div></td>
|
|
<td>Services Admin (Set in Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">g</div></td>
|
|
<td>Can send & read globops and locops</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">H</div></td>
|
|
<td>Hide IRCop Status (IRCop Only)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">S</div></td>
|
|
<td>Used to protect Services Daemons</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td>Says you are using a /vhost</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">C</div></td>
|
|
<td>Co-Admin (Set in Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">d</div></td>
|
|
<td>Makes it so you can not receive private messages</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">k</div></td>
|
|
<td>Can see all the /kill commands executed</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">N</div></td>
|
|
<td>Network Administrator (Set in Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">w</div></td>
|
|
<td>Can listen to wallop messages</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">h</div></td>
|
|
<td>Available for help (HelpOp) (Set in OperBlock)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">G</div></td>
|
|
<td>Filters out all the bad words per configuration</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">W</div></td>
|
|
<td>Lets you see when people do a /whois on you (IRCops Only)</td>
|
|
</tr>
|
|
</table>
|
|
<p> </p>
|
|
<p><font size="+2"><strong>6 – User & Oper Commands Table<a name="useropercommands" id="useropercommands"></a></strong></font></p>
|
|
<table width="75%" border="1">
|
|
<tr>
|
|
<td width="33%"><div align="center"><strong>Command</strong></div></td>
|
|
<td width="57%"><div align="center"><strong>Description</strong></div></td>
|
|
<td width="10%"><div align="center"><strong>Who</strong></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td>nick <newnickname></td>
|
|
<td>Changes your online nick name. Alerts others to the change of your nick<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td>whois <nick></td>
|
|
<td>Displays information of user requested. Includes Full Name, Host, Channels
|
|
User is in, and Oper Status<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">who <mask></td>
|
|
<td>Who allows you to search for users. Masks
|
|
include: nickname, #channel, hostmask (*.attbi.com)<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">whowas <nick> <maxreplys></td>
|
|
<td>Displays information on a nick that has logged off. The <max replies>
|
|
field is optional, and limits how many records will be returned.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">ison <nick1 nick2 nick3 ...></td>
|
|
<td>Allows you to check the online status of a user, or a list of users. Simple
|
|
return, best used for scripts<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">join <channel1,channel2, ...></td>
|
|
<td>Allows you to join channels. Using the /join #channel1, #channel2, channel3
|
|
will allow you to join more than one channel at a time. The /join 0 command
|
|
makes you PART</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">part <channel1, channel2, ...></td>
|
|
<td>Allows you to part (leave) channels. Using the /part #channel1, #channel2,
|
|
channel3 will allow you to part more than one channel at a time. </td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">motd <server></td>
|
|
<td>Displays the servers motd. Adding a server name allows you to view motd’s
|
|
on other servers.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">rules <server></td>
|
|
<td>Displays the ircd.rules of a server. Adding a server name allows you to
|
|
view rules on other servers</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">lusers <server> </td>
|
|
<td>Displays current & max user loads, both global and local. Adding a server name allows you to view rules on other servers.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">map</td>
|
|
<td>Displays a network map</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">quit <reason></td>
|
|
<td>Causes you to disconnect from the server. If you include a reason, it
|
|
will be displayed on all channels as you quit</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">ping <user></td>
|
|
<td>Sends a PING request to a user. Used for checking connection and lag.
|
|
Servers issue pings on a timed basis to determine if users are still connected.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">version <nick></td>
|
|
<td>Sends a CTCP Version request to the user. If configured to do so, their
|
|
client will respond with the client version.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">links</td>
|
|
<td>Displays a list of all servers linked to the network</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">Admin <server></td>
|
|
<td>Displays the admin info of a server. If a server name is included it will
|
|
display the info of that server.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">userhost <nick></td>
|
|
<td>Displays the userhost of the nick given. Generally used for scripts<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">topic <channel> <topic></td>
|
|
<td>Topic <channel> will display the current topic of the given channel. Topic
|
|
<channel> <topic> will change the topic of the given channel.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">invite <nick> <channel></td>
|
|
<td>Invites the given user to the given channel. (Must be a channel Op)<br></td>
|
|
<td>ChanOp</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">kick <channel, channel> <user, user> <reason></td>
|
|
<td>Kicks a user or users out of a channel, or channels. A reason may also
|
|
be supplied. <br></td>
|
|
<td>ChanOp</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">away <reason></td>
|
|
<td>Marks you as being away. A reason may also be supplied.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">Watch +-<nick> +-<nick><br></td>
|
|
<td>Watch is a new notify-type system in UnrealIRCd which is both faster and
|
|
uses less network resources than any old-style notify system. The server
|
|
will send you a message when any nickname in your watch list logs on or
|
|
off. The watch list DOES NOT REMAIN BETWEEN SESSIONS - you (or your script
|
|
or client) must add the nicknames to your watch list every time you connect
|
|
to an IRC server.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">helpop ?<topic> or !<topic><br></td>
|
|
<td>HelpOp is a new system of getting IRC Server help. You type either /HELPOP
|
|
? <help system topic> or /HELPOP ! <question> The "?"
|
|
in /HELPOP means query the help system and if you get no response you can
|
|
choose '!' to send it to the Help Operators online Using neither ? nor !
|
|
will mean the command will be first queried within the help system and if
|
|
no match if found , it will be forwarded to the help operators</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">list <search string></td>
|
|
<td>Lists all channels on the network. If a search string is supplied, it
|
|
will apply that to the search. Wildcards are supported</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">quote</td>
|
|
<td>If you don't include any options, the default is to send you the entire
|
|
unfiltered list of channels. Below are the options you can use, and what
|
|
channels LIST will return when you use them.<br> >number List channels
|
|
with more than <number> people.<br> <number List channels with
|
|
less than <number> people.<br>
|
|
C>number List channels created between now and <number> minutes
|
|
ago.<br>
|
|
C<number List channels created earlier than <number> minutes ago.<br>
|
|
T>number List channels whose topics are older than <number> minutes
|
|
(Ie., they have not changed in the last <number> minutes.<br>
|
|
T<number List channels whose topics are newer than <number> minutes.<br>
|
|
*mask* List channels that match *mask*<br>
|
|
!*mask* List channels that do not match *mask*<br> </td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">Knock <channel> <message><br></td>
|
|
<td>Allows you to ‘knock’ on an invite only channel and ask for
|
|
access. Will not work if channel has one of the following modes set: +K
|
|
+V. Will also not work if you are banned<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">setname</td>
|
|
<td>Allows users to change their ‘Real Name’ without reconnecting<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">vhost <login> <password></td>
|
|
<td>Hides your host name by using a vhost provided by the server. <br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">mode <chan/nick> <mode><br></td>
|
|
<td>Lets you set channel and user modes. Refer to section 5 for lists of modes<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">credits</td>
|
|
<td>Lists credits for everyone that has helped create UnrealIRCD<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">license</td>
|
|
<td>Displays the GNU License</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">time <server></td>
|
|
<td>Displays the servers date and time. Including a server name allows you
|
|
to check other servers.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">botmotd <server><br></td>
|
|
<td>Displays the servers bot message of the day. Including a server name allows
|
|
you to check other servers</td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">identify <password></td>
|
|
<td>Sends your password to the services system to identify to your nick.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">identify <channel> <password></td>
|
|
<td>Sends your password to the services system to identify as the founder
|
|
of a channel.<br></td>
|
|
<td>All</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">oper <userid> <password><br></td>
|
|
<td>Command to give a user operator status if they match an Oper Block<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">wallop <message></td>
|
|
<td>Sends a message to all users with umode +w</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">globops <message></td>
|
|
<td>Sends a message to all IRCops</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chatops <message></td>
|
|
<td>Send a message to all IRCops with umode +c</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">locops <message></td>
|
|
<td>Sends a message to all local IRCops</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">adchat <message></td>
|
|
<td>Sends a message to all Admins</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">nachat <message></td>
|
|
<td>Sends a message to all Net Admins</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">kill <nick> <reason></td>
|
|
<td>Kills a user from the network</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">kline +-<hostmask> <time to ban> <reason></td>
|
|
<td>Bans the hostmask from the server it is issued on. It is not a global
|
|
ban. Time to ban is in seconds, or you can use 1d for 1 days. If the hostmask is prefixed with a -, the kline is removed</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">zline +-<ip> <time to ban> <reason></td>
|
|
<td>Bans an IP Address from the local server it is issued on. Time to ban is in seconds, or you can use 1d for 1 days. If the ip is prefixed with a - then the zline is removed.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">gline +-<user@host> <time to ban> :<reason><br></td>
|
|
<td>Adds a global ban to anyone that matches. Time to ban is in seconds, or
|
|
you can use 1d for 1 days. To remove a gline, put a –user@host<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">shun +-<user@host> <time to shun> :<reason><br></td>
|
|
<td>Prevents a user from executing ANY commands on the server, and prevents
|
|
them from speaking. Time to shun is in seconds, or you can use 1d for 1 days.
|
|
To remove a shun, put a –user@host. Setting time to 0 makes it permanent.
|
|
<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">gzline +-<ip> <time to ban> :<reason><br></td>
|
|
<td>Adds a global zline. Time to ban is in seconds, or you can use 1d for 1
|
|
days. To remove a gzline, put a –user@host. Setting time to 0 makes
|
|
it permanent.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">rehash <server> –<flags></td>
|
|
<td>Rehashes the servers config file. Including a server name allows you to
|
|
rehash a remote servers config file. Several flags are also available. They
|
|
Include <br>
|
|
-all - Rehashes all config files
|
|
-motd - Rehashes all MOTD files and RULES files (including tld {})<br>
|
|
-opermotd - Rehashes the OPERMOTD<br>
|
|
-botmotd - Rehashes the BOTMOTD<br>
|
|
-garbage - Force garbage collection<br>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">restart <server> <password><br></td>
|
|
<td>Restarts the IRCD Process. Password is required. You may also include
|
|
a server name to restart a remote server.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">die <password><br></td>
|
|
<td>Terminates the IRCD Process. Password is required</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">lag <server> <br></td>
|
|
<td>This command is like a Sonar or Traceroute for IRC server. You type in
|
|
/LAG irc.fyremoon.net and it will reply from every server it passes with
|
|
time and so on Useful for looking where lag is and optional TS future/past
|
|
travels<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">sethost <newhost></td>
|
|
<td>Lets you change your vhost to what ever you want it to be.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">setident <newident><br></td>
|
|
<td>Lets you set your ident to what ever you want it to be<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chghost <nick> <newhost><br></td>
|
|
<td>Lets you change the host name of a user currently on the system<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chgident <nick> <newident><br></td>
|
|
<td>Lets you set your ident to what ever you want it to be<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chgname <nick> <newname><br></td>
|
|
<td>Lets you change the realname of a user currently on the system<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">squit <sever><br></td>
|
|
<td>Disconnects a server from the network<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">connect <server> <port> <server></td>
|
|
<td>If only one server is givin, it will attempt to connect the server you
|
|
are ON to the given server. If 2 servers are given, it will attempt to connect
|
|
the 2 servers together. Put the hub server as the first, and the leaf server
|
|
as the second.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">dccdeny <filemask> <reason><br></td>
|
|
<td>Adds a DCCDENY for that filemask. Preventing that file from being sent.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">undccdeny <filemask><br></td>
|
|
<td>Removes a DCCDENY</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">sajoin <nick> <channel>, <channel><br></td>
|
|
<td>Forces a user to join a channel(s). Available to services & network
|
|
admins only</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">sapart <nick> <channel>, <channel><br></td>
|
|
<td>Forces a user to part a channel(s). Available to services & network
|
|
admins only.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">samode <channel> <mode><br></td>
|
|
<td>Allows Network & Services admins to change modes of a channel without
|
|
having ChanOps.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">rping <servermask><br></td>
|
|
<td>Will calculate in milliseconds the lag between servers<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">trace <servermask><br></td>
|
|
<td>Will calculate in milliseconds the lag between servers<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">opermotd <br></td>
|
|
<td>Displays the servers OperMotd File<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">addmotd :<text><br></td>
|
|
<td>Will add the given text to the end of the Motd<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">addomotd :<text><br></td>
|
|
<td>Will add the given text to the end of the OperMotd<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">sdesc <newdescription><br></td>
|
|
<td>Allows server admins to change the description line of their server without
|
|
restarting.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">addline <text><br></td>
|
|
<td>Allows you to add lines to the unrealircd.conf<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">mkpasswd <password><br></td>
|
|
<td>Will encrypt a clear text password to add it to the unrealircd.conf<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl offset +/- <time><br></td>
|
|
<td>Adjust the IRCD’s Internal clock (Do NOT use if you do not understand
|
|
EXACTLY what it does)<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl time<br></td>
|
|
<td>Will give a TS Report</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl alltime</td>
|
|
<td>Will give a TS Report of ALL servers</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl svstime <timestamp><br></td>
|
|
<td>Sets the TS time of all servers (Do NOT use if you do not understand EXACTLY
|
|
what it does)<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">htm <option><br></td>
|
|
<td>Controls settings related to high traffic mode. High Traffic Mode (HTM)
|
|
basically disables certain user commands such as: list whois who etc in
|
|
response to extremely high traffic on the server. Options include: <br>
|
|
-ON Forces server into HTM <br>
|
|
-OFF Forces server out of HTM <br>
|
|
-NOISY Sets the server to notify users/admins when in goes in and out of
|
|
HTM<br>
|
|
-QUITE Sets the server to NOT notify when going in and out of HTM<br>
|
|
-TO <value> Sets Traffic rate HTM activate<br> </td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">stats <option><br></td>
|
|
<td>b - Send the badwords list<br>
|
|
C - Send the link block list<br>
|
|
d - Send the deny link (auto) block list<br>
|
|
D - Send the deny link (all) block list<br>
|
|
e - Send the except socks block list<br>
|
|
E - Send the except ban block list<br>
|
|
F - Send the deny dcc block list<br>
|
|
G - Report TKL information (G:lines/Shuns)<br>
|
|
H - Send the link block list<br>
|
|
I - Send the allow block list<br>
|
|
K - Send the ban user/ban ip/except ban block list (Includes AKILLs)<br>
|
|
L - Send Link information<br>
|
|
m - Send the events list<br>
|
|
M - Send list of how many times each command was used<br>
|
|
n - Send the ban realname block list<br>
|
|
N - Send network configuration list<br>
|
|
O - Send the oper block list<br>
|
|
q - Send the SQLINE list<br>
|
|
Q - Send the ban nick block list<br>
|
|
r - Send the channel deny/allow block list<br>
|
|
s - Send the SCache and NS list<br>
|
|
S - Send the dynamic configuration list<br>
|
|
t - Send the tld block list<br>
|
|
T - Send connection information<br>
|
|
u - Send server uptime and connection count<br>
|
|
U - Send the ulines block list<br>
|
|
v - Send the deny version block list<br>
|
|
V - Send the vhost block list<br>
|
|
y - Send the class block list<br>
|
|
Z - Send memory usage information</td>
|
|
<td>Admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">module<br></td>
|
|
<td>
|
|
Lists all loaded modules
|
|
<td>IRCop/All</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p> </p>
|
|
<p><font size="+2"><strong>7 – Frequently Asked Questions (FAQ)<a name="faq"></a></strong></font></p>
|
|
<p>The FAQ is available online <a href="http://www.vulnscan.org/UnrealIrcd/faq/" TARGET="_blank">here</a></p>
|
|
|
|
<p> </p>
|
|
<p> </p>
|
|
</body>
|
|
</html>
|