fd.c: Cosmetics.
[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 section "audio file selector"
137 #############################
138
139 option "afs_database_dir" D
140 #~~~~~~~~~~~~~~~~~~~~~~~~~~
141
142 "Directory containing the osl database of the
143 audio file selector.
144 (default='~/.paraslash/afs_database'"
145
146         string typestr="path"
147         optional
148
149
150 option "afs_socket" s
151 #~~~~~~~~~~~~~~~~~~~~
152
153 "Command socket for the audio file selector"
154
155         string typestr="path"
156         default="/var/paraslash/afs_command_socket"
157         optional
158
159 option "mood" m
160 #~~~~~~~~~~~~~~
161
162 "Mood to load on startup."
163
164         string typestr="mood_name"
165         optional
166
167 option "playlist" P
168 #~~~~~~~~~~~~~~
169
170 "Playlist to load on startup. Ignored if
171 --mood is given as well."
172
173         string typestr="playlist_name"
174         optional
175
176 section "mysql selector"
177 #~~~~~~~~~~~~~~~~~~~~~~~
178
179
180 option "mysql_host" -
181 #~~~~~~~~~~~~~~~~~~~~
182
183 "mysql server"
184
185         string typestr="ip or hostname"
186         default="localhost"
187         optional
188
189 option "mysql_port" -
190 #~~~~~~~~~~~~~~~~~~~~
191
192 "where mysql is listening"
193
194         int typestr="portnumber"
195         default="3306"
196         optional
197
198
199 option "mysql_user" -
200 #~~~~~~~~~~~~~~~~~~~~
201
202 "default value: username from /etc/passwd"
203
204         string typestr="username"
205         optional
206
207 option "mysql_passwd" -
208 #~~~~~~~~~~~~~~~~~~~~~~
209
210 "(required)"
211
212         string
213         optional
214
215 option "mysql_database" -
216 #~~~~~~~~~~~~~~~~~~~~~~~~
217
218 "name of mysql database"
219
220         string
221         default="paraslash"
222         optional
223
224 option "mysql_audio_file_dir"  -
225 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
226
227 "dir to search for audio files (required)"
228
229         string typestr="dirname"
230         optional
231
232 option "mysql_default_score" -
233 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234
235 "scoring rule to use if stream definition
236 does not contain explicit score definition"
237
238         string
239         default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))"
240         optional
241
242
243
244
245 section "random selector"
246 #~~~~~~~~~~~~~~~~~~~~~~~~
247
248
249 option "random_dir" -
250 #~~~~~~~~~~~~~~~~~~~~
251
252 "dir to search for audio files"
253         string typestr="dirname"
254         default="/home/music"
255         optional
256
257
258
259
260 section "http sender"
261 #~~~~~~~~~~~~~~~~~~~~
262
263
264 option "http_port" -
265 #~~~~~~~~~~~~~~~~~~~
266
267 "tcp port for http streaming"
268
269         int typestr="portnumber"
270         default="8000"
271         optional
272
273 option "http_default_deny" -
274 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
275
276 "deny connections from hosts which are not
277 explicitly allowed"
278
279         flag off
280
281 option "http_access" -
282 #~~~~~~~~~~~~~~~~~~~~~
283
284 "Add given host/network to access control
285 list (whitelist if http_default_deny was
286 given, blacklist otherwise) before opening
287 the tcp port. This option can be given
288 multiple times. Example: '192.168.0.0/24'
289 whitelists/blacklists the 256 hosts
290 192.168.0.x"
291
292         string typestr="a.b.c.d/n"
293         optional
294         multiple
295
296 option "http_no_autostart" -
297 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
298
299 "do not open tcp port on server startup"
300
301         flag off
302
303 option "http_max_clients" -
304 #~~~~~~~~~~~~~~~~~~~~~~~~~~
305
306 "maximal simultaneous connections,
307 non-positive value means unlimited"
308
309         int typestr="number"
310         default="-1"
311         optional
312
313
314
315
316 section "dccp sender"
317 #~~~~~~~~~~~~~~~~~~~~
318
319
320 option "dccp_port" -
321 #~~~~~~~~~~~~~~~~~~~
322
323 "port for dccp streaming"
324
325         int typestr="portnumber"
326         default="5001"
327         optional
328
329
330
331
332 section "ortp sender"
333 #~~~~~~~~~~~~~~~~~~~~
334
335 option "ortp_target" -
336 #~~~~~~~~~~~~~~~~~~~~~
337
338 "Add given host/port to the list of targets.
339 This option can be given multiple times.
340 Example: '224.0.1.38:1500' instructs the ortp
341 sender to send to udp port 1500 on host
342 224.0.1.38 (unassigned ip in the Local
343 Network Control Block 224.0.0/24). This is
344 useful for LAN-streaming."
345
346         string typestr="a.b.c.d:p"
347         optional
348         multiple
349
350 option "ortp_no_autostart" -
351 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
352
353 "do not start to send automatically"
354
355         flag off
356
357 option "ortp_default_port" -
358 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
359
360 "default udp port if not specified"
361
362         int typestr="portnumber"
363         default="1500"
364         optional
365
366 option "ortp_header_interval" H
367 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
368
369 "time between extra header sends"
370
371         int typestr="milliseconds"
372         default="2000"
373         optional
374
375 option "ortp_jitter_compensation" j
376 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
377
378 "non-zero values enable ortp's adaptive
379 jitter compensation"
380
381         int typestr="milliseconds"
382         default="400"
383         optional