]> jfr.im git - irc/quakenet/newserv.git/blob - MODULES
Update .hgignore.
[irc/quakenet/newserv.git] / MODULES
1 newserv Modules
2 ~~~~~~~~~~~~~~
3
4 This is a brief overview of the newserv modules.
5
6 core
7 ~~~
8
9 This is not actually a module. Instead, this is the code of the "newserv" binary
10 which provides minimal support for loading modules.
11
12 authext, bans, chanindex, channel, irc, nick, server
13 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14
15 These modules provide basic support for accounts, channels, nicks and server
16 connections. Virtually all other modules depend on at least some of these
17 modules.
18
19 localuser
20 ~~~~~~~~
21
22 Implements functionality for creating local users that are "connected" to the
23 newserv instance.
24
25 control
26 ~~~~~~
27
28 Spawns the control user for your newserv instance. The control user provides
29 an IRC-based interface for newserv commands, e.g. to manage loaded modules
30 and modify user accounts.
31
32 Other modules can register their own commands.
33
34 You can create a user on your control instance using /msg N hello (where N is
35 the nick of your control instance). You need to be opered in order to use this
36 command.
37
38 Once you have an account you should have a look at /msg N showcommands for a
39 list of available commands.
40
41 Configuration:
42
43 [control]
44 nick=N3
45
46 auth
47 ~~~
48
49 Supports sending AC tokens. You should only use this module if you don't have
50 some other form of authentication service on your network (such as Q). This
51 module lets opers use arbitrary account names and IDs.
52
53 chanfix
54 ~~~~~~
55
56 Keeps track of channel ops and can be used to re-op opless channels.
57
58 chanserv
59 ~~~~~~~
60
61 This is QuakeNet's channel service (Q). In order to load this module you will
62 need also need to load the pqsql module.
63
64 pqsql
65 ~~~~
66
67 Provides support for PostgreSQL database queries.
68
69 Configuration:
70
71 [pqsql]
72 host=127.0.0.1
73 port=5432
74 username=gunnar
75 password=changeme
76
77 dbapi2
78 ~~~~~
79
80 Implements database functionality used by some other modules. In addition to
81 loading the dbapi2 module you will also need to load one of the database
82 provider modules: sqlite-dbapi2 or pqsql-dbapi2
83
84 fakeusers
85 ~~~~~~~~
86
87 Provides a way to spawn fake users.
88
89 glines
90 ~~~~~
91
92 Implements gline commands and general gline functionality that is used by other
93 modules.
94
95 helpmod2
96 ~~~~~~~
97
98 This is QuakeNet's G service. It is primarily used on official support channels.
99
100 invalidbans
101 ~~~~~~~~~~
102
103 This module automatically removes invalid IPv6 bans as these can desync channel
104 modes on snircd 1.3.4a.
105
106 jupe
107 ~~~
108
109 Provides commands to set, list and remove jupes.
110
111 lua
112 ~~
113
114 Provides support for Lua scripts. For an example of a fairly complex script
115 have a look at the labspace repository at http://hg.quakenet.org/lua-labspace/
116
117 Configuration:
118
119 [lua]
120 scriptdir=./luascripts
121 script=labspace
122
123 Note: You will need to create the script directory in your newserv
124 installation directory (e.g. "luascripts" in this example) and symlink the
125 lua/lib directory into it.
126
127 newsearch
128 ~~~~~~~~
129
130 Provides functionality to search for nicks and channels based on certain
131 criteria.
132
133 miscreply
134 ~~~~~~~~
135
136 Implements rping and various other status query commands.
137
138 proxyscan
139 ~~~~~~~~
140
141 Does on-connect proxy scans and glines open proxies.
142
143 request
144 ~~~~~~
145
146 This is QuakeNet's channel service request bot (R). Some of the module
147 parameters are not configurable - instead you will have to modify the
148 request/request.h header file and recompile the module.
149
150 serverlist
151 ~~~~~~~~~
152
153 Implements the serverlist command which shows various information about
154 connected servers (including their network latency).
155
156 settime
157 ~~~~~~
158
159 Provides commands to set the network time.
160
161 splitlist
162 ~~~~~~~~
163
164 Keeps track of servers that were lost during a netsplit. This module is used
165 by chanfix to determine when it shouldn't re-op users.
166
167 trojanscan
168 ~~~~~~~~~
169
170 Used to find and gline drones on the network.
171
172 trusts
173 ~~~~~
174
175 Implements connection limits. Supports the TRUST protocol which is used
176 by quakenet-iauthd to determine whether to allow users on the network.
177
178 You will need to load the trusts_master module on one of your newserv
179 instances. All other instances should load the trusts_slave module in order
180 to receive replication updates from the trusts master:
181
182 [trusts]
183 master=1
184 #masterserver=trusts.services.netsplit.net # Only used if master=0
185
186 In most cases you will also want to load the trusts_management module on
187 your trusts master. This module provides commands to add, modify and delete
188 trusts.
189
190 If you want to enforce connection limits on your network you can use the
191 trusts_policy module:
192
193 [trusts_policy]
194 enforcepolicy_irc=1
195 enforcepolicy_auth=0
196 trustport=5776
197 server=gnb.netsplit.net,changeme
198 server=test.gnb.netsplit.net,changeme
199
200 You can use the QuakeNet IAuth daemon available at
201 http://hg.quakenet.org/iauthd/ to enforce connection limits using IAuth rather
202 than g:lines.
203
204 whowas
205 ~~~~~
206
207 Keeps track of historical user records. Used by the glines module to chase
208 nicks and by newsearch.
209
210 xsb
211 ~~
212
213 Provides replication capabilities. Used by the trusts modules to sync
214 trusts between newserv instances.
215
216 Configuration:
217
218 [xsb]
219 servicemask=*.services.netsplit.net