Add doc/Contributing.txt to distribution archive
[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 At the moment, ngIRCd doesn't implement a "special IRC services interface".
13 But services acting as a "regular server" are supported, either using the IRC
14 protocol defined in RFC 1459 or RFC 2812.
15
16 Support for Services has been tested using "IRC Services" version 5.x by
17 Andrew Church (<http://achurch.org/services/>), Anope 1.9 using a
18 preliminary protocol module for ngIRCd (<http://www.anope.org/>), and
19 Atheme 7.0.2 or later.
20
21 This document describes setting up ngIRCd and these services.
22
23
24 Setting up ngIRCd
25 ~~~~~~~~~~~~~~~~~
26
27 The "pseudo server" handling the IRC services is configured as a regular
28 remote server in the ngircd.conf(5). In addition the variable "ServiceMask"
29 should be set, enabling this ngIRCd to recognize the "pseudo users" as IRC
30 services instead of regular IRC users.
31
32 Example:
33
34   [SERVER]
35      Name = services.irc.net
36      MyPassword = 123abc
37      PeerPassword = 123abc
38      ServiceMask = *Serv
39
40
41 Setting up Anope 1.9.x
42 ~~~~~~~~~~~~~~~~~~~~~~
43
44 Anope 1.9.4 (and above) can be used with ngIRCd using a preliminary "ngircd"
45 protocol module contained in our contrib/Anope/ directory. Please see the
46 file contrib/Anope/README for installation instructions!
47
48 After patching and installing Anope, at least the following configuration
49 variables have to be adjusted in data/services.conf, in addition to all the
50 settings marked as required:
51
52   uplink
53   {
54         host = "server.irc.net"
55         port = 6667
56         password = "123abc"
57   }
58
59   serverinfo
60   {
61         name = "services.irc.net"
62         type = "ngircd"
63   }
64
65
66 Setting up IRC Services 5.1.x
67 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68
69 IRC Services 5.1.3 and above can be used with ngIRCd using the "rfc1459"
70 protocol module.
71
72 Please note that versions up to and including 5.1.3 contain a bug that
73 sometimes causes IRC Services to hang on startup. There are two workarounds:
74  a) send the services process a HUP signal ("killall -HUP ircservices")
75  b) apply this patch to the IRC Services source tree:
76     <ftp://ngircd.barton.de/ngircd/contrib/IRCServices513-FlushBuffer.patch>
77
78 At least the following settings have to be tweaked, in addition to all the
79 settings marked as required by IRC Services:
80
81 In ircservices.conf:
82
83   Variable              Example value
84
85   RemoteServer          server.irc.net 6667 "123abc"
86   ServerName            "services.irc.net"
87   LoadModule            protocol/rfc1459
88
89 In modules.conf:
90
91   Module                protocol/rfc1459
92
93 The documentation of IRC Services can be found here:
94 <http://www.ircservices.za.net/docs/>
95
96
97 Setting up Atheme 7.0.2 or later
98 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99
100 Atheme 7.0.2 or later may be used with ngIRCd using the "ngircd" protocol
101 module.
102
103 The following settings need to be in atheme.conf:
104
105 loadmodule "modules/protocol/ngircd";
106
107 uplink "server.irc.net" {
108         password = "123abc";
109         port = 6667;
110 };
111
112 The documentation of Atheme can be found in the doc/ directory of the
113 Atheme source distribution.
114
115
116 Please let us know if you are successfully using other IRC service packages or
117 which problems you encounter, thanks!