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