]> arthur.barton.de Git - ngircd-alex.git/blob - doc/Services.txt
Don't forward KILLs to other servers if they've been blocked locally
[ngircd-alex.git] / doc / Services.txt
1
2                      ngIRCd - Next Generation IRC Server
3                            http://ngircd.barton.de/
4
5                (c)2001-2011 Alexander Barton and Contributors.
6                ngIRCd is free software and published under the
7                    terms of the GNU General Public License.
8
9                               -- Services.txt --
10
11
12 ngIRCd doesn't implement a "special IRC services interface", but services
13 acting as a "regular servers" ("pseudo servers") are supported, either
14 using the IRC protocol as defined in RFC 1459 or RFC 2812.
15
16 Support for Services has been tested using
17  - Anope 1.9.8 or later (<http://www.anope.org/>)
18  - Atheme 7.0.2 or later (<http://www.atheme.net>)
19  - "IRC Services" 5.1.x by Andrew Church (<http://achurch.org/services/>)
20
21 This document describes setting up ngIRCd and these services.
22
23 Please let us know if you are successfully using other IRC service packages or
24 which problems you encounter -- thanks!
25
26
27 Setting up ngIRCd
28 ~~~~~~~~~~~~~~~~~
29
30 The "pseudo server" handling the IRC services is configured as a regular
31 remote server in the ngircd.conf(5). In addition the variable "ServiceMask"
32 should be set, enabling this ngIRCd to recognize the "pseudo users" as IRC
33 services instead of regular IRC users.
34
35 Example:
36
37   [GLOBAL]
38      Name = server.irc.net
39      Ports = 6667
40
41   [SERVER]
42      Name = services.irc.net
43      MyPassword = 123abc
44      PeerPassword = 123abc
45      ServiceMask = *Serv
46
47
48 Setting up Anope 1.9.x & 2.x
49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51 Anope 1.9.8 or later (<http://www.anope.org/>) can be used with ngIRCd using
52 the "ngircd" protocol module.
53
54 At least the following settings have to be tweaked, in addition to all the
55 settings marked as required by Anope:
56
57 In conf/services.conf:
58
59   define
60   {
61         name = "services.host"
62         value = "services.irc.net"
63   }
64
65   uplink
66   {
67         host = "server.irc.net"
68         port = 6667
69         password = "123abc"
70   }
71
72   # Load ngIRCd protocol module
73   module
74   {
75         name = "ngircd"
76   }
77
78   networkinfo
79   {
80         # Must be set to the "MaxNickLength" setting of ngIRCd!
81         nicklen = 9
82
83         # When not using "strict mode", which is the default:
84         userlen = 20
85
86         chanlen = 50
87   }
88
89 In conf/nickserv.conf:
90
91   module
92   {
93         name = "nickserv"
94
95         # not required if you are running ngIRCd with a higher nickname limit
96         # ("MaxNickLength") than 11 characters, but REQUIRED by default!
97         guestnickprefix = "G-"
98   }
99
100
101 Setting up Atheme 7.0.2 or later
102 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
103
104 Atheme 7.0.2 or later (<http://www.atheme.net>) may be used with ngIRCd using
105 the "ngircd" protocol module.
106
107 The following settings need to be in atheme.conf:
108
109   loadmodule "modules/protocol/ngircd";
110
111   serverinfo {
112         name = "services.irc.net";
113   }
114
115   uplink "server.irc.net" {
116         password = "123abc";
117         port = 6667;
118   };
119
120 The documentation of Atheme can be found in the doc/ directory of the
121 Atheme source distribution.
122
123
124 Setting up IRC Services 5.1.x
125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
126
127 IRC Services 5.1.3 and above can be used with ngIRCd using the "rfc1459"
128 protocol module.
129
130 Please note that versions up to and including 5.1.3 contain a bug that
131 sometimes causes IRC Services to hang on startup. There are two workarounds:
132  a) send the services process a HUP signal ("killall -HUP ircservices")
133  b) apply this patch to the IRC Services source tree:
134     <http://arthur.barton.de/pub/ngircd/contrib/IRCServices513-FlushBuffer.patch>
135
136 At least the following settings have to be tweaked, in addition to all the
137 settings marked as required by IRC Services:
138
139 In ircservices.conf:
140
141   Variable              Example value
142
143   RemoteServer          server.irc.net 6667 "123abc"
144   ServerName            "services.irc.net"
145   LoadModule            protocol/rfc1459
146
147 In modules.conf:
148
149   Module                protocol/rfc1459
150
151 The documentation of IRC Services can be found here:
152 <http://www.ircservices.za.net/docs/>