afh.h: Kill unused SUPPORTED_AUDIO_FORMATS_ARRAY.
[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