Permalink
2f6f692 Feb 20, 2017
@alexbarton @kaniini
153 lines (105 sloc) 3.69 KB
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 --
ngIRCd doesn't implement a "special IRC services interface", but services
acting as a "regular servers" ("pseudo servers") are supported, either
using the IRC protocol as defined in RFC 1459 or RFC 2812.
Support for Services has been tested using
- Anope 1.9.8 or later (<http://www.anope.org/>)
- Atheme 7.0.2 or later (<http://www.atheme.net>)
- "IRC Services" 5.1.x by Andrew Church (<http://achurch.org/services/>)
This document describes setting up ngIRCd and these services.
Please let us know if you are successfully using other IRC service packages or
which problems you encounter -- thanks!
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:
[GLOBAL]
Name = server.irc.net
Ports = 6667
[SERVER]
Name = services.irc.net
MyPassword = 123abc
PeerPassword = 123abc
ServiceMask = *Serv
Setting up Anope 1.9.x & 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Anope 1.9.8 or later (<http://www.anope.org/>) can be used with ngIRCd using
the "ngircd" protocol module.
At least the following settings have to be tweaked, in addition to all the
settings marked as required by Anope:
In conf/services.conf:
define
{
name = "services.host"
value = "services.irc.net"
}
uplink
{
host = "server.irc.net"
port = 6667
password = "123abc"
}
# Load ngIRCd protocol module
module
{
name = "ngircd"
}
networkinfo
{
# Must be set to the "MaxNickLength" setting of ngIRCd!
nicklen = 9
# When not using "strict mode", which is the default:
userlen = 20
chanlen = 50
}
In conf/nickserv.conf:
module
{
name = "nickserv"
# not required if you are running ngIRCd with a higher nickname limit
# ("MaxNickLength") than 11 characters, but REQUIRED by default!
guestnickprefix = "G-"
}
Setting up Atheme 7.0.2 or later
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Atheme 7.0.2 or later (<http://www.atheme.net>) may be used with ngIRCd using
the "ngircd" protocol module.
The following settings need to be in atheme.conf:
loadmodule "modules/protocol/ngircd";
serverinfo {
name = "services.irc.net";
}
uplink "server.irc.net" {
password = "123abc";
port = 6667;
};
The documentation of Atheme can be found in the doc/ directory of the
Atheme source distribution.
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:
<http://arthur.barton.de/pub/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/>