Make afs commands work.
[paraslash.git] / server.ggo
1 section "General options"
2 #~~~~~~~~~~~~~~~~~~~~~~~~
3
4 option "loglevel" l
5 #~~~~~~~~~~~~~~~~~~
6
7 "set loglevel (0-6)"
8
9 int typestr="level"
10 default="4"
11 optional
12
13 option "port" p
14 #~~~~~~~~~~~~~~
15
16 "listening port"
17
18 int typestr="portnumber"
19 default="2990"
20 optional
21
22 option "daemon" d
23 #~~~~~~~~~~~~~~~~
24
25 "run as background daemon"
26
27 flag off
28
29 option "user" u
30 #~~~~~~~~~~~~~~
31
32 "run as user 'name'. para_server does not
33 need any special privileges. If started as
34 root (EUID == 0) this option must be given at
35 the command line (not in the configuration
36 file) so that para_server can drop the root
37 privileges right after parsing the command
38 line options, but before parsing the
39 configuration file. In this case,
40 real/effective/saved UID are all set to the
41 UID of 'name'. As the configuration file
42 is read afterwards, those options that have a
43 default value depending on the UID (e.g. the
44 directory for the configuration file) are
45 computed by using the uid of 'name'.
46 This option has no effect if para_server is
47 started as a non-root user (i.e. EUID != 0)"
48
49 string typestr="name"
50 optional
51
52
53 option "group" g
54 #~~~~~~~~~~~~~~~
55
56 "set group id to according to 'group'. This
57 option is silently ignored if EUID != 0.
58 Otherwise, real/effective GID and the saved
59 set-group ID are all set to the GID given by
60 'group'. Must not be given in the config file."
61
62 string typestr="group"
63 optional
64
65
66
67 section "Configuration files"
68 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69
70
71 option "logfile" L
72 #~~~~~~~~~~~~~~~~~
73
74 "(default=stdout/stderr)"
75
76 string typestr="filename"
77 optional
78
79 option "config_file" c
80 #~~~~~~~~~~~~~~~~~~~~~
81
82 "(default='~/.paraslash/server.conf'"
83
84 string typestr="filename"
85 optional
86
87 option "user_list" -
88 #~~~~~~~~~~~~~~~~~~~
89
90 "(default='~/.paraslash/server.users')"
91
92 string typestr="filename"
93 optional
94
95
96
97 section "virtual streaming system"
98 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99
100
101 option "autoplay" a
102 #~~~~~~~~~~~~~~~~~~
103
104 "start playing on startup"
105
106 flag off
107
108 option "autoplay_delay" -
109 #~~~~~~~~~~~~~~~~~~~~~~~~
110 "Time to wait before autoplay starts. Ignored if
111 autoplay is off."
112 int typestr="milliseconds"
113 default="0"
114 optional
115
116
117 option "announce_time" A
118 #~~~~~~~~~~~~~~~~~~~~~~~
119
120 "Delay betweeen announcing the stream and sending data"
121
122 int typestr="milliseconds"
123 default="300"
124 optional
125
126
127 option "selector" S
128 #~~~~~~~~~~~~~~~~~~
129
130 "(default=random)"
131
132 string typestr="name"
133 optional
134
135
136 option "afs_socket" s
137 #~~~~~~~~~~~~~~~~~~~~
138
139 "Command socket for the audio file selector"
140
141 string typestr="path"
142 default="/var/paraslash/afs_command_socket"
143 optional
144
145 section "mysql selector"
146 #~~~~~~~~~~~~~~~~~~~~~~~
147
148
149 option "mysql_host" -
150 #~~~~~~~~~~~~~~~~~~~~
151
152 "mysql server"
153
154 string typestr="ip or hostname"
155 default="localhost"
156 optional
157
158 option "mysql_port" -
159 #~~~~~~~~~~~~~~~~~~~~
160
161 "where mysql is listening"
162
163 int typestr="portnumber"
164 default="3306"
165 optional
166
167
168 option "mysql_user" -
169 #~~~~~~~~~~~~~~~~~~~~
170
171 "default value: username from /etc/passwd"
172
173 string typestr="username"
174 optional
175
176 option "mysql_passwd" -
177 #~~~~~~~~~~~~~~~~~~~~~~
178
179 "(required)"
180
181 string
182 optional
183
184 option "mysql_database" -
185 #~~~~~~~~~~~~~~~~~~~~~~~~
186
187 "name of mysql database"
188
189 string
190 default="paraslash"
191 optional
192
193 option "mysql_audio_file_dir" -
194 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195
196 "dir to search for audio files (required)"
197
198 string typestr="dirname"
199 optional
200
201 option "mysql_default_score" -
202 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
203
204 "scoring rule to use if stream definition
205 does not contain explicit score definition"
206
207 string
208 default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))"
209 optional
210
211
212
213
214 section "random selector"
215 #~~~~~~~~~~~~~~~~~~~~~~~~
216
217
218 option "random_dir" -
219 #~~~~~~~~~~~~~~~~~~~~
220
221 "dir to search for audio files"
222 string typestr="dirname"
223 default="/home/music"
224 optional
225
226
227
228
229 section "http sender"
230 #~~~~~~~~~~~~~~~~~~~~
231
232
233 option "http_port" -
234 #~~~~~~~~~~~~~~~~~~~
235
236 "tcp port for http streaming"
237
238 int typestr="portnumber"
239 default="8000"
240 optional
241
242 option "http_default_deny" -
243 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
244
245 "deny connections from hosts which are not
246 explicitly allowed"
247
248 flag off
249
250 option "http_access" -
251 #~~~~~~~~~~~~~~~~~~~~~
252
253 "Add given host/network to access control
254 list (whitelist if http_default_deny was
255 given, blacklist otherwise) before opening
256 the tcp port. This option can be given
257 multiple times. Example: '192.168.0.0/24'
258 whitelists/blacklists the 256 hosts
259 192.168.0.x"
260
261 string typestr="a.b.c.d/n"
262 optional
263 multiple
264
265 option "http_no_autostart" -
266 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
267
268 "do not open tcp port on server startup"
269
270 flag off
271
272 option "http_max_clients" -
273 #~~~~~~~~~~~~~~~~~~~~~~~~~~
274
275 "maximal simultaneous connections,
276 non-positive value means unlimited"
277
278 int typestr="number"
279 default="-1"
280 optional
281
282
283
284
285 section "dccp sender"
286 #~~~~~~~~~~~~~~~~~~~~
287
288
289 option "dccp_port" -
290 #~~~~~~~~~~~~~~~~~~~
291
292 "port for dccp streaming"
293
294 int typestr="portnumber"
295 default="5001"
296 optional
297
298
299
300
301 section "ortp sender"
302 #~~~~~~~~~~~~~~~~~~~~
303
304 option "ortp_target" -
305 #~~~~~~~~~~~~~~~~~~~~~
306
307 "Add given host/port to the list of targets.
308 This option can be given multiple times.
309 Example: '224.0.1.38:1500' instructs the ortp
310 sender to send to udp port 1500 on host
311 224.0.1.38 (unassigned ip in the Local
312 Network Control Block 224.0.0/24). This is
313 useful for LAN-streaming."
314
315 string typestr="a.b.c.d:p"
316 optional
317 multiple
318
319 option "ortp_no_autostart" -
320 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
321
322 "do not start to send automatically"
323
324 flag off
325
326 option "ortp_default_port" -
327 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
328
329 "default udp port if not specified"
330
331 int typestr="portnumber"
332 default="1500"
333 optional
334
335 option "ortp_header_interval" H
336 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
337
338 "time between extra header sends"
339
340 int typestr="milliseconds"
341 default="2000"
342 optional
343
344 option "ortp_jitter_compensation" j
345 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
346
347 "non-zero values enable ortp's adaptive
348 jitter compensation"
349
350 int typestr="milliseconds"
351 default="400"
352 optional