home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 14 / MA_Cover_14.iso / internet / unreal / doc / conf.doc next >
Encoding:
Text File  |  2000-02-13  |  64.6 KB  |  1,538 lines

  1. esOriginally by Roddy Vagg -- roddy@dal.net
  2. modified for UnrealIRCD3.0
  3.  
  4. --------------------
  5.  
  6.     1) ............................. Introduction
  7.     2) ............................. ircd.conf Basics
  8.     3) ............................. ircd.conf Lines
  9.      3.1) .......................... M Lines
  10.      3.2) .......................... A Lines
  11.      3.3) .......................... Y Lines
  12.      3.4) .......................... I Lines
  13.      3.5) .......................... O Lines
  14.      3.6) .......................... U Lines
  15.      3.7) .......................... C and N Lines
  16.      3.8) .......................... K Lines
  17.      3.9) .......................... q Lines (server form)
  18.      3.10) ......................... Q Lines (nickname form)
  19.      3.11) ......................... L Lines
  20.      3.12) ......................... H Lines
  21.      3.13) ......................... P Lines
  22.      3.14) ......................... T Lines
  23.      3.15) ......................... E Lines
  24.      3.16) ......................... e Lines
  25.      3.17) ......................... Summary
  26.     4) ............................. dccdeny.conf
  27.      4.1) .......................... deny Lines 
  28.     5) ............................. chrestrict.conf
  29.      5.1) .......................... msg Lines
  30.      5.2) .......................... allow Lines
  31.     6) ............................. vhost.conf
  32.      6.1) .......................... vhost Lines
  33.     7) ............................. unrealircd.conf
  34.      7.1) .......................... Include Line
  35.      7.2) .......................... Set KLINE_ADDRESS Line
  36.      7.3) .......................... Set MODE_X Line
  37.      7.4) .......................... Set TRUEHUB Line
  38.      7.5) .......................... Set CONFIG_FILE_STOP Line
  39.      7.6) .......................... Set SHOWOPERS Line
  40.      7.7) .......................... Set KILLDIFF Line
  41.      7.8) .......................... Set SHOWOPERMOTD Line
  42.     8) ............................. network files
  43.      8.1) .......................... Network Line
  44.      8.2) .......................... Set ircnetwork Line
  45.      8.3) .......................... Set defserver Line
  46.      8.4) .......................... Set SERVICES_NAME Line
  47.      8.5) .......................... Set oper_host Line
  48.      8.6) .......................... Set admin_host Line
  49.      8.7) .......................... Set locop_host Line
  50.      8.8) .......................... Set sadmin_host Line
  51.      8.9) .......................... Set netadmin_host Line
  52.      8.10) ......................... Set coadmin_host Line
  53.      8.11) ......................... Set techadmin_host Line
  54.      8.12) ......................... Set hidden_host Line
  55.      8.13) ......................... Set netdomain Line
  56.      8.14) ......................... Set helpchan Line
  57.      8.15) ......................... Set STATS_SERVER Line
  58.      8.16) ......................... Set HUB Line
  59.      8.17) ......................... Set iHAN Line
  60.      8.18) ......................... Set net_quit Line
  61.  
  62. --------------------
  63.  
  64. 1) Introduction:
  65.  
  66.   If you are running, or planning on running an IRC server for a network,
  67.  you will need to setup an ircd.conf, your ircd.conf must meet the
  68.  requirements of a linked network server which means it must contain all
  69.  the standard network lines, these will be listed at the bottom of this
  70.  document. (If you make your own network you may customize them yourself)
  71.  
  72. --------------------
  73.  
  74. 2) ircd.conf Basics:
  75.  
  76.   When you compile your server, you must specify the correct paths to
  77.  where you plan on keeping your ircd.conf, for simplicity it is recomended
  78.  that you keep it in the same diretory as your ircd binary and other ircd
  79.  files.
  80.    note: You need only supply full pathnames for DPATH and SPATH, the
  81.  other defines will only point to files under these directories so you
  82.  need not put full path names.
  83.   For security reasons, your ircd.conf should have permissions set to 600,
  84.  if other users on your system gain access to view the file they may be
  85.  able to breach the security of your server and compromise the whole
  86.  network.
  87.   When you have made your ircd.conf you may check it with the program
  88.  `chkconf', this program is supplied with the source code release and will
  89.  be installed into your ircd directory when you run `make install',
  90.  `chkconf' will check your ircd.conf for errors so is a usefull tool for
  91.  beginners to ircd.conf.
  92.   Your ircd.conf will be made up of a series of lines, each line is used
  93.  for a different purpose in the running of your server, some lines are
  94.  mandatory for ircd, so you must enter these lines or your server will not
  95.  start, these lines are listed below.
  96.   You may enter comments in your ircd.conf with the use of a hash mark (#)
  97.  at the beginning of a line, it is recommended that you make full use of
  98.  this to add comments to everything you put in your ircd.conf so you dont
  99.  have any problems later.
  100.    eg: Put a contact email address and the name/nick of the server admin
  101.        above each C/N line pair.
  102.   When ircd reads the ircd.conf file, it does it upside down, so lines with
  103.  higher prefrence should go lower in the file, this will be explained later.
  104.  
  105. --------------------
  106.  
  107. 3) ircd.conf Lines:
  108.  
  109.   Each type of line in this section will be given a rating of how needed
  110.   it is in the running of the server, the ratings are:
  111.  
  112.      MANDATORY: you absolutely MUST have this line
  113.      NETWORKED: you must have this line if plan on connecting your server
  114.                 to other servers. (note: you can run ircd stand alone)
  115.      SUGGESTED: it is highly suggested that you use this line
  116.       OPTIONAL: it's completely up to you whether to define this or not
  117.    DISCOURAGED: you really really should not use this line if at all
  118.                 possible.
  119.  
  120.   Note that "*" in a field indicates an "unused" field.
  121.  
  122. --------------------
  123.  
  124. 3.1) M Lines: [MANDATORY]
  125.  
  126.  This line sets your server's name, description, and port number.
  127.  If you are to be a part of DALnet you will be assigned 2 different
  128.  DNS entries for your ircd machine, the 1st is for general public use
  129.  and involves: <servername>.DAL.net
  130.  The second is for use between servers for identification, these take
  131.  the form of: <servername>.[<state>].<country>.DAL.net
  132.  If your server is located in the US or Australia, you will be given
  133.  a `state' field in your server's real name, otherwise your `state', or
  134.  `area' will not be included.
  135.  Most IRC networks default to port 6667 for their client connection's,
  136.  but DALnet uses port 7000 as its standard, you should compile ircd with
  137.  port 7000, not 6667, but you may open up port 6667 (it is recomended
  138.  that you do) with a P line (see later). Your M line's port number
  139.  should be the same as the number you defined in your config.h at compile
  140.  time.
  141.  
  142.  Syntax:
  143. M:hostname:IP:Description Of Your Server:7000
  144.  The 1st field should be the `real' name of your server, not the short
  145.  name.
  146.  The 2nd field is the IP the server should bind to - "*" if all interfaces
  147.      on the server
  148.  The 3rd field is your server's description, it is up to you what you
  149.  put in this field, but a short description of its geographic location
  150.  is recomended.
  151.  The 4th field is the port number you compiled ircd with. This should be
  152.  7000 for DALnet.
  153.  
  154.  Example:
  155. M:disney.irc.net::Walt's IRC Server:7000
  156.  
  157. --------------------
  158.  
  159. 3.2) A Lines: [MANDATORY]
  160.  
  161.  This line sets your server's administrative information.
  162.  Whenever a user types /admin on your server (or /admin <servername>)
  163.  they will recieve the information you put here.
  164.  This line has no set information, so you may put arbitrary text if you
  165.  like, but it is recomended that you at least put your nick and email
  166.  address so users may contact you if need be.
  167.  
  168.  Syntax:
  169. A:A little info about your server:Admin's nick/real name:contact address
  170.  There is no fixed standard, so you may put whatever you like in each
  171.  field, but you should put enough information for users to contact someone
  172.  responsible for the server.
  173.  
  174.  Example:
  175. A:Disney's IRC Server:Admin - Walt Disney:walt@RIP.org
  176.  
  177. --------------------
  178.  
  179. 3.3) Y Lines: [SUGGESTED]
  180.  
  181.  These lines define connection classes. They allow you to fine-tune
  182.  your incomming and outgoing connections, both server and client types.
  183.  These classes are for use with C, N, I and O lines, more on this in later
  184.  sections. DALnet has a set of Y lines that each server must use for their
  185.  server connections, these are listed below and again at the bottom of this
  186.  document. Client connection classes are your responsibility, you must
  187.  make up your own set of Y lines for client connections based on your own
  188.  situation (netwise location, machine, etc).
  189.  Connection classes define a number of parameters for connections, these
  190.  include:
  191.   o Ping frequency of a silent connection.
  192.   o Connect frequency (for server connections only!).
  193.   o Maximum number of links allowed on the specific connection class.
  194.   o Maximum sendq allowed for the connection before it is dropped.
  195.  Your Y line numbers are not arbitraty. For server connection classes, the
  196.  higher the class number, the higher the priority the connection's are given
  197.  when auto-connecting, (see C/N lines below).
  198.  - Ping frequency: When a connection is silent for this period of time
  199.  the server will send a PING to the connection, if the client/server
  200.  on the connection does not reply after a set period of time, the
  201.  connection will be dropped. A value in this field will override the
  202.  ping frequency defined at compile time in your config.h. For server
  203.  connection classes, you should have the same ping frequency on both ends
  204.  of the link, so you should stick with the standard DALnet classes.
  205.  - Connect frequency: Since clients connect to servers and NOT the other
  206.  way around, only server connection classes need to have a connect
  207.  frequency. Client classes should have this field set to 0. When a server
  208.  listed in the server's ircd.conf (see C/N lines) is missing and belongs
  209.  on a conenction class that is holding less connections that defined by
  210.  the max links field, the server will keep on trying to connect to
  211.  the missing server. The ammount time between connection attempts is what
  212.  you define in this field.
  213.   example:
  214.    server1 and server2 are listed in server0's ircd.conf but the only
  215.    visible server to server0 is server1, both server1 and server2 are
  216.    in server0's ircd.conf on the same connection class that allows for `2'
  217.    links, server0 will go looking for server2 and try to connect to
  218.    it each `connect frequency' seconds until the server becomes visible
  219.    again, either by direct connection to server0, or by connection to server1
  220.  - Maximum number of links: Each Y line should have a restriction on the number
  221.  of connections allowed on the class. For client connections, when the limit
  222.  is reached on a particular class, connecting clients trying to connect
  223.  through this class are rejected. A server connecting on a `full' connection
  224.  class will be allowed as this number on server connection classes is used for
  225.  auto-connect purposes. As shown in the above example, when a missing server
  226.  is listed for a particular connection class, and the class is not `full',
  227.  your server will try and connect to this server untill it becomes visible
  228.  again. Servers being connected manually on a `full' connection class via the
  229.  /connect command will be allowed as long as you compiled with MAXIMUM_LINKS
  230.  high enough to accomidate all of your server connections. (you must compile
  231.  as a HUB if you wish to hold more than one server connection, also see H
  232.  lines later in this document).
  233.  - Maximum sendq: SendQ defines the `que' of data waiting to be sent to the
  234.  client/server on the other end of the connection. SendQ's will build up if
  235.  the client requests more data than the link can handle, say if they issue the
  236.  /list command on a network with a lot of channels and they are only on a
  237.  14.4K link, their sendq on the server will build up as all the data cannot
  238.  be sent at once, the sendq size will decrease as the data is sent, and
  239.  increase as more data is requested. Clients will normally sit with a sendq of
  240.  0, it is `abnormal' for a sendq to be high for a client for a long period
  241.  of time. When 2 servers connect, they must send their own data to
  242.  eachother, this data includes: all the users on the server and already
  243.  connected servers, channels, user modes, channel modes, topics (DALnet only)
  244.  etc. When there are many clients on a particular side of the connection, a
  245.  sendq will build up, especially if the link is slow, or already congested
  246.  (example: the link from Australia to the US). When the sendq built up reaches
  247.  the max sendq defined in the connection class for the particular
  248.  client/server, the connection will be dropped. If max sendq's are
  249.  particularly high, it will allow clients/server to take up excess memory on
  250.  the ircd machine so a limit should be placed, especially on client connection
  251.  classes. (IMPORTANT!) If any value of max sendq defined in a connection
  252.  class exceeds the value defined at compile time in your config.h, the sendq
  253.  value will default back to the compile time sendq. If your sendq field in
  254.  a Y line is empty, the class will use the default defined in your config.h
  255.  SendQ's for all connections on your server can be viewed with the
  256.   /stats l <servername>
  257.  command, this will show information for all your server's current links.
  258.  You should have a set of standard server connection classes, at least one
  259.  client connection class, and an Operator class. (see relevant parts of this
  260.  document for notes on each of these)
  261.  
  262.  Syntax:
  263. Y:Class #:Ping frequency:Connect frequency:Max links:Max sendq
  264.  
  265.  Examples:
  266. Y:1:90:0:20:10000
  267.  In this case, connect-frequency is 0 indicating that this is a client
  268.  class (servers never connect to clients, it is the other way around).
  269.  Clients may only idle for 90 seconds before being pinged by the server.
  270.  The number of clients allowed to use this class is 20.
  271.  Clients may only build up a sendq on the server of 10000 bits.
  272.  
  273.  These are the standard server Y lines used on DALnet:
  274.  
  275. # Connecting a hub to a hub
  276. Y:20:10:300:1:3000000
  277. # Connecting a US hub to a US leaf
  278. Y:30:45:0:0:2000000
  279. # Connecting a US leaf to a US hub
  280. Y:35:45:20:1:2000000
  281. # Connecting a US hub to an EU leaf
  282. Y:40:60:0:0:2200000
  283. # Connecting an EU leaf to a US hub
  284. Y:45:60:20:1:2200000
  285. # Connecting a US hub to an AU leaf
  286. Y:42:240:0:0:2200000
  287. # Connecting an AU leaf to a US hub
  288. Y:43:240:60:1:2200000
  289.  
  290. --------------------
  291.  
  292. 3.4) I Lines: [MANDATORY]
  293.  
  294.  These lines are the ones initially responsible for letting clients connect
  295.  to your server. So called `client-authorization' lines, they define who
  296.  may connect, and which connection class they will connect through.
  297.  I lines, like C, N and O lines refer back to Y lines, as they allow
  298.  connections, and each connection to ircd needs to be assigned to a
  299.  connection class. If you dont provide a connection class, the connection
  300.  will be governed by the defaults set at compile time in your config.h.
  301.  When a client connects to the server, it gives its own information,
  302.  this information includes username, nick and can include a password, the
  303.  server then goes through its client-authorization rules (I lines) to see
  304.  if the client fits any of the connection criteria.
  305.  The rules for connection on the I lines are read from right to left, so
  306.  if a connection is made, it is made on the right most rule it matches on
  307.  the line. Also, since the ircd.conf is read upside down, the server will
  308.  put the client on the lowest I line matching the client information. This
  309.  means that if the 1st rule the client can connect on matches a connection
  310.  class (Y line) that is `full' (see above), the client will be rejected,
  311.  even if there is a line further up in the file that the client matches on
  312.  that uses a connection class that has room for more clients. This means
  313.  that I lines may be used in much the same fashion as K lines (see later)
  314.  to block certain clients. It also means that you may place certain clients
  315.  on many different connection classes. (examples later)
  316.  
  317.  Syntax:
  318. I:IP-address-mask:optional password:host/domain-mask::connection class (opt)
  319.  Wildcards (`*') may be used in the mask fields (1 and 3) to allow for
  320.  very broad connection rules. Ident (for more information on this, see
  321.  rfc1413) can also be used by placing an `@' in the mask fields in the
  322.  appropriate positions. If you don't want to use ident, only give the
  323.  host/IP part of the connecting addresses, if you add a @ (usually used
  324.  as *@), ircd will try and use ident to check the real username of the
  325.  client, any connecting clients on host's that are running ident that
  326.  give usernames that dont match those found by ircd will be rejected by
  327.  the server. If the host is not running ident, a `~' will be placed in
  328.  front of the username of the connecting client to show that the its
  329.  host isnt running ident.
  330.  
  331.  Examples:
  332.  
  333. I:*@*:foobar:*@*::1
  334.  This line will allow anyone from any host that uses the password
  335.  "foobar" to connect through connection class 1 (Y line 1), the server
  336.  will also try and use ident to verify the username of the client.
  337.  Placed at the top of the I lines in your ircd.conf, this line may serve
  338.  as a fall-through for connecting clients, any client that does not match
  339.  any other I line but gives the password "foobar" will be able to connect
  340.  through this line (If Y line 1 has space).
  341.  
  342. I:205.133.*::*.toledolink.com::1
  343.  This is a standard vanilla I: line which will permit anyone with an IP
  344.  address starting with 205.133 OR with a hostname ending in
  345.  .toledolink.com to connect to the server. remember, ircd uses the
  346.  right-most match, so if I connect as rmiller@glass.toledolink.com
  347.  (which is rmiller@205.133.127.8) I will show up on irc as
  348.  rmiller@glass.toledolink.com since that is the first match it found.
  349.  (Even though the second match is valid). Any clients comming through
  350.  on this line will use connection class 1.
  351.  
  352. I:*@205.133.*::*@*.toledolink.com::1
  353.  Same as above, but the server will use ident. You may even specify
  354.  certain usernames with ident I lines, but they will only match if their
  355.  host is running ident.
  356.  
  357. I:NOMATCH::rmiller@glass.toledolink.com::1
  358.  Putting NOMATCH in the first field will stop the ircd from matching
  359.  automatically against the IP address and it will force the server to
  360.  match against the hostname. (the "NOMATCH" string is not mandatory, you
  361.  can use any arbitrary text in the first field).
  362.  
  363. I:*@*:ONE:*@*.com::1
  364.  Putting ONE is the second field says that only one user may connect through the 
  365.  use of this I:line. Once that one user is connected this I:line is ignored by 
  366.  other users.
  367.  
  368.  Bulk example:
  369. I:NOMATCH::*@*::1
  370. I:NOMATCH::*@*.fr::2
  371. I:NOMATCH::*@*.de::3
  372. I:NOMATCH::*@*.se::4
  373. I:NOMATCH::*@*.au::5
  374. I:129.180.*::*.une.edu.au::6
  375.  In this example, conencting clients will 1st be matched against the mask
  376.  *.une.edu.au, if they match they will be placed on connection class 6
  377.  (note: if 6 is full, they will be rejected, they wont be passed on to the
  378.  next I line), then tried against the IP 129.180.*, if they match, they will
  379.  be placed on class 6. If the client dosen't match either of these masks, they
  380.  will be tried against the mask *.au, so if they are from Australia, but are
  381.  not from *.une.edu.au they will be placed on class 5. This goes on through
  382.  the other lines, being placed on the various connection classes if they match
  383.  any of the indicated host masks, if the client is not from the IP 129.180.*,
  384.  Australia, Sweden, Germany or France, they will be connected through the
  385.  final (top) I line as it serves as a fall-through, so these clients will be
  386.  put on class 1.
  387.  
  388. --------------------
  389.  
  390. 3.5) O Lines: [OPTIONAL]
  391.  
  392.  These lines provide rules as to who may gain Operator status on your server.
  393.  O lines are much like I lines in their operation and syntax.
  394.  Servers need not have any Operators as ircd, given well defined connection's
  395.  can perform all of its functions automatically. Server admins have the
  396.  ability to `kill -HUP' the server's PID to rehash the config file, removing
  397.  the need to use the /rehash command. However, a well running network such as
  398.  DALnet needs operators to oversee the users of the server, and make sure
  399.  users actually enjoy their time on IRC without being continually harrased
  400.  etc by troublematers.
  401.  O lines give users power over the whole network, to use commands
  402.  such as /kill, local Operators only have power on their local server, that
  403.  is, the server where they can use the /oper command to make themselves +o.
  404.  Abilities of Operators and Local Operators can be defined in your config.h.
  405.  When a user issues the /oper command to the server, the server will search
  406.  through all listed O lines for a match of the user's mask, much the same way
  407.  as I lines. As with I lines, you may specify the use of ident by placing an
  408.  `@' in the appropriate positions.
  409.  
  410.  Syntax:
  411.  
  412. O:hostname:password:nickname::class
  413.  See I lines for rules about the hostname and using ident.
  414.  If you use ident, a client matching the hostname must have ident running on
  415.  their host to be able to +o themselves.
  416.  If you compiled defining oper passwords to be crypted, you must 1st crypt
  417.  the plaintext using mkpasswd, a program supplied with the ircd distribution.
  418.  See src/crypt/README for more information on this.
  419.  The nickname is the nickname they must pass with the /oper command
  420.   ie:
  421.    /oper <nickname> <password>
  422.  The class is the connection class to be used when the user /oper's using
  423.  the O line, they connect using the standard I -- Y lines, but when they
  424.  /oper succusfully they are passed across to the new Y line.
  425.  
  426.  Examples:
  427.  
  428. O:RIP.org:waltspass:Walt::10
  429.  This line will allow anyone on the host RIP.org (running ident or not) to
  430.  issue the command `/oper Walt waltspass', at which point they will be moved
  431.  over to class 10 and be made usermode +o.
  432.  
  433. --------------------
  434.  
  435. 3.6) U Lines: [OPTIONAL]
  436.  
  437.  These lines define which server(s) on the network your server is connected
  438.  to will be able to `hack' channel modes.
  439.  On DALnet, services.dal.net is given this power, this allows the server
  440.  to change modes on channels without being a channel operator, the
  441.  commonly used form is ChanServ changing channel modes while not in the
  442.  channels.
  443.  If you are connected to a network such as DALnet that requires you to have
  444.  certain U lines and you don't have them, your server will cause problems
  445.  to the other servers when the server(s) that require U lines attempt to
  446.  change channel modes.
  447.  U lined servers also have the capability to add Akill's to your server,
  448.  Akill's are much the same as the /kline command except that they show up
  449.  as A: lines on /stats k.
  450.  
  451.  Syntax:
  452. U:servername:*:*
  453.  The last 2 fields are currently unused so you only need to give the U
  454.  lined server's name.
  455.  
  456.  Example:
  457. U:services.dal.net::
  458. U:services2.dal.net::
  459.  Both these lines are required on all DALnet server's, they allow servers
  460.  with the name's `services.dal.net' and `services2.dal.net' to hack channel
  461.  modes.
  462.  
  463. --------------------
  464.  
  465. 3.7) C and N Lines [NETWORKED]
  466.  
  467.  These lines are always used in pairs, one will not work without the other.
  468.  C lines define who your server may connect to, while N lines define what
  469.  servers may connect to you.
  470.  When two servers connect, they both send eachother the `SERVER' command,
  471.  this command contains the server name and server info (set by M lines)
  472.  along with this command is sent a password with the PASS command, C and N
  473.  lines provide a set of rules governing the connection between servers
  474.  given the details of the server and pass command's.
  475.  When one a server initiates the connection, the other server will check
  476.  the details of the incomming server against its N lines, if a match is
  477.  found, the server will return the server and pass command's to the
  478.  initiating server, which will also check its N lines for a match.
  479.  For a server to initiate a connection, it must have a C line. C lines
  480.  tell the server where to go to make the connection and what to send for
  481.  the pass command.
  482.  What this all means is that for two servers to make a complete connection,
  483.  they must have both C and N lines to refer to for the other server.
  484.  
  485.  Syntax:
  486. C:remote server's hostname/IP:password:remote server's name:port:class
  487. N:remote server's hostname/IP:password:remote server's name:host mask:class
  488.  The remote server's hostname/IP should be the location on the internet that
  489.  the server can be found. IP addresses are prefered as they are more secure,
  490.  and can be a little quicker for the server. As with I and O lines, ident
  491.  can be used with this 1st field to specify the username the ircd on the
  492.  remote server is running from (if the remote server is running ident), to
  493.  use ident with C/N lines, place the username with an @ before the hostname.
  494.  The password should be crypted if you compile ircd specifying that link
  495.  passwords should be crypted. Your link passwords should be very secure, as
  496.  they provide more power, if hacked, than Operator passwords do. However
  497.  crypted link passwords can be very akward to keep track of.
  498.  Your C line password is the password used in the pass command, while your
  499.  N line password will be used to check against the pass command used by
  500.  incomming servers. So, your C line password should match the listed
  501.  server's N line password, and your N line password should match their C
  502.  line password.
  503.  If you compile your ircd specifying crypted link passwords, you only need
  504.  to crypt your N line passwords, use the same method as with O line
  505.  passwords. If you crypt your C line passwords, your link will not work!
  506.  Crypted passwords are a one sided affair, because one server crypts its
  507.  N line passwords does not mean the connecting servers must crypt their
  508.  C line passwords for that server.
  509.  For the 3rd field, the remote servers `name' should be used, this name is
  510.  the one given in that servers M line (see above). This name will be sent
  511.  with the SERVER command, so it must match the one given. The C and N line
  512.  pair should have the same name for this field.
  513.  The 4th field of C lines may contain the remote servers connection port.
  514.  Even though DALnet runs all its servers with a standard port 7000 open,
  515.  server -- server connections should be taken place through port 7325. It is
  516.  not mandatory that you place a port number in this field. If you don't give
  517.  a port number, the server will not try and autoconnect to the listed
  518.  server. If you do give a port number, the server will only try and
  519.  autoconnect to the listed server if there is enough room on the connection
  520.  class listed at the end of the C line (connection classes are covered in
  521.  more detail above, under Y lines), and the listed server is not visible
  522.  (ie: it is not connected to the network). If you don't give a port number,
  523.  any /connect commands for this C line will use the default port specified
  524.  in your config.h unless a port is given with the command. If you do put a
  525.  port number, any /connect command's will use this port unless another port
  526.  number is given with the command.
  527.  The 4th field of N lines is called the `host mask', this defined how many
  528.  parts of your hostname the incomming server will mask to. So, if your
  529.  server's name is disney.us.dal.net, and you want the connecting server to
  530.  see you as *.us.dal.net you will give a host mask of 1 in your N line. This
  531.  field should normally be left blank.
  532.  The 5th (last) field of both C and N lines gives the connection class to
  533.  place the connection on. If your C line has a 42 in this field, and your
  534.  server initiates a connection through this line, the connection will be
  535.  placed on class 42, however, if You have a 42 in your C line and a 43 in
  536.  your N line and an incomming server initiates a connection via this N
  537.  line, the server connection will be placed on class 43.
  538.  
  539.  Examples: 
  540. C:143.53.233.32:mypass:somewhere.fr.dal.net:7325:35
  541. N:143.53.233.32:yourpass:somewhere.fr.dal.net::35
  542.  This set will allow a server named somewhere.fr.dal.net to connect to your
  543.  server if it has the IP address of 143.53.233.32 and gives a password of
  544.  `yourpass'. This connection will be governed by connection class 35.
  545.  If your server recieves the command /connect somewhere.*, it will try and
  546.  connect to the IP 143.53.233.32 through port 7325 and give the password
  547.  `mypass'.
  548.  
  549. C:143.53.233.32:mypass:somewhere.fr.dal.net:7325:35
  550. N:143.53.233.32:yourpass:somewhere.fr.dal.net::35
  551. C:ircd@176.43.652.31:apass:elsewhere.jp.dal.net:7235:35
  552. N:ircd@176.43.652.31:THEpass:elsewhere.jp.dal.net::33
  553.  Both these set's will work as explained above, but if your Y line defining
  554.  class 35 has `max links' set to 1, and one of these servers is connected to
  555.  your server, your server will not try and autoconnect to the other since
  556.  the Y line is `full', but it will accept any incomming connections from the
  557.  other server and any /connect commands given for this server. If your Y
  558.  line allows for more connections but your C lines do not have port numbers,
  559.  your server will not try and autoconnect.
  560.  Since the second set in this example has a username, ident will be used to
  561.  authenticate any connections made to this server. If the listed server does
  562.  not run ident, or the incomming connection comes from another username, the
  563.  connection will be rejected.
  564.  If a connection is made via the second set by your server, the connection
  565.  will be ruled by connection class 35, if the other server initiates the
  566.  connection, the connection will use class 33.
  567.  Autoconnect C/N line pairs can be given prefrence over other pairs by placing
  568.  them lower in your ircd.conf, the lower the line, the higher the priority
  569.  when autoconnecting.
  570.  Connection classes and C/N line set's allow you to refine your autoconnects
  571.  to a very high degree, with practice you can have your server running so
  572.  it does not need any help.
  573.  
  574. --------------------
  575.  
  576. 3.8) K Lines [OPTIONAL]
  577.  
  578.  These lines restric access to certain users to your server based on
  579.  user@host matches and time of the day.
  580.  K lines can come in 3 forms, only one of which you can specify in your
  581.  ircd.conf, this type will show up as K on /stats k, the other other types
  582.  are `AutoKill' which will show up as A on /stats k, and `kline' which will
  583.  show up as k on /stats k. AutoKill's are set by U lined servers (see
  584.  above), they act in the same way as K lines except that they are set
  585.  remotly and are usually set on all servers, they dissapear when you
  586.  /rehash or restart your server. klines are set via the /kline command,
  587.  they operate more like AutoKill's than K lines because they also dissapear
  588.  when you /rehash, or restart the server. The /kline command can be used on
  589.  nicknames that appear on IRC, or you can use a user@host mask. If the
  590.  /kline is done on an existing nickname, a kline will be set with that users
  591.  mask and they will be killed off the server.
  592.  
  593.  Syntax:
  594. K:hostmask:time/comment:username
  595.  The hostmask is the host that the user will have on IRC, this may be an
  596.  IP address or a standard host name. The time/comment field may either
  597.  contain nothing, a set of times, or a comment. This field should not
  598.  contain spaces, if you place a comment in the field, you should try and
  599.  be creative in your avoidance of spaces. The syntax of time specification
  600.  is:
  601.   from-to[,from-to[,from-to]]....
  602.  Again, you should not use spaces in this field, but you may specify as
  603.  many time periods as you want/need. 24 hour time should be used, AM and PM
  604.  will not work.
  605.  You may also specify a filename as a reason. To do so use |kc.reason as the 
  606.  reason. Replace reason with the reason for the ban. Note, all files must be in 
  607.  the format of kc.* to ensure no important configuration files are sent to the 
  608.  user. 
  609.  The username will be the username that shows up on IRC.
  610.  Wildcards (`*', `?') may be used with K lines in both the hostmask and
  611.  username fields.
  612.  
  613.  Examples:
  614. K:RIP.org::walt
  615.  This will reject any user who appears as `walt@RIP.org'.
  616.  
  617. K:*.edu:0800-1200,1300-1700:*
  618.  This will reject any user from any host with a top level `edu', In other
  619.  words, anyone appearing as *@*.edu are banned from the server.
  620.  This ban is only present during the hours of 8AM to 12AM, and again from
  621.  1PM to 5PM, at times other than this, the K line will not be active.
  622.  
  623. K:*.lamer.org:|kc.spamming:*
  624.  This will reject all users from *.lamer.org and play the file kc.spamming as 
  625.  the reason. 
  626.  
  627. K:*::*rad
  628.  This K line will reject anyone with the username `rad', or anything ending
  629.  in `rad'. This ban will dissalow anyone using `rad' running ident or not.
  630.  You must always take into account the ident character (`~') that is placed
  631.  infront of usernames when their host is not running ident. If you place a
  632.  K line on a username `rad' the user will be banned only if they are running
  633.  ident, but if this user can turn off ident they can appear as ~rad, this
  634.  will allow them to bypass any ban of username `rad'. So, wildcards should
  635.  be used with usernames to take into account the ability to turn ident on
  636.  and off. (The ability to change usernames can only be tackled with a `*'
  637.  in the username field)
  638.  
  639. --------------------
  640.  
  641. 3.9) Q Lines (server form) [DISCOURAGED]
  642.  
  643.  Server form Q lines on DALnet servers are used to dissalow operators on
  644.  certain servers to use commands such as remote /kill's, and remote
  645.  /connect's, this will effectivly restrict the operators on the server to
  646.  local operator priveleges. These lines are usually only used for `test'
  647.  server situations. If a server isn't officially part of DALnet, they may
  648.  be temporarily linked and Q lined, this means the server can be tested
  649.  while not posing a threat to the rest of DALnet. Q lines need only be
  650.  placed on the hub connecting the `test' server.
  651.  
  652.  Syntax:
  653. Q:*:*:servername
  654.  The 1st 2 fields are currently unused. A Q line placed on a hub connected
  655.  to the named server will dissalow operators on the server to affect other
  656.  DALnet users/servers.
  657.  
  658.  Example:
  659. Q:::test-server.my.dal.net
  660.  Q line a server with the name `test-server.my.dal.net'.
  661.  
  662. --------------------
  663.  
  664. 3.10) Q lines (nickname form) [OPTIONAL]
  665.  
  666.  Nickname form Q lines have the ability to deny certain nicknames to users.
  667.  If a nickname is Q lined, the only people allowed to use those nicknames
  668.  are Operators. Q lines, like most other things in your ircd.conf, are local
  669.  only, for a nickname to be Q lined on a whole network all servers must have
  670.  a Q line for that nick. Q lines may also contain comments, these comments
  671.  are given to the user when they attempt to use the nickname and are asked
  672.  to choose another.
  673.  
  674.  Syntax:
  675. Q:*:reason why nick is quarantined:nickname
  676.  The 1st field is currently unused. The 2nd field is the comment sent to any
  677.  user attempting to use the nickname. Unlike K lines, you may use spaces.
  678.  The last field is the nickname to be quarantined, this nickname may contain
  679.  wildcards.
  680.  
  681.  Examples:
  682. Q::No nicknames on MY server!:*
  683.  This Q line will dissalow any nicknames on the server giving the reason:
  684.   No nicknames on MY server!
  685.  Only Operators will be allowed to use any nicknames, but since you must be
  686.  a user before you can be +o, you will effectivly ban everyone from your
  687.  server.
  688.  
  689. Q::Do not use the Lords name in vain!:God
  690.  Anyone attempting to use the nickname `God' on your server will be told
  691.  that they must find a new nickname and will be given the reason:
  692.   Do not use the Lords name in vain!
  693.  
  694.  DALnet has a set of standard Q lines that should be in place on all
  695.  server's. They are as follows:
  696.  
  697. Q::Reserved for services:*Chan*S*rv*
  698. Q::Reserved for services:*Nick*S*rv*
  699. Q::Reserved for services:*Memo*S*rv
  700. Q::Reserved for services:*Oper*S*rv*
  701. Q::Reserved for services:*Help*S*rv*
  702. Q::Reserved for operators:DALnet
  703. Q::Reserved for operators:IRC*op*
  704. Q::Causes problems with mIRC:Status
  705.  
  706. --------------------
  707.  
  708. 3.11) L Lines [OPTIONAL/NETWORKED]
  709.  
  710.  These lines specify which servers are to behave as leaves, that is,
  711.  servers that may not have any other servers connected to them.
  712.  They will only be usefull if your server is a non-leaf (hub) server.
  713.  Not only can you limit servers to leaves, but you can also specify
  714.  what tree depth may appear after certain servers. If a server connects
  715.  but tells your server that it has a larger tree depth behind it than is
  716.  allowed via your L line for the server, the server will be rejected.
  717.  A limit of `0' will mean the server may only be a leaf. A limit of `1'
  718.  will mean that only leaf servers may be connected to the L lined server
  719.  when it is connected to your server.
  720.  You may also use L lines to restrict what servers may connect to certain
  721.  servers while they are connected to your server.
  722.  
  723.  Syntax:
  724. L:hostmask of disallowed servers:*:server name:depth
  725.  The 1st field defines the limitations on servers allowed to connect to
  726.  the L lined server by hostmask. If any server connects to the L lined
  727.  server while it is connected to your server, and it's name matches the
  728.  hostmask given here, it will be rejected. Wildcards are allowed. You do not
  729.  need to put a value in this field.
  730.  The 2nd field is currently unused and should be left blank.
  731.  The 3rd field is the name of the server to be L lined, when this server
  732.  connects to your server, the restrictions defined by the L line are placed
  733.  on this server. Wildcards are allowed.
  734.  The 4th field defines the depth of servers allowed to be connected behind
  735.  the L lined server. 
  736.  
  737.  Examples:
  738. L:::leaf.de.dal.net
  739.  This line will allow a server named `leaf.de.dal.net' to connect only as
  740.  a leaf. So this server may not connect any other servers behind it.
  741.  
  742. L:::semi-hub.sg.dal.net:1
  743.  This line will force the server named `semi-hub.sg.dal.net' to allow only
  744.  leaf servers to connect behind it. ie: to have a tree depth of 1.
  745.  
  746. L:*.us.dal.net::*.au.dal.net
  747. L:*.eu.dal.net::*.au.dal.net
  748.  These lines will make sure that any server with a name matching
  749.  *.au.dal.net will not introduce any servers matching *.us.dal.net or
  750.  *.eu.dal.net. This can be usefull for stopping certain hubs from letting
  751.  its autoconnects route the network badly.
  752.  
  753. --------------------
  754.  
  755. 3.12) H Lines [OPTIONAL/NETWORKED]
  756.  
  757.  These lines are similar to L lines, except that they define what servers
  758.  may act as a hub while connected to you. That is, which servers may
  759.  introduce other servers behind them.
  760.  You may limit what servers may be connected behind the H lined server.
  761.  
  762.  Syntax:
  763. H:servers which are allowed behind the hub:*:hub servername
  764.  The 1st field defines what servernames the H lined server is allowed to
  765.  introduce. Wildcards are allowed.
  766.  The 2nd field is currently unused and should be left blank.
  767.  The 3rd field should be the exact name of the server allowed to be a hub
  768.  while connected to you. You may not use wildcards with this field unless
  769.  the server's name includes a `*' (See N lines for host masking).
  770.  
  771.  Examples:
  772. H:*::dal-hub.us.dal.net
  773.  This line will allow the server with the name `dal-hub.us.dal.net' to act
  774.  as a hub server while you are connected to it, there are no restrictions
  775.  on the names of the servers it may introduce.
  776.  
  777. H:*.us.dal.net::usa-hub.us.dal.net
  778.  This line will allow the server named `usa-hub.us.dal.net' to act as a hub
  779.  while your server is connected to it, but it is limited to introducing
  780.  servers with names matching `*.us.dal.net', so any servers trying to
  781.  connect to `usa-hub.us.dal.net' with a name such as `bad-link.nz.dal.net'
  782.  will be rejected by your server.
  783.  
  784. --------------------
  785.  
  786. 3.13) P lines [OPTIONAL]
  787.  
  788.  These lines will open up ports other than the port you specified in your
  789.  config.h when you compiled your ircd.
  790.  Using internet domain ports below 1024 mean that you must run ircd from
  791.  inetd. ircd can listen to ports in the UNIX domain as well as the internet
  792.  domain. With UNIX domain ports you must give a unix socket file, you must
  793.  also compile ircd with UNIXPORT defined in your config.h.
  794.  You may limit usage of ports in the internet domain to certain hostmasks.
  795.  You do not need to provide a P line for the default port you defined in
  796.  your config.h, only extra ports you wish to open. You should compile ircd
  797.  to run from port 7000, but it is recomended that you add a P line for port
  798.  6667 as most IRC clients default to this port when connecting. If you are
  799.  connected to DALnet, you should have a P line for port 7325, this is the
  800.  standard server connection port for all DALnet servers.
  801.  
  802.  Syntax:
  803. P:hostmask or UNIX socket file:*:*:port number
  804.  The 1st field should either specify a path to a UNIX socket file, or give
  805.  a hostmask to match against connecting clients on this port. Clients not
  806.  matching this mask will be rejected.
  807.  The 2nd and 3rd field's are currently unused, and should be left blank.
  808.  The last field is the port number to open up and listen to for connections.
  809.  
  810.  Examples:
  811. P:*:::7325
  812.  This will open up the DALnet server connection port and wait for
  813.  connections. This line is mandatory if you run a server connected to DALnet
  814.  
  815. P:*.net:::6665
  816.  This line will open up port 6665 and wait for connections, connections from
  817.  hosts not matching `*.net' will be rejected.
  818.  
  819. P:/tmp/.ircd:*:*:6666
  820.  This line will open up the port 6666 in the UNIX domain, with a socket file
  821.  of: /tmp/.ircd.
  822.  
  823. --------------------
  824.  
  825. 3.14) T lines [OPTIONAL]
  826.  
  827.  These lines allow you to have multiple MOTD and RULES files in the same IRCd.
  828.  The idea of this is to allow you to have MOTD and RULES files in different  
  829.  languages for your users all over the world. The way this works is you can   
  830.  match a MOTD and RULES file to a certain part of a users host.  For example 
  831.  *.fr  (France) now you can make it so all *.fr users see a French MOTD and 
  832.  RULES where  as everyone else still sees the default.
  833.  
  834.  Syntax:
  835. T:hostmask:motd file:rules file
  836.  The first field is where you specify the hostmask to match. This should be a  
  837.  TLD (Top Level Domain) but doesn't have to be. The second is the location of 
  838.  the MOTD file to display, this should be relative to DPATH. The last field is
  839.  the path to the RULES file, again this should also be relative to DPATH.  The 
  840.  best way to keep your T:lines MOTD/RULES files in order is to make a motds/ and  
  841.  rules/ then make files such as spanish.motd and spanish.rules etc.
  842.  
  843.  Examples:
  844. T:bngr216-37-173ppp107.epix.net:motds/epix.motd:rules/epix.rules
  845.  This T:line uses a matches a specific host. When a user with the host bngr216- 
  846.  37-173ppp107.epix.net requests a /MOTD they will see the file motds/epix.motd 
  847.  and when they request a /RULES they will see the file rules/epix.rules. 
  848.  
  849. T:*.epix.net:motds/epix.motd:rules/epix.rules
  850.  This T:line matches based on ISP. When a user from *.epix.net requests a /MOTD 
  851.  or /RULES the specified files are played.
  852.  
  853. T:*.dk:motds/danish.motd:rules/danish.rules
  854.  This T:line matches based on TLD. This is probably the most efficient method to 
  855.  use. When a user from the .dk TLD requests a /MOTD the Danish MOTD is played
  856.  when they request a /RULES the Danish RULES file is played.
  857.  
  858. --------------------
  859.  
  860. 3.15) E Lines [OPTIONAL]
  861.  
  862.  These lines allow you to exclude certain people from a K:line, or to prevent 
  863.  certain people from receiving a K:line. E:lines can be used with a more strict 
  864.  host than a K:line so for example if you K:line *.net and then E:line 
  865.  splitrock.net only users from splitrock.net may connect. These lines are also 
  866.  often used to prevent the server's staff from being K:lined from that server.
  867.  
  868.  Syntax:
  869. E:hostmask:reason:ident
  870.  The first field is where you enter the hostmask that the E:line will apply to.  
  871.  The reason parameter allows you to specify why that hostmask is E:lined. The 
  872.  third field is optional. To E:line all idents just specify this field as an *. 
  873.  
  874.  Examples:
  875. E:*.epix.net:Admin's ISP:*
  876.  This E:line affects all *.epix.net users with reason 'Admin's ISP'. The * in 
  877.  the ident field says that it applies to all *.epix.net users.
  878.  
  879. E:*.epix.net:Server Admin:n64master
  880.  This E:line affects any *.epix.net user using the n64master ident, with reason 'Server Admin'. This is probably the best way to go if you are making the E:line 
  881.  to protect server staff.
  882.  
  883. --------------------
  884.  
  885. 3.16) e Lines [OPTIONAL]
  886.  
  887.  These lines allow you to specify which hosts will not be scaned by the proxy  
  888.  scanner. This will allow you to make certain proxys to connect while the rest 
  889.  are still killed. Note, if you want to allow all proxys, don't e:line *, just 
  890.  disable it at compile time.
  891.  
  892.  Syntax:
  893. e:IP address:*:*
  894.  This line requires only one field, the first field is the IP address of the 
  895.  host to be e lined. Make sure you use an IP and not a hostname or this will not 
  896.  work.
  897.  
  898.  Examples:
  899. e:234.45.32.1:*:*
  900.  This will prevent any user who's host resolves to 234.45.32.1 from being 
  901.  scanned for an open wingate/proxy by the proxy scanner when they connect.
  902.  
  903. --------------------
  904.  
  905. 3.17) Summary:
  906.  
  907.  Well, thats it for the lines you may use in your ircd.conf. Remember that
  908.  ircd.conf is an art, just like any other type of programming. Some parts
  909.  are particularly easy, but other's, like Y lines, can take a while to get
  910.  used to. Given a little time experementing with lines on a network of
  911.  servers, you will become well versed in ircd.conf programming.
  912.  
  913. Good luck!
  914.  
  915. --------------------
  916.  
  917. 4) dccdeny.conf:
  918.  
  919.  The dccdeny.conf allows you to specify files which may not be sent through the 
  920.  use of DCC (Direct Client Connection). This is mainly to keep the speading of 
  921.  virii at a minimum on your network. It is strongly suggested that you set up a 
  922.  dccdeny.conf as it will help you provide a safe enviromnet for your users.
  923.  
  924. 4.1) deny Lines:
  925.  
  926.  As with the ircd.conf, dccdeny.conf supports comments in the form of # comment. 
  927.  It is suggested that you place comments above each dccdeny for easy reference.
  928.  
  929.  Syntax:
  930. deny filename reason
  931.  The first field is required to be deny, this tells the server that this line 
  932.  specifies a file which should be denied. The second field is where you specify 
  933.  what file should be denied. The last field is where you specify a reason. It is  
  934.  recommended you place a web address such as http://www.nohack.net in the reason 
  935.  so if the user is infected with a virus, they can learn how to remove it.
  936.  
  937. deny dmsetup.exe You may be infected with DMSetup, visit http://www.nohack.net 
  938.  This line will deny users to send the file dmsetup.exe.  If they attempt to 
  939.  send this file the server will display the reason which is 'You may be infected 
  940.  with DMSetup, visit http://www.nohack.net. 
  941.  
  942. deny *.jpg.bat You may be infected with a virus, visit http://www.nohack.net
  943.  This line will deny sends matching *.jpg.bat and display the reason 'You may be infected with a virus, visit http://www.nohack.net' when a send is attempted.
  944.  
  945. --------------------
  946.  
  947. 5) chrestrict.conf:
  948.  
  949.  The chrestrict.conf allows you to limit what channels users may join. This is 
  950.  strongly discouraged for most networks. This is just provided for the networks 
  951.  that wish to have one open channel on a specific topic.
  952.  
  953. --------------------
  954.  
  955. 5.1) msg Lines:
  956.  
  957.  The msg line allows you to specify a message that will be played when a user 
  958.  attempts to join a channel that is not allowed. 
  959.  
  960.  Syntax:
  961. msg message
  962.  The first field tells the server that this is a message line. The second field 
  963.  is where you specify the message that will be displayed when a user attempts to 
  964.  join a denied channel.
  965.  
  966.  Examples:
  967. msg Sorry, the channel you attempted to join is not allowed on this network
  968.  This line will display 'Sorry, the channel you attempted to join is not allowed 
  969.  on this network' when a user trys to enter a channel that is denied.
  970.  
  971. --------------------
  972.  
  973. 5.2) allow Lines:
  974.  
  975.  The allow lines say which channels users are allowed to join. Any channel not 
  976.  in an allow line will be denied to the user.
  977.  
  978.  Syntax:
  979. allow channel
  980.  The first field tells the server this is an allow line. The second is where you 
  981.  specify the channel which users are allowed to join.
  982.  
  983.  Examples:
  984. allow #help
  985.  This line will allow users to join #help and deny them from joining all other 
  986.  channels.
  987.  
  988. --------------------
  989.  
  990. 6) vhost.conf:
  991.  
  992.  The vhost.conf file allows you to integrate a BNC type program into your ircd. 
  993.  This command works through use of the SETHOST command. You must be set +x in 
  994.  order for you to be able to keep your vhost, setting -x will return you to your 
  995.  normal host.
  996.  
  997. 6.1) vhost Lines:
  998.  
  999.  vhost lines are the lines that allow you to create specific vhosts for certain  
  1000.  users. These lines are used along with the /VHOST login password command.
  1001.  
  1002.  Syntax:
  1003. vhost virtualhost username password hostmask
  1004.  The first field tells the server this is a vhost command. The second field is 
  1005.  where you specify what the users host will be changed to once they use the 
  1006.  /VHOST command. The third field is the username field and forth is password, a 
  1007.  user must use the correct username and password in order to use the vhost. The 
  1008.  last field is the hostmask. This allows you to specify which users can use that 
  1009.  vhost based on host, to allow all users use *@*.
  1010.  
  1011.  Examples:
  1012. vhost i.work.at.the.foobar.net john21 asdf1234 *@*
  1013.  This line will grant the user the hostname i.work.at.the.foobar.net, if they 
  1014.  supply the username john21 and the password asdf1234. This line allows any 
  1015.  hostmask to use the line since it has *@*.
  1016.  
  1017. vhost i.am.a.lamer.org codemastr jnh32 n64master@*.epix.net 
  1018.  This line will give the user the hostname i.am.a.lamer.org, if they supply the   
  1019.  username codemastr and the password jnh32, but only if they match the hostmask 
  1020.  n64master@*.epix.net. 
  1021.  
  1022. --------------------
  1023.  
  1024. 7) unrealircd.conf
  1025.  
  1026.  The unrealircd.conf allows you to change certain settings in your IRCd that 
  1027.  used to be set at compile time. This feature is especially beneficial to 
  1028.  Windows users since they use a precompiled version. The unrealircd.conf works 
  1029.  along with your network file (explained in section 8) to provide a completely 
  1030.  customized IRCd.
  1031.  
  1032. --------------------
  1033.  
  1034. 7.1) Include Line:
  1035.  
  1036.  The include line allows you to tell the unrealircd.conf where your network file 
  1037.  is located. This path must be relative to DPATH in order for your IRCd to work. 
  1038.  
  1039.  Syntax:
  1040. Include .................: filename
  1041.  This line will say that the network file is located in the field filename,  
  1042.  again the path to the file must be relative to DPATH.
  1043.  
  1044.  Examples:
  1045. Include .................: networks/roxnet.network
  1046.  This line says that you will be using the roxnet.network file, which is located 
  1047.  in the networks directory. The networks/yourfile.network is most likely the 
  1048.  format you will use if you keep the standard DPATH.
  1049.  
  1050. Include .................: roxnet.network
  1051.  This line says you will use the file roxnet.network which is located in the 
  1052.  same directory as DPATH. This is valid although it is not the default.
  1053.  
  1054. --------------------
  1055.  
  1056. 7.2) Set KLINE_ADDRESS Line:
  1057.  
  1058.  This line allows you to tell the IRCd what email should be displayed to a user 
  1059.  when they are klined. It is strongly encouraged that you set this to a valid 
  1060.  email address of someone on the server staff.
  1061.  
  1062.  Syntax:
  1063. Set KLINE_ADDRESS .......: emailaddress
  1064.  This line tells the server that the K:Line email address is located in the 
  1065.  field emailaddress. Note, the emailaddress is not checked to see if it is valid 
  1066.  so it is up to you to set it right.
  1067.  
  1068.  Examples:
  1069. Set KLINE_ADDRESS .......: bob@myserver.net 
  1070.  This tells the server that the K:Line email address is bob@myserver.net and 
  1071.  when a user gets klined this will be the email address shown to them.
  1072.  
  1073. --------------------
  1074.  
  1075. 7.3) Set MODE_X Line:
  1076.  
  1077.  
  1078.  This line lets you tell the server whether or not to set a user +x when they 
  1079.  connect to the server. Set it to 1 for yes, or 0 for no. It is encouraged that 
  1080.  you set this to 1 as it will help prevent users against nukes and other 
  1081.  malicious attacks.
  1082.  
  1083.  Syntax:
  1084. Set MODE_X ..............: 1/0
  1085.  If this line is set to 1 then the server will set users +x when they connect to 
  1086.  the server. If it is set to 0 they will not be set +x on connect.
  1087.  
  1088.  Examples:
  1089. Set MODE_X ..............: 1
  1090.  This line has auto +x on connect enabled, this is the recommended setting for 
  1091.  security purposes.
  1092.  
  1093. Set MODE_X ..............: 0
  1094.  This line has auto +x disabled. This is discouraged, but it is not required 
  1095.  that auto +x be enabled.
  1096.  
  1097. --------------------
  1098.  
  1099. 7.4) Set TRUEHUB Line:
  1100.  
  1101.  The Set TRUEHUB line allows you to tell the server the server you are a Hub and 
  1102.  not a HalfHub. For most networks it is recommended that you set this to 1 to 
  1103.  enable your server as a Hub. Note, if you compiled your server as a leaf and 
  1104.  set this to 1 it will give an error. Only set this to 1 if you compiled your 
  1105.  server as a hub.
  1106.  
  1107.  Syntax:
  1108. Set TRUEHUB .............: 1/0
  1109.  If this line is set to 1 then TRUEHUB is enabled. If it is set to 0 it is 
  1110.  disabled. Again it is recommended for most networks that this is set to 1, and 
  1111.  may only be used if you compiled as a Hub.
  1112.  
  1113.  Examples:
  1114. Set TRUEHUB .............: 1
  1115.  This line has TRUEHUB enabled, the server will send a GLOBOPS when it links.
  1116.  
  1117. Set TRUEHUB .............: 0
  1118.  This line has TRUEHUB disabled. The server will not send a GLOBOPS when it 
  1119.  links, and it will link as a half hub.
  1120.  
  1121. --------------------
  1122.  
  1123. 7.5) Set CONFIG_FILE_STOP Line:
  1124.  
  1125.  The Set CONFIG_FILE_STOP line must be set to 0 in order for your IRCd to work. 
  1126.  If this is set to 1 your IRCd will give an error and won't start. This line is 
  1127.  there just to makesure you take the time to read over your unrealircd.conf and  
  1128.  configure it correctly.
  1129.  
  1130.  Syntax:
  1131. Set CONFIG_FILE_STOP ....: 1/0
  1132.  If this line is set to 1 then your IRCd will not start and will give you an 
  1133.  error. It must be set to 0 in order to work. If set to 0 your IRCd will load 
  1134.  normally.
  1135.  
  1136.  Examples:
  1137. Set CONFIG_FILE_STOP ....: 1
  1138.  In this line, the IRCd will die and give an error when it attempts to load the 
  1139.  unrealircd.conf.
  1140.  
  1141. Set CONFIG_FILE_STOP ....: 0
  1142.  This line will allow the IRCd to load and run fine without giving any errors.
  1143.  
  1144. --------------------
  1145.  
  1146. 7.6) Set SHOWOPERS line:
  1147.  
  1148.  This line sets whether non opers will be allowed to user /stats O to see a list 
  1149.  of IRCOps on the server. This line may be set to whatever you want, although it 
  1150.  is recommended you set this to 0 you may set it to 1.
  1151.  
  1152.  Syntax:
  1153. Set SHOWOPERS ...........: 1/0
  1154.  If this line is set to 1, then all users will be able to see a list of O:lines, 
  1155.  note a non oper will not see the host allowed by this line for security 
  1156.  reasons. If this line is set to 0 then only opers may request a /stats O.
  1157.  
  1158.  Examples:
  1159. Set SHOWOPERS ...........: 1
  1160.  This line allows all users to view a list of all the opers on a server. Again 
  1161.  they will not be able to see the O:lines hosts or flags for security reasons.
  1162.  
  1163. Set SHOWOPERS ...........: 0
  1164.  This line only allows opers to request a /stats O, if a user requests it, it 
  1165.  will return no information. 
  1166.  
  1167. --------------------
  1168.  
  1169. 7.7) Set KILLDIFF Line:
  1170.  
  1171.  This line allows you to set whether the new /kill format should be used. Then 
  1172.  new format includes the server from which the /kill came from, the old format 
  1173.  does not.
  1174.  
  1175.  Syntax:
  1176. Set KILLDIFF ............: 1/0
  1177.  If this line is set to 1 the new format will be used. If it is set to 0 then 
  1178.  the standard format will be used. Note, if you set this to 1 then some users 
  1179.  scripts may not function correctly, so if you want backwards compatibility set 
  1180.  this to 0.
  1181.  
  1182.  Examples:
  1183. Set KILLDIFF ............: 1
  1184.  This line will make the server use the new /kill format, and the server name 
  1185.  will be displayed.
  1186.  
  1187. Set KILLDIFF ............: 0
  1188.  This line will disable the new /kill format and the standard format will be 
  1189.  displayed to the user. This is recommended for backwards compatibility.
  1190.  
  1191. --------------------
  1192.  
  1193. 7.8) Set SHOWOPERMOTD Line:
  1194.  
  1195.  This line allows you to set whether or not the OperMOTD will be displayed to a 
  1196.  user when they /oper. This is completely up to you as to what it shoul be set 
  1197.  to, although it is recommended that if you do not have an OperMOTD you set this 
  1198.  to 0 to avoid the error message from being displayed.
  1199.  
  1200.  Syntax:
  1201. Set SHOWOPERMOTD ........: 1/0
  1202.  If this line is set to 1 then the OperMOTD is displayed when the user /oper's. 
  1203.  If it is set to 0 then the user must /OperMOTD to see the OperMOTD.
  1204.  
  1205. Set SHOWOPERMOTD ........: 1
  1206.  This line will make the server display the OperMOTD to the user when the /oper 
  1207.  up.
  1208.  
  1209. Set SHOWOPERMOTD ........: 0
  1210.  This line will not make the server display the OperMOTD, and instead make the 
  1211.  user have to type /OperMOTD to view the OperMOTD.
  1212.  
  1213. --------------------
  1214.  
  1215. 8) network files:
  1216.  
  1217.  The networks files allow you to specify some information specific about your 
  1218.  network you may use a current network file, or you can create your own. To 
  1219.  create your own network file edit the template.network file to suit your needs, 
  1220.  then add that file to your unrealircd.conf (See section 7.1). To use an 
  1221.  existing network file just add the file to your unrealircd.conf (See section 
  1222.  7.1).
  1223.  
  1224. --------------------
  1225.  
  1226. 8.1) Network line:
  1227.  
  1228.  The Network line tells the server what the name of your IRC network is. You can 
  1229.  set this line to anything you want, although it may not be left empty.
  1230.  
  1231.  Syntax:
  1232. Network >..........: yournetwork
  1233.  This line tells the server that your networks name is located in the field  
  1234.  yournetwork. Note, yournetwork should be the same on all servers to let users 
  1235.  know what network they are on.
  1236.  
  1237.  Examples:
  1238. Network >..........: NeoHorizon
  1239.  This tells the server that your network is called NeoHorizon and will display 
  1240.  this to the user when it is requested.
  1241.  
  1242. --------------------
  1243.  
  1244. 8.2) Set ircnetwork Line:
  1245.  
  1246.  This line does the same thing as the Network line, but it is required that Set 
  1247.  ircnetwork be the exact same as the Network line or your IRCd will not work. So 
  1248.  if your Network line has Bunker7 then your Set ircnetwork line must also have 
  1249.  Bunker7.
  1250.  
  1251.  Syntax:
  1252. Set ircnetwork ....: yournetwork
  1253.  This tells the server that your network's name is found in the file called 
  1254.  yournetwork.
  1255.  
  1256.  Examples:
  1257. Set ircnetwork ....: Bunker7
  1258.  This defines your IRC networks name as Bunker7, again if this was your line you 
  1259.  must also have Bunker7 in your Network line.
  1260.  
  1261. --------------------
  1262.  
  1263. 8.3) Set defserver Line:
  1264.  
  1265.  This line defines the server that the IRCd will tell users to go to when the 
  1266.  IRCd is full. It is recommended that you point this to a random server pool if 
  1267.  one is available.
  1268.  
  1269.  Syntax:
  1270. Set defserver .......: servername
  1271.  This tells the server to tell the user to go to the contents of the field names 
  1272.  servername with the server is full.
  1273.  
  1274.  Examples:
  1275. Set defserver .......: irc.dragonwings.org
  1276.  This will display the server irc.dragonwings.org in the server is full message 
  1277.  when a user attempts to connect to a full server.
  1278.  
  1279. --------------------
  1280.  
  1281. 8.4) Set SERVICES_NAME Line:
  1282.  
  1283.  This line is very important. It must be set correctly for commands such as 
  1284.  /nickserv, /chanserv, /memoserv, /operserv, etc. to work. If this is not set 
  1285.  correctly you must use /msg servicesname to use services.
  1286.  
  1287.  Syntax: 
  1288. Set SERVICES_NAME .: servicesserver
  1289.  This line tells the IRCd to redirect /nickserv, /chanserv etc to servicesserver 
  1290.  and find the correct client.
  1291.  
  1292.  Examples:
  1293. Set SERVICES_NAME .: services.realchat.org
  1294.  This tells the server to redirect the services commands to 
  1295.  services.realchat.org.
  1296.  
  1297. --------------------
  1298.  
  1299. 8.5) Set oper_host Line:
  1300.  
  1301.  This allows you to specify a host that Global IRCOps will receive when they 
  1302.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1303.  blank it can cause some problems in your IRCd so it is recommended that you 
  1304.  fill in a value.
  1305.  
  1306.  Syntax: 
  1307. Set oper_host .....: operhost
  1308.  This tells the server to switch the host of the user to operhost when they 
  1309.  /oper.
  1310.  
  1311.  Examples:
  1312. Set oper_host .....: opers.nevernet.net
  1313.  This will make a Global Oper's host change to opers.nevernet.net when they 
  1314.  /oper up if iNAH is enabled.
  1315.  
  1316. --------------------
  1317.  
  1318. 8.6) Set admin_host Line:
  1319.  
  1320.  This allows you to specify a host that Admins will receive when they 
  1321.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1322.  blank it can cause some problems in your IRCd so it is recommended that you 
  1323.  fill in a value.
  1324.  
  1325.  Syntax: 
  1326. Set admin_host ....: adminhost
  1327.  This tells the server to switch the host of the admin to adminhost when they 
  1328.  /oper.
  1329.  
  1330.  Examples:
  1331. Set admin_host ....: admins.nevernet.net
  1332.  This will make a Admin's host change to admins.nevernet.net when they /oper up 
  1333.  if iNAH is enabled.
  1334.  
  1335. --------------------
  1336.  
  1337. 8.7) Set locop_host Line:
  1338.  
  1339.  This allows you to specify a host that Local IRCOps will receive when they 
  1340.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1341.  blank it can cause some problems in your IRCd so it is recommended that you 
  1342.  fill in a value.
  1343.  
  1344.  Syntax: 
  1345. Set locop_host ....: locophost
  1346.  This tells the server to switch the host of the Local Oper to locophost when 
  1347.  they /oper.
  1348.  
  1349.  Examples:
  1350. Set locop_host ....: locop.nhn.net
  1351.  This will make a Local Oper's host change to locop.nhn.net when they /oper up 
  1352.  if iNAH is enabled.
  1353.  
  1354. --------------------
  1355.  
  1356. 8.8) Set sadmin_host Line:
  1357.  
  1358.  This allows you to specify a host that Services Admins will receive when they 
  1359.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1360.  blank it can cause some problems in your IRCd so it is recommended that you 
  1361.  fill in a value.
  1362.  
  1363.  Syntax: 
  1364. Set sadmin_host ...: sadminhost
  1365.  This tells the server to switch the host of the Services Admin to sadminhost 
  1366.  when they /oper.
  1367.  
  1368.  Examples:
  1369. Set sadmin_host ...: sops.spynet.org
  1370.  This will make a Services Admin's host change to sops.spynet.org when they 
  1371.  /oper up if iNAH is enabled.
  1372.  
  1373. --------------------
  1374.  
  1375. 8.9) Set netadmin_host Line:
  1376.  
  1377.  This allows you to specify a host that NetAdmins will receive when they 
  1378.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1379.  blank it can cause some problems in your IRCd so it is recommended that you 
  1380.  fill in a value.
  1381.  
  1382.  Syntax: 
  1383. Set netadmin_host .: netadminhost
  1384.  This tells the server to switch the host of the NetAdmin to netadminhost when 
  1385.  they /oper.
  1386.  
  1387.  Examples:
  1388. Set netadmin_host .: netadmin.spynet.org
  1389.  This will make a NetAdmin's host change to netadmin.spynet.org when they /oper  
  1390.  up if iNAH is enabled.
  1391.  
  1392. --------------------
  1393.  
  1394. 8.10) Set coadmin_host Line:
  1395.  
  1396.  This allows you to specify a host that CoAdmins will receive when they 
  1397.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1398.  blank it can cause some problems in your IRCd so it is recommended that you 
  1399.  fill in a value.
  1400.  
  1401.  Syntax: 
  1402. Set coadmin_host ..: coadminhost
  1403.  This tells the server to switch the host of the CoAdmin to coadminhost when 
  1404.  they /oper.
  1405.  
  1406.  Examples:
  1407. Set coadmin_host ..: coadmin.starspace.net
  1408.  This will make a CoAdmin's host change to coadmin.starspace.net when they /oper 
  1409.  up if iNAH is enabled.
  1410.  
  1411. --------------------
  1412.  
  1413. 8.11) Set techadmin_host Line:
  1414.  
  1415.  This allows you to specify a host that TechAdmins will receive when they 
  1416.  /oper, this only works if iNAH (See section 8.17) is enabled. If this is left 
  1417.  blank it can cause some problems in your IRCd so it is recommended that you 
  1418.  fill in a value.
  1419.  
  1420.  Syntax: 
  1421. Set techadmin_host : techadminhost
  1422.  This tells the server to switch the host of the TechAdmin to techadminhost when 
  1423.  they /oper.
  1424.  
  1425.  Examples:
  1426. Set techadmin_host : techadmin.starspace.net
  1427.  This will make a TechAdmin's host change to techadmin.starspace.net when they 
  1428.  /oper up if iNAH is enabled.
  1429.  
  1430. --------------------
  1431.  
  1432. 8.12) Set hidden_host Line:
  1433.  
  1434.  The Set hidden_host line allows you to specify what the masked part of a users 
  1435.  host will look like when they set +x. Most networks tend to use a part of their 
  1436.  network's name, for example MegaIRC uses mega for their hidden host. Note, if 
  1437.  you leave this blank it may cause some problems in your IRCd.
  1438.  
  1439.  Syntax:
  1440. Set hidden_host ...: hiddenhost
  1441.  This tells the server to use the contents of hiddenhost as the masked part of a 
  1442.  users host when they set +x.
  1443.  
  1444.  Examples:
  1445. Set hidden_host ...: neo
  1446.  This will use the word neo as the masked part of a users host.
  1447.  
  1448. --------------------
  1449.  
  1450. 8.13) Set netdomain Line:
  1451.  
  1452.  This is used to specify the domain name of your IRC network. It is used to give 
  1453.  the user your www address and ftp address in the /info reply. If you leave this 
  1454.  blank, users may find difficulty getting help with a specific topic.
  1455.  
  1456.  Syntax:
  1457. Set netdomain .....: networkdomain
  1458.  This tells the server to use the field networkdomain for your networks domain.
  1459.  
  1460.  Examples:
  1461. Set netdomain .....: Infinity-IRC.org 
  1462.  This will make the server set your domain as Infinity-IRC.org, and display the 
  1463.  www and ftp as www.Infinity-IRC.org and ftp.Infinity-IRC.org in the /info 
  1464.  reply.
  1465.  
  1466. --------------------
  1467.  
  1468. 8.14) Set helpchan Line:
  1469.  
  1470.  This line specifies a channel which the user can go to for help, this is also 
  1471.  used as a reply in the /info command. Again, leaving this blank may cause users 
  1472.  to have problems when seeking help.
  1473.  
  1474.  Syntax:
  1475. Set helpchan ......: channel
  1476.  This will make the server use the field channel as your Official Help Channel 
  1477.  in the /info reply.
  1478.  
  1479.  Examples:
  1480. Set helpchan ......: #help
  1481.  This will tell the user that the server's help channel is #help when they 
  1482.  request a /info.
  1483.  
  1484. --------------------
  1485.  
  1486. 8.15) Set STATS_SERVER Line:
  1487.  
  1488.  This line is used to tell the IRCd where your StatServ is located for use in 
  1489.  the /StatServ command.
  1490.  
  1491.  Syntax:
  1492. Set STATS_SERVER ..: statserver
  1493.  This tells the server to send all /StatServ's to the field statserver.
  1494.  
  1495.  Examples:
  1496. Set STATS_SERVER ..: stats.tspre.org
  1497.  This tells the server to forward all /StatServ commands to stats.tspre.org.
  1498.  
  1499. --------------------
  1500.  
  1501. 8.16) Set HUB Line:
  1502.  
  1503.  This line is obsolete and no longer in use. It is provided only for backwards 
  1504.  compatibility.
  1505.  
  1506. --------------------
  1507.  
  1508. 8.17) Set iNAH Line:
  1509.  
  1510.  This line allows you to specify whether or not oper's hosts should be changed 
  1511.  when they send a /oper command. Most networks set this on, but there are some 
  1512.  that do not like the host masking feature.
  1513.  
  1514.  Syntax:
  1515. Set iNAH ..........: 1/0
  1516.  Set this line to 1 to enable the oper host masking, or set it to 0 to disable 
  1517.  the host masking.
  1518.  
  1519.  Examples:
  1520. Set iNAH ..........: 1
  1521.  This line tells the server to mask an oper's host when they issue a /oper 
  1522.  command.
  1523.  
  1524. Set iNAH ..........: 0
  1525.  This tells the server not to mask an oper's host when they send a /oper 
  1526.  command.
  1527.  
  1528. --------------------
  1529.  
  1530. 8.18) Set net_quit Line:
  1531.  
  1532.  This line is no longer in use and is only provided for compatibility with older 
  1533.  versions of Unreal.
  1534.  
  1535. --------------------
  1536.  
  1537. [ $Id: conf.doc,v 1.5 2000/02/11 00:43:07 codemastr Exp $ ]
  1538.