This repository was archived by the owner on Aug 14, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
171 lines (105 loc) · 5.57 KB
/
Copy pathREADME
File metadata and controls
171 lines (105 loc) · 5.57 KB
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
efserv provides a set of operator services to an IRC network running
ircd-hybrid or csircd. Features provided include server juping, clone
detection, and "chanfix".
----------------------------------------------------------------------
Installation
efserv uses standard GNU tools to compile and install. The following
programs are needed: gcc, flex, bison, a working dl library, and BSD or
GNU make.
1.
Run configure with the path that the service will run from.
$ ./configure --prefix=/path/to/efserv
2.
Edit include/config.h, changing the settings to your network's needs.
3.
Run make.
4.
Run make install.
5.
Copy example.conf to the etc/ in the pathname specified in the
--prefix option, with the name efserv.conf.
6.
Edit efserv.conf completely for your network.
7.
Configure all servers specified with a hub {} block in efserv.conf to
accept the services pseudo-server linkage. This will involve
configuring C:, N:, and H: lines (or their equivalents).
----------------------------------------------------------------------
Usage
Much of efserv works automatically, without oper/admin intervention. The
Chanfix aspect of the service is, by default[1], totally automated.
----------------------------------------------------------------------
Using Jupe
In order for an oper to use the JUPE function of efserv, the server the
oper is using must be entered in a server {} block in efserv.conf.
To initiate a jupe, an oper issues a command such as the following:
/msg SVC-NICK JUPE bad.server.name reason goes here
XXX - Try to make sense out of the voting code.
----------------------------------------------------------------------
Using Cycle
Note: USE_CYCLE must be defined in include/config.h for this command to
be able to be used.
The CYCLE allows any chanop in a channel to have efserv forcibly close a
channel and allow it to be reopened.
XXX - Provide more information here
----------------------------------------------------------------------
Using Reop
Note: USE_REOP must be defined in include/config.h for this command to
be able to be used.
REOP allows an operator to issue a manual chanfix to a channel, opping the
users who have the highest score according to the internal databases.
----------------------------------------------------------------------
Using Monitor
MONITOR allows an operator to enable or disable Monitor mode, which allows
an operator to receive alerts on network-wide cloning. The format of the
notice is similar to what is given on EFnet services.us. The behavior of
efserv is pro-active in notifying opers, rather than waiting for a CLONES
command.
MONITOR accepts a single parameter, either + or -. + or no parameter
enables monitor mode, and - disables monitor mode.
XXX - There should still be a CLONES command, for when a monitor bot first
connects, and to maintain compatibility with current monitor bots.
----------------------------------------------------------------------
Using SMode
SMODE allows an operator to designate a channel banned from the network,
oper only, or services administrator only.
XXX - Should this be administrator only?
XXX - This does not yet function completely. Channel smodes are not yet
saved between restarts.
----------------------------------------------------------------------
Using Admin
Services administrator access is controlled by the ADMIN. The syntax is as
follows:
/msg SVC-NICK ADMIN nick password
Access to log in as a services administrator is strictly controlled. You
must be entered in efserv.conf in an admin {} block. The user@host you
currently have must match one of the entries in your admin {} block, and
you must currently be an IRC operator.
Administrator access allows you to have more "power" over JUPE and allows
the administrator access to the SUNJUPE command.
----------------------------------------------------------------------
Using Sunjupe
The SUNJUPE allows a services administrator to completely unjupe a server,
bypassing all voting. The command accepts one parameter, the server name
to unjupe.
----------------------------------------------------------------------
Running efserv
When properly installed, efserv is simple to start. Change into the
directory where the service was installed, and issue the following
command:
$ ./efserv >out.log 2>err.log &
The service should start and connect to one of the servers specified in a
hub {} block in etc/efserv.conf.
Note: The service will send text to STDOUT and STDERR. For this reason,
the redirections above are needed.
----------------------------------------------------------------------
Signal Handling
efserv handles two UNIX(c) signals, SIGHUP and SIGUSR1. SIGUSR1 is used to
force efserv to reload it's module[2]. SIGHUP will force the service to
reload the configuration file.
Notes
[1] Manual Chanfix is controlled by the USE_REOP define in
include/config.h.
[2] SIGUSR1 allows the service to be upgraded on the fly, without having a
restart. You may have to send a command to the service in order for
the module to actually reload, due to the way efserv operates.