summary refs log tree commit diff
path: root/doc/Services.txt
blob: 944afd4807c87cd4dc366c810cf791fe689379c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117

                     ngIRCd - Next Generation IRC Server
                           http://ngircd.barton.de/

               (c)2001-2011 Alexander Barton and Contributors.
               ngIRCd is free software and published under the
                   terms of the GNU General Public License.

                              -- Services.txt --


At the moment, ngIRCd doesn't implement a "special IRC services interface".
But services acting as a "regular server" are supported, either using the IRC
protocol defined in RFC 1459 or RFC 2812.

Support for Services has been tested using "IRC Services" version 5.x by
Andrew Church (<http://achurch.org/services/>), Anope 1.9 using a
preliminary protocol module for ngIRCd (<http://www.anope.org/>), and
Atheme 7.0.2 or later.

This document describes setting up ngIRCd and these services.


Setting up ngIRCd
~~~~~~~~~~~~~~~~~

The "pseudo server" handling the IRC services is configured as a regular
remote server in the ngircd.conf(5). In addition the variable "ServiceMask"
should be set, enabling this ngIRCd to recognize the "pseudo users" as IRC
services instead of regular IRC users.

Example:

  [SERVER]
     Name = services.irc.net
     MyPassword = 123abc
     PeerPassword = 123abc
     ServiceMask = *Serv


Setting up Anope 1.9.x
~~~~~~~~~~~~~~~~~~~~~~

Anope 1.9.4 (and above) can be used with ngIRCd using a preliminary "ngircd"
protocol module contained in our contrib/Anope/ directory. Please see the
file contrib/Anope/README for installation instructions!

After patching and installing Anope, at least the following configuration
variables have to be adjusted in data/services.conf, in addition to all the
settings marked as required:

  uplink
  {
	host = "server.irc.net"
	port = 6667
	password = "123abc"
  }

  serverinfo
  {
	name = "services.irc.net"
	type = "ngircd"
  }


Setting up IRC Services 5.1.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

IRC Services 5.1.3 and above can be used with ngIRCd using the "rfc1459"
protocol module.

Please note that versions up to and including 5.1.3 contain a bug that
sometimes causes IRC Services to hang on startup. There are two workarounds:
 a) send the services process a HUP signal ("killall -HUP ircservices")
 b) apply this patch to the IRC Services source tree:
    <ftp://ngircd.barton.de/ngircd/contrib/IRCServices513-FlushBuffer.patch>

At least the following settings have to be tweaked, in addition to all the
settings marked as required by IRC Services:

In ircservices.conf:

  Variable		Example value

  RemoteServer		server.irc.net 6667 "123abc"
  ServerName		"services.irc.net"
  LoadModule		protocol/rfc1459

In modules.conf:

  Module		protocol/rfc1459

The documentation of IRC Services can be found here:
<http://www.ircservices.za.net/docs/>


Setting up Atheme 7.0.2 or later
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atheme 7.0.2 or later may be used with ngIRCd using the "ngircd" protocol
module.

The following settings need to be in atheme.conf:

loadmodule "modules/protocol/ngircd";

uplink "server.irc.net" {
	password = "123abc";
	port = 6667;
};

The documentation of Atheme can be found in the doc/ directory of the
Atheme source distribution.


Please let us know if you are successfully using other IRC service packages or
which problems you encounter, thanks!