]> git.tuebingen.mpg.de Git - paraslash.git/blob - server.ggo
Complete the afs callback conversion.
[paraslash.git] / server.ggo
1 #########################
2 section "General options"
3 #########################
4
5 option "loglevel" l
6 #~~~~~~~~~~~~~~~~~~
7 "set loglevel (0-6)"
8 int typestr="level"
9 default="4"
10 optional
11
12 option "port" p
13 #~~~~~~~~~~~~~~
14 "listening port"
15 int typestr="portnumber"
16 default="2990"
17 optional
18 details="
19         para_server listens on this tcp port for incoming connections
20         from clients such as para_client. If the default port is
21         changed, the corresponding option of para_client must be used
22         to connect to para_server.
23 "
24
25 option "daemon" d
26 #~~~~~~~~~~~~~~~~
27 "run as background daemon"
28 flag off
29 dependon="logfile"
30 details="
31         Note that para_server refuses to start in daemon mode if no
32         logfile was specified.
33 "
34
35 option "user" u
36 #~~~~~~~~~~~~~~
37 "run as the given user"
38 string typestr="name"
39 optional
40 details="
41         para_server does not need any special privileges. If started
42         as root (EUID == 0) this option must be given at the command
43         line (not in the configuration file) so that para_server
44         can drop the root privileges right after parsing the command
45         line options, but before parsing the configuration file. In
46         this case, real/effective/saved UID are all set to the UID
47         of 'name'. As the configuration file is read afterwards,
48         those options that have a default value depending on the UID
49         (e.g. the directory for the configuration file) are computed
50         by using the uid of 'name'.  This option has no effect if
51         para_server is started as a non-root user (i.e.  EUID != 0)
52 "
53
54
55 option "group" g
56 #~~~~~~~~~~~~~~~
57 "set group id"
58 string typestr="group"
59 optional
60 details="
61         This option sets the group id according to 'group'. This option
62         is silently ignored if EUID != 0. Otherwise, real/effective
63         GID and the saved set-group ID are all set to the GID given by
64         'group'. Must not be given in the config file.
65 "
66
67 #############################
68 section "Configuration files"
69 #############################
70
71
72 option "logfile" L
73 #~~~~~~~~~~~~~~~~~
74 "where to write log output"
75 string typestr="filename"
76 optional
77 details="
78         If this option is not given, para_server writes the log
79         messages to to stderr
80 "
81
82 option "config_file" c
83 #~~~~~~~~~~~~~~~~~~~~~
84 "(default='~/.paraslash/server.conf'"
85 string typestr="filename"
86 optional
87 details="
88         para_server reads its config file right after parsing
89         the options that were given at the command line. If an
90         option is given both at the command line and in the
91         config file, the value that was specified at the command line
92         takes precedence.
93 "
94
95 option "user_list" -
96 #~~~~~~~~~~~~~~~~~~~
97 "(default='~/.paraslash/server.users')"
98
99 string typestr="filename"
100 optional
101
102
103 ##################################
104 section "virtual streaming system"
105 ##################################
106
107
108 option "autoplay" a
109 #~~~~~~~~~~~~~~~~~~
110 "start playing on startup"
111 flag off
112
113 option "autoplay_delay" -
114 #~~~~~~~~~~~~~~~~~~~~~~~~
115 "time to wait before streaming"
116 int typestr="ms"
117 default="0"
118 optional
119 dependon="autoplay"
120 details="
121         If para_server is started with the autoplay option, this option
122         may be used to set up a delay before para_server streams its
123         first audio file. This is useful for example if para_server
124         and para_audiod are started during system startup. The delay
125         time should be choosen large enough so that para_audiod is
126         already up when para_server starts to stream. Of course, this
127         option depends on the autoplay option.
128 "
129 option "announce_time" A
130 #~~~~~~~~~~~~~~~~~~~~~~~
131 "grace time for clients"
132
133 int typestr="ms"
134 default="300"
135 optional
136 details="
137         Clients such as para_audiod connect to para_server and execute
138         the stat command to find out whether an audio stream is
139         currently available. This sets the delay betweeen announcing
140         the stream via the output of the stat command and sending
141         the first chunk of data.
142 "
143
144 #############################
145 section "audio file selector"
146 #############################
147
148 option "afs_database_dir" D
149 #~~~~~~~~~~~~~~~~~~~~~~~~~~
150 "location of the database"
151 string typestr="path"
152 optional
153 details="
154         Where para_server should look for the  osl
155         database of the audio file selector. The default is
156         '~/.paraslash/afs_database'.
157 "
158
159 option "afs_socket" s
160 #~~~~~~~~~~~~~~~~~~~~
161 "Command socket for afs"
162 string typestr="path"
163 default="/var/paraslash/afs_command_socket"
164 optional
165 details="
166         For each server command that is handled by the audio file
167         selector, the child process of para_server connects to the
168         audio file selector via a local socket. This option specifies
169         the location of that socket in the file system.
170 "
171 option "afs_initial_mode" i
172 #~~~~~~~~~~~~~~~~~~~~~~~~~~
173
174 "Mood or playlist to load on startup."
175 string typestr="<specifier>/<name>"
176 optional
177
178 details="
179         The argument of this option must be prefixed with either 'p/'
180         or 'm/' to indicate whether a playlist or a mood should be
181         loaded. Example:
182                 --afs_initial_mode p/foo
183         loads the playlist named 'foo'.
184 "
185
186 #####################
187 section "http sender"
188 #####################
189
190
191 option "http_port" -
192 #~~~~~~~~~~~~~~~~~~~
193 "tcp port for http streaming"
194 int typestr="portnumber"
195 default="8000"
196 optional
197 details="
198         The http sender of para_server listens on this port for
199         incoming connections. Clients are expected to send the usual
200         http request message such as 'GET / HTTP/'.
201 "
202
203 option "http_default_deny" -
204 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
205 "make the http ACL a whitelist"
206 flag off
207 details="
208         The default is to use blacklists instead, i.e. connections
209         to the http sender are allowed unless the connecting host
210         matches a pattern given by a http_access option. This allows
211         to use access control the other way round: Connections are
212         denied from hosts which are not explicitly allowed by one or
213         more http_access options.
214 "
215
216 option "http_access" -
217 #~~~~~~~~~~~~~~~~~~~~~
218 "add an entry to the http ACL"
219 string typestr="a.b.c.d/n"
220 optional
221 multiple
222 details="
223         Add given host/network to access control list (whitelist if
224         http_default_deny was given, blacklist otherwise) before
225         opening the tcp port. This option can be given multiple
226         times. Example: '192.168.0.0/24' whitelists/blacklists the
227         256 hosts 192.168.0.x
228 "
229
230 option "http_no_autostart" -
231 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 "do not open tcp port on startup"
233 flag off
234 details="
235         If this option is given, the http sender does not listen on
236         its tcp port. It may be instructed to open this port at a
237         later time by using the sender command.
238 "
239
240 option "http_max_clients" -
241 #~~~~~~~~~~~~~~~~~~~~~~~~~~
242 "maximal number of connections"
243 int typestr="number"
244 default="-1"
245 optional
246 details="
247         The http sender will refuse connections if already that number
248         of clients are currently connected. A non-positive value
249         (the default) allows an unlimited number of simultaneous
250         connections.
251 "
252
253 #####################
254 section "dccp sender"
255 #####################
256
257
258 option "dccp_port" -
259 #~~~~~~~~~~~~~~~~~~~
260 "port for dccp streaming"
261 int typestr="portnumber"
262 default="8000"
263 optional
264 details="
265         See http_port for details.
266 "
267
268 option "dccp_default_deny" -
269 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
270 "make the dccp ACL a whitelist"
271 flag off
272 details="
273         See http_default_deny for details.
274 "
275
276 option "dccp_access" -
277 #~~~~~~~~~~~~~~~~~~~~~
278 "add an entry to the dccp ACL"
279 string typestr="a.b.c.d/n"
280 optional
281 multiple
282 details="
283         See http_access for details.
284 "
285
286 option "dccp_max_clients" -
287 #~~~~~~~~~~~~~~~~~~~~~~~~~~
288 "maximal number of connections"
289 int typestr="number"
290 default="-1"
291 optional
292 details="
293         See http_max_clients for details.
294 "
295
296 #####################
297 section "ortp sender"
298 #####################
299
300 option "ortp_target" -
301 #~~~~~~~~~~~~~~~~~~~~~
302 "add ortp target"
303 string typestr="a.b.c.d:p"
304 optional
305 multiple
306 details="
307         Add given host/port to the list of targets.  This option
308         can be given multiple times.  Example: '224.0.1.38:1500'
309         instructs the ortp sender to send to udp port 1500 on host
310         224.0.1.38 (unassigned ip in the Local Network Control Block
311         224.0.0/24). This is useful for LAN-streaming.
312 "
313
314 option "ortp_no_autostart" -
315 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
316 "do not start sending"
317 flag off
318 details="
319         If this option is given, ortp streaming may be activated at
320         a later time by using the sender command.
321 "
322
323 option "ortp_default_port" -
324 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
325 "udp port to send to"
326 int typestr="port"
327 default="1500"
328 optional
329
330 option "ortp_header_interval" H
331 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
332 "duration for sending header"
333 int typestr="ms"
334 default="2000"
335 optional
336 details="
337         As the ortp sender has no idea about connected clients it
338         sends the audio file header periodically if necessary. This
339         option is used to specify the duration of the interval between
340         sending the header. Shorter values decrease the average time
341         clients have to wait before being able to start playback,
342         but this also increases the amount network traffic. Note
343         that this affects only ogg vorbis streams as this is the only
344         audio format that needs an audio file header.
345 "
346
347 option "ortp_jitter_compensation" j
348 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
349 "configure jitter compensation"
350 int typestr="ms"
351 default="400"
352 optional
353 details="
354         ortp's adaptive jitter compensation gets activated whenever
355         this value is greater than zero. See the ortp documentation
356         about details on this feature.
357 "