Mserv - a free open source jukebox-style music server for unix-like systems

Server quick-start guide

As something that isn't root, run 'mserv'.  This will start the server on
port 4444.

Take a look in ~/.mserv and you will see all the files that mserv will
have created:

drwxr-xr-x   4 moo      users        1024 Dec 12 22:54 .
drwxr-xr-x   3 moo      root         1024 Dec 12 22:54 ..
-rw-------   1 moo      users          52 Dec 12 22:54 acl
-rw-------   1 moo      users        1148 Dec 12 22:54 config
-rw-r--r--   1 moo      users          67 Dec 12 22:54 log
drwxr-xr-x   2 moo      users        1024 Dec 12 22:54 trackinfo
drwxr-xr-x   2 moo      users        1024 Dec 12 22:54 tracks
-rw-r--r--   1 moo      users          39 Dec 12 22:54 webacl

The first thing you should do is load the config file, and change the
parameters for the player you wish to use.  By default Mserv uses mpg123
at /usr/local/bin/mpg123.

The acl/webacl files contain the access control lists, by default there
are two users:

user=root, pass=root, access=MASTER
user=guest, pass=guest, access=GUEST

The log file logs what the server is doing, so if anything goes wrong this
is the first place to look.

The tracks and trackinfo directories contain the tracks and trackinfo
files respectively!  You can symlink the two directories together if you
want the '.trk' info files to be in the same directories as the mp3 files
themselves.

Put some mp3 files into the tracks directory.  You should put them in
sub-directories to categorise them.  Each sub-directory is treated as an
'album' by mserv, and mserv will recursively search down the tracks
directory.  So you might have:

~/.mserv/tracks
  albums1
    jamiorquai
      travelling_without_moving
        01.mp3 etc
    louise
      naked
        01.mp3 etc
      woman_in_me
        01.mp3 etc
  albums2
    ...etc

They layout is completely up to you, FILENAMES ARE IRRELEVANT to mserv.
Mserv supports the ID3 tag system, and will read them when it first sees
a file, but will not update them or re-read them ever again.

Once you've run mserv with some tracks in the tracks directory, it will
populate the trackinfo directory with corresponding '.trk' files.  If
you already have mserv running, enter the command 'RESET' to re-scan the
database.

Telnet to port 4444, login as root/root and then issue a command like this:
  help create
  [] Create a user, or change details if it exists
  [] Syntax: CREATE <username> <password> <GUEST|USER|PRIV|MASTER>

So type 'CREATE bob wibble PRIV' to create yourself a proper user.  PRIV
users can kick people, and stuff, so make most people USERs.

Then type 'albums' and it will list all the albums on the server.  You
will now want to name them, which you can do with the SET command, so:

  SET ALBUMAUTHOR 1 Various
  SET ALBUMNAME 1 Misc Tracks

Then you can set the individual tracks:

  SET AUTHOR 1 1 My Friend
  SET NAME 1 1 Blue

  SET AUTHOR 1 2 My Other Friend
  SET NAME 1 2 Green

This gets tiring, so alternatively you can go into the trackinfo directory
for your album and run mservedit:

  $ cd ~/.mserv/trackinfo/myalbum
  $ mservedit .

This will open an editor into your unix editor - it uses the environment
variable EDITOR to work this out, so make sure this is set.  Alter the
data and save the file, it will update the on-disk database.  To sync
the database on disk with that running in mserv, issue the 'SYNC' command.