Log in | Back to darenet.org

DareNET Server Configuration

m (chkircd)
 
(10 intermediate revisions not shown)
Line 1: Line 1:
-
The initial configuration for a DareNET server is fairly basic. To start, you will only need to include the following lines in your ircd.conf: M,A,Y,I,C,Dd,Oo,P
+
{{Historical}}
-
The remaining lines are automatically configured, added and updated via our linesync program from a central site, which is maintained by our Routing Team. Below is an example of an initial configuration file for DareNET.
+
The initial configuration for a DareNET server is pretty bare bones. This is intentional. You will only need to include information that is specific to the server, the rest will be automatically downloaded and synched with the network the first time you start up the ircd.
-
<pre>
+
NOTE: O-lines should NOT reside physically in ircd.conf. They should be placed in a separate file and included by way of an ''include:''. Additionally, all O-lines are to be encrypted - no exceptions!
-
# [M:line]
+
 
-
# Basic information about your server.
+
'''Below is an example of an initial ircd.conf for a DareNET server:'''
-
# NOTE: Numerics are assigned by the Routing Team.
+
<geshi lang="cpp" lines=0>
-
# M:<server name>:<ip address>:<description>::<numeric>
+
#[Includes]
 +
#include:</optional/path/file.conf>
 +
 
 +
include:/path/to/our_opers.conf
 +
 
 +
#[M:line] - Basic information about your server.
 +
#NOTE: Numerics are assigned by the Routing Team.
 +
#M:<server name>:<ip address>:<description>::<numeric>
M:name.area.zone.darenet.org:1.2.3.4:DareNET Client Server::15
M:name.area.zone.darenet.org:1.2.3.4:DareNET Client Server::15
-
# [A:line]
+
#[A:line] - Information shown when someone does a /ADMIN
-
# Information shown when someones does a /ADMIN for the server
+
#A:<line 1>:<line 2>:<line 3>
-
# A:<line 1>:<line 2>:<line 3>
+
-
A:Admin - JoeAdmin:Email - joeadmin[at]darenet.org:Thanks for choosing DareNET!
+
A:DareNET Routing Team:infrastructure@darenet.org:Thanks for choosing DareNET!
-
# [Y:lines]
+
#[Y:lines] - Connection classes (both clients & servers)
-
# Connection classes (both clients and servers)
+
#Y:<class>:<ping freq>:<connect freq>:<maximum links>:<sendq size>
-
# Y:<class>:<ping freq>:<connect freq>:<maximum links>:<sendq size>
+
Y:90:90:300:1:9000000
Y:90:90:300:1:9000000
Line 26: Line 31:
Y:1:90:0:400:160000
Y:1:90:0:400:160000
-
# [I:lines]
+
#[I:lines] - Invite / Authorization lines.
-
# invite / authorization lines
+
#I:<IP mask or crap to force resolving>:<opt passwd>:<hostmask>::<class>
-
# I:<IP mask or crap to force resolving>:<opt passwd>:<hostmask>::<class>
+
I:*::*::1
I:*::*::1
-
# [C:lines]
+
#[C:lines] - Connection lines.
-
# Connection lines
+
#C:<remote hostname or IP>:<password>:<remote server name>:<port>:<class>
-
C:<remote hostname or IP>:<password>:<remote server name>:<port>:<class>
+
C:1.2.3.4:s3cr3tP4ssw0rd:name.hub.zone.darenet.org:7325:90
C:1.2.3.4:s3cr3tP4ssw0rd:name.hub.zone.darenet.org:7325:90
-
# [D:lines]
+
#[D:lines] - Real-time rule-based routing decision making system.
-
# Real-time rule-based routing decision making system
+
#D:<server mask that ircd will refuse to connect to>::<rule>
-
# D:<server mask that ircd will refuse to connect to>::<rule>
+
#d:<server mask that ircd will not autoconnect to>::<rule>
-
# d:<server mask that ircd will not autoconnect to>::<rule>
+
d:*::directcon(*)
d:*::directcon(*)
-
# [O:lines]
+
#[O:lines] - IRC Operators.
-
# IRC Operators
+
#NOTE: It is recommended you place these in a separate file and include them.
-
# O:<host/IP mask>:<encrypted password>:<Nick>:<flags>:<connection class>
+
#O:<host/IP mask>:<encrypted password>:<Nick>:<flags>:<connection class>
-
# o:<host/IP mask>:<encrypted password>:<Nick>:<flags>:<connection class>
+
#o:<host/IP mask>:<encrypted password>:<Nick>:<flags>:<connection class>
O:*@*.cs.vu.nl:VRKLKuGKn0jLs:Niels:A:10
O:*@*.cs.vu.nl:VRKLKuGKn0jLs:Niels:A:10
o:*@*.uu.net:noncryptedpass:Braden::10
o:*@*.uu.net:noncryptedpass:Braden::10
-
# [P:lines]
+
#[P:lines] - Ports.
-
# Ports
+
# P:<hostmask>:<interface>:<[CES][H]>:<port number>
# P:<hostmask>:<interface>:<[CES][H]>:<port number>
Line 71: Line 72:
P:::SH:7325
P:::SH:7325
P:::CE:9999
P:::CE:9999
-
</pre>
+
 
 +
#Server specific F:lines
 +
 
 +
F:LOG:SYSTEM:FILE:ircd.log
 +
F:LOG:SYSTEM:LEVEL:CRIT
 +
 
 +
F:DOMAINNAME:<obtained from /etc/resolv.conf by ./configure>
 +
F:RELIABLE_CLOCK:FALSE
 +
F:BUFFERPOOL:27000000
 +
F:HAS_FERGUSON_FLUSHER:FALSE
 +
F:SERVER_PORT:7325
 +
F:NODEFAULTMOTD:TRUE
 +
F:MOTD_BANNER
 +
F:HUB:FALSE
 +
F:RANDOM_SEED:<you should set one explicitly>
 +
F:PINGFREQUENCY:120
 +
F:MPATH:ircd.motd
 +
F:QPATH:ircd.quotes
 +
F:EPATH:ircd.rules
 +
F:OMPATH:ircd.opermotd
 +
F:RPATH:remote.motd
 +
F:PPATH:ircd.pid
 +
F:TPATH:ircd.tune
 +
F:VIRTUAL_HOST:FALSE
 +
F:TOS_SERVER:0x08
 +
F:TOS_CLIENT:0x08
 +
F:POLLS_PER_LOOP:200
 +
F:IRCD_RES_TIMEOUT:4
 +
F:IRCD_RES_RETRIES:2
 +
F:AUTH_TIMEOUT:9
 +
</geshi>
 +
 
 +
Thats it! The rest will be automatically downloaded and synched with the network.
== Cron Jobs ==
== Cron Jobs ==
-
The following cronjobs will be installed by our Routing Team:
+
The following cronjobs are required, and will be installed by our Routing Team.
===linesync===
===linesync===
-
linesync updates your server configuration twice (2x) a day with the latest k:lines, q:lines, b:lines, u:lines, features, etc. It is required. You'll receive it from us when your testlink is approved.
+
Our linesync program updates your server's configuratuon twice (2x) a day with the latest network-wide settings, including k-lines, q-lines, b-lines, u-lines, h-lines, features and more. In the case of emergency/critical updates, the Routing Team can manually invoke it, bypassing the need to wait for the set interval to elapse.  
 +
 
 +
Example:
  0 */12 * * * /home/user/ircd/linesync.sh /home/user/ircd/ircd.conf /home/user/ircd/ircd.pid
  0 */12 * * * /home/user/ircd/linesync.sh /home/user/ircd/ircd.conf /home/user/ircd/ircd.pid
Line 85: Line 120:
===chkircd===
===chkircd===
-
This gem checks if the irc server is running, and if it isn't, attempts to start it up. This should help keep the ircd up after reboots, or in the case of a server crash. This script is included in the ircd tarball you'll receive once your testlink is approved.
+
This little gem checks if the IRC server is running, and if it isn't, attempts to start it up. This should help keep the ircd up after reboots, or in the case of a server crash.
 +
 
 +
Example:
  */5 * * * * /home/user/chkircd.sh
  */5 * * * * /home/user/chkircd.sh
-
 
-
 
-
[[Category:Technical]]
 

Current revision as of 04:12, 2 December 2009

Historical
This page has been marked as Historical. Information posted here may be inaccurate and out of date. This information is kept for sentimental and/or historical reference purposes.


The initial configuration for a DareNET server is pretty bare bones. This is intentional. You will only need to include information that is specific to the server, the rest will be automatically downloaded and synched with the network the first time you start up the ircd.

NOTE: O-lines should NOT reside physically in ircd.conf. They should be placed in a separate file and included by way of an include:. Additionally, all O-lines are to be encrypted - no exceptions!

Below is an example of an initial ircd.conf for a DareNET server: <geshi lang="cpp" lines=0>

  1. [Includes]
  2. include:</optional/path/file.conf>

include:/path/to/our_opers.conf

  1. [M:line] - Basic information about your server.
  2. NOTE: Numerics are assigned by the Routing Team.
  3. M:<server name>:<ip address>:<description>::<numeric>

M:name.area.zone.darenet.org:1.2.3.4:DareNET Client Server::15

  1. [A:line] - Information shown when someone does a /ADMIN
  2. A:<line 1>:<line 2>:<line 3>

A:DareNET Routing Team:infrastructure@darenet.org:Thanks for choosing DareNET!

  1. [Y:lines] - Connection classes (both clients & servers)
  2. Y:<class>:<ping freq>:<connect freq>:<maximum links>:<sendq size>

Y:90:90:300:1:9000000 Y:80:90:300:0:9000000 Y:10:90:0:100:160000 Y:1:90:0:400:160000

  1. [I:lines] - Invite / Authorization lines.
  2. I:<IP mask or crap to force resolving>:<opt passwd>:<hostmask>::<class>

I:*::*::1

  1. [C:lines] - Connection lines.
  2. C:<remote hostname or IP>:<password>:<remote server name>:<port>:<class>

C:1.2.3.4:s3cr3tP4ssw0rd:name.hub.zone.darenet.org:7325:90

  1. [D:lines] - Real-time rule-based routing decision making system.
  2. D:<server mask that ircd will refuse to connect to>::<rule>
  3. d:<server mask that ircd will not autoconnect to>::<rule>

d:*::directcon(*)

  1. [O:lines] - IRC Operators.
  2. NOTE: It is recommended you place these in a separate file and include them.
  3. O:<host/IP mask>:<encrypted password>:<Nick>:<flags>:<connection class>
  4. o:<host/IP mask>:<encrypted password>:<Nick>:<flags>:<connection class>

O:*@*.cs.vu.nl:VRKLKuGKn0jLs:Niels:A:10 o:*@*.uu.net:noncryptedpass:Braden::10

  1. [P:lines] - Ports.
  2. P:<hostmask>:<interface>:<[CES][H]>:<port number>

P:::C:6660 P:::C:6661 P:::C:6662 P:::C:6663 P:::C:6664 P:::C:6665 P:192.168.*::C:6666 P:::C:6667 P:::C:6668 P:::C:6669 P:::CE:6697 P:::C:7000 P:::SH:7325 P:::CE:9999

  1. Server specific F:lines

F:LOG:SYSTEM:FILE:ircd.log F:LOG:SYSTEM:LEVEL:CRIT

F:DOMAINNAME:<obtained from /etc/resolv.conf by ./configure> F:RELIABLE_CLOCK:FALSE F:BUFFERPOOL:27000000 F:HAS_FERGUSON_FLUSHER:FALSE F:SERVER_PORT:7325 F:NODEFAULTMOTD:TRUE F:MOTD_BANNER F:HUB:FALSE F:RANDOM_SEED:<you should set one explicitly> F:PINGFREQUENCY:120 F:MPATH:ircd.motd F:QPATH:ircd.quotes F:EPATH:ircd.rules F:OMPATH:ircd.opermotd F:RPATH:remote.motd F:PPATH:ircd.pid F:TPATH:ircd.tune F:VIRTUAL_HOST:FALSE F:TOS_SERVER:0x08 F:TOS_CLIENT:0x08 F:POLLS_PER_LOOP:200 F:IRCD_RES_TIMEOUT:4 F:IRCD_RES_RETRIES:2 F:AUTH_TIMEOUT:9 </geshi>

Thats it! The rest will be automatically downloaded and synched with the network.

Cron Jobs

The following cronjobs are required, and will be installed by our Routing Team.

linesync

Our linesync program updates your server's configuratuon twice (2x) a day with the latest network-wide settings, including k-lines, q-lines, b-lines, u-lines, h-lines, features and more. In the case of emergency/critical updates, the Routing Team can manually invoke it, bypassing the need to wait for the set interval to elapse.

Example:

0 */12 * * * /home/user/ircd/linesync.sh /home/user/ircd/ircd.conf /home/user/ircd/ircd.pid

chkircd

This little gem checks if the IRC server is running, and if it isn't, attempts to start it up. This should help keep the ircd up after reboots, or in the case of a server crash.

Example:

*/5 * * * * /home/user/chkircd.sh