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