X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=server.ggo;h=4f6e05b290a2d0ea4cb1c4f61032124e8666b834;hp=27727deb92587f26971b05252867b9bf064fe8cb;hb=cd4b294da6f6802d9918c8fe5bcecb8a2a2363c3;hpb=45283c2e75ba457f3858e67526d6163de63df4c5 diff --git a/server.ggo b/server.ggo index 27727deb..4f6e05b2 100644 --- a/server.ggo +++ b/server.ggo @@ -1,40 +1,344 @@ section "General options" -option "loglevel" l "set loglevel (0-6)" int typestr="level" default="4" no -option "port" p "port to listen on" int typestr="portnumber" default="2990" no -option "daemon" d "run as background daemon" flag off -option "user" u "run as user 'name'. para_server does not need any special privileges. If started as root (EUID == 0) this option must be given at the command line (not in the configuration file) so that para_server can drop the root privileges right after parsing the command line options, but before parsing the configuration file. In this case, real/effective/saved UID are all set to the UID of 'username'. As the configuration file is read afterwards, those options that have a default value depending on the UID (e.g. the home directory for the configuration file) are computed by using the uid of 'username'. This option has no effect if para_server ist started as a non-root user (i.e. EUID != 0)" string typestr="name" no +#~~~~~~~~~~~~~~~~~~~~~~~~ + +option "loglevel" l +#~~~~~~~~~~~~~~~~~~ + +"set loglevel (0-6)" + + int typestr="level" + default="4" + optional + +option "port" p +#~~~~~~~~~~~~~~ + +"listening port" + + int typestr="portnumber" + default="2990" + optional + +option "daemon" d +#~~~~~~~~~~~~~~~~ + +"run as background daemon" + + flag off + +option "user" u +#~~~~~~~~~~~~~~ + +"run as user 'name'. para_server does not +need any special privileges. If started as +root (EUID == 0) this option must be given at +the command line (not in the configuration +file) so that para_server can drop the root +privileges right after parsing the command +line options, but before parsing the +configuration file. In this case, +real/effective/saved UID are all set to the +UID of 'name'. As the configuration file +is read afterwards, those options that have a +default value depending on the UID (e.g. the +directory for the configuration file) are +computed by using the uid of 'name'. +This option has no effect if para_server is +started as a non-root user (i.e. EUID != 0)" + + string typestr="name" + optional + + +option "group" g +#~~~~~~~~~~~~~~~ + +"set group id to according to 'group'. This +option is silently ignored if EUID != 0. +Otherwise, real/effective GID and the saved +set-group ID are all set to the GID given by +'group'. Must not be given in the config file." + + string typestr="group" + optional + + section "Configuration files" -option "logfile" L "(default=stdout/stderr)" string typestr="filename" no -option "config_file" c "(default='~/.paraslash/server.conf'" string typestr="filename" no -option "user_list" - "(default='~/.paraslash/server.users')" string typestr="filename" no - -section "audio file sender" -option "autoplay" a "start playing on startup" flag off -option "announce_time" A "Delay betweeen announcing the stream and sending data" int typestr="milliseconds" default="300" no -option "selector" S "(default=random)" string typestr="name" no - -section "mysql selector:" -option "mysql_host" - "mysql server" string default="localhost" no -option "mysql_port" - "where mysql is listening" int default="3306" no -option "mysql_user" - "default value: username from /etc/passwd" string no -option "mysql_passwd" - "(required)" string no -option "mysql_database" - "name of mysql database" string default="paraslash" no -option "mysql_audio_file_dir" - "dir to search for audio files (required)" string no -option "mysql_default_score" - "scoring rule to use if stream definition does not contain explicit score definition" string default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))" no +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +option "logfile" L +#~~~~~~~~~~~~~~~~~ + +"(default=stdout/stderr)" + + string typestr="filename" + optional + +option "config_file" c +#~~~~~~~~~~~~~~~~~~~~~ + +"(default='~/.paraslash/server.conf'" + + string typestr="filename" + optional + +option "user_list" - +#~~~~~~~~~~~~~~~~~~~ + +"(default='~/.paraslash/server.users')" + + string typestr="filename" + optional + + + +section "virtual streaming system" +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +option "autoplay" a +#~~~~~~~~~~~~~~~~~~ + +"start playing on startup" + + flag off + +option "autoplay_delay" - +#~~~~~~~~~~~~~~~~~~~~~~~~ +"Time to wait before autoplay starts. Ignored if +autoplay is off." + int typestr="milliseconds" + default="0" + optional + + +option "announce_time" A +#~~~~~~~~~~~~~~~~~~~~~~~ + +"Delay betweeen announcing the stream and sending data" + + int typestr="milliseconds" + default="300" + optional + + +option "selector" S +#~~~~~~~~~~~~~~~~~~ + +"(default=random)" + + string typestr="name" + optional + + + +section "mysql selector" +#~~~~~~~~~~~~~~~~~~~~~~~ + + +option "mysql_host" - +#~~~~~~~~~~~~~~~~~~~~ + +"mysql server" + + string typestr="ip or hostname" + default="localhost" + optional + +option "mysql_port" - +#~~~~~~~~~~~~~~~~~~~~ + +"where mysql is listening" + + int typestr="portnumber" + default="3306" + optional + + +option "mysql_user" - +#~~~~~~~~~~~~~~~~~~~~ + +"default value: username from /etc/passwd" + + string typestr="username" + optional + +option "mysql_passwd" - +#~~~~~~~~~~~~~~~~~~~~~~ + +"(required)" + + string + optional + +option "mysql_database" - +#~~~~~~~~~~~~~~~~~~~~~~~~ + +"name of mysql database" + + string + default="paraslash" + optional + +option "mysql_audio_file_dir" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"dir to search for audio files (required)" + + string typestr="dirname" + optional + +option "mysql_default_score" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"scoring rule to use if stream definition +does not contain explicit score definition" + + string + default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))" + optional + + + section "random selector" -option "random_dir" - "dir to search for audio files" string default="/home/music" no +#~~~~~~~~~~~~~~~~~~~~~~~~ + + +option "random_dir" - +#~~~~~~~~~~~~~~~~~~~~ + +"dir to search for audio files" + string typestr="dirname" + default="/home/music" + optional + + + section "http sender" -option "http_port" - "tcp port for http streaming" int typestr="portnumber" default="8000" no -option "http_default_deny" - "deny connections from hosts which are not explicitly allowed" flag off -option "http_access" - "Add given host/network to access control list (whitelist if http_default_deny was given, blacklist otherwise) before opening the tcp port. This option can be given multiple times. Example: '192.168.0.0/24' whitelists/blacklists the 256 hosts 192.168.0.x" string typestr="a.b.c.d/n" no multiple -option "http_no_autostart" - "do not open tcp port on server startup" flag off -option "http_max_clients" - "maximal simultaneous connections, non-positive value means unlimited" int typestr="number" default="-1" no +#~~~~~~~~~~~~~~~~~~~~ + + +option "http_port" - +#~~~~~~~~~~~~~~~~~~~ + +"tcp port for http streaming" + + int typestr="portnumber" + default="8000" + optional + +option "http_default_deny" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"deny connections from hosts which are not +explicitly allowed" + + flag off + +option "http_access" - +#~~~~~~~~~~~~~~~~~~~~~ + +"Add given host/network to access control +list (whitelist if http_default_deny was +given, blacklist otherwise) before opening +the tcp port. This option can be given +multiple times. Example: '192.168.0.0/24' +whitelists/blacklists the 256 hosts +192.168.0.x" + + string typestr="a.b.c.d/n" + optional + multiple + +option "http_no_autostart" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"do not open tcp port on server startup" + + flag off + +option "http_max_clients" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"maximal simultaneous connections, +non-positive value means unlimited" + + int typestr="number" + default="-1" + optional + + + + +section "dccp sender" +#~~~~~~~~~~~~~~~~~~~~ + + +option "dccp_port" - +#~~~~~~~~~~~~~~~~~~~ + +"port for dccp streaming" + + int typestr="portnumber" + default="5001" + optional + + + section "ortp sender" -option "ortp_target" - "Add given host/port to the list of targets. This option can be given multiple times. Example: '224.0.1.38:1500' instructs the ortp sender to send to udp port 1500 on host 224.0.1.38 (unassigned ip in the Local Network Control Block 224.0.0/24). This is useful for LAN-streaming." string typestr="a.b.c.d:p" no multiple -option "ortp_no_autostart" - "do not start to send automatically" flag off -option "ortp_default_port" - "default udp port if not specified" int typestr="portnumber" default="1500" no -option "ortp_header_interval" H "time between extra header sends" int typestr="milliseconds" default="2000" no +#~~~~~~~~~~~~~~~~~~~~ + +option "ortp_target" - +#~~~~~~~~~~~~~~~~~~~~~ + +"Add given host/port to the list of targets. +This option can be given multiple times. +Example: '224.0.1.38:1500' instructs the ortp +sender to send to udp port 1500 on host +224.0.1.38 (unassigned ip in the Local +Network Control Block 224.0.0/24). This is +useful for LAN-streaming." + + string typestr="a.b.c.d:p" + optional + multiple + +option "ortp_no_autostart" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"do not start to send automatically" + + flag off + +option "ortp_default_port" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"default udp port if not specified" + + int typestr="portnumber" + default="1500" + optional + +option "ortp_header_interval" H +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"time between extra header sends" + + int typestr="milliseconds" + default="2000" + optional + +option "ortp_jitter_compensation" j +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"non-zero values enable ortp's adaptive +jitter compensation" + + int typestr="milliseconds" + default="400" + optional