DareNET Server Configuration
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>
- [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
- [A:line] - Information shown when someone does a /ADMIN
- A:<line 1>:<line 2>:<line 3>
A:DareNET Routing Team:infrastructure@darenet.org:Thanks for choosing DareNET!
- [Y:lines] - Connection classes (both clients & servers)
- 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
- [I:lines] - Invite / Authorization lines.
- I:<IP mask or crap to force resolving>:<opt passwd>:<hostmask>::<class>
I:*::*::1
- [C:lines] - Connection lines.
- C:<remote hostname or IP>:<password>:<remote server name>:<port>:<class>
C:1.2.3.4:s3cr3tP4ssw0rd:name.hub.zone.darenet.org:7325:90
- [D:lines] - 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 not autoconnect to>::<rule>
d:*::directcon(*)
- [O:lines] - 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:*@*.cs.vu.nl:VRKLKuGKn0jLs:Niels:A:10 o:*@*.uu.net:noncryptedpass:Braden::10
- [P:lines] - Ports.
- 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
- 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