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.