fatTony and fatAdmin Online Help


Introduction

I recommend to read the online help for fatManager first, so you understand the basic principles how everything works.

fatTony is server software. It is run as a Windows service, which means it is executed at startup of the Windows operating system without the requirement of logging on with a user account.

fatTony is remotely controlled by fatPlayer or fatPocket (these are called clients). It handles requests for serving query results of song databases, handles playlists and produces audio network streams by calling the Icecast open source server.

fatTony uses two additional open source software packages: madplay and lame. These are used to re-encode audio streams on the fly to send them via Icecast at the desired bitrate and sampling frequency you have configuredin your clients.


Installation of fatTony

Download fatTony, unzip and run "setup.exe", follow the instructions on the screen. During the installation of fatTony, the setup for the Icecast server is also executed. After the software is installed, the fatAdmin application is executed automatically and you will have to enter some initial settings to configure Icecast and fatTony.

The first dialog will ask you for Icecast configuration settings. Enter a name for the administrator (can be left as "admin") and fill in the three required passwords.
I strongly recommend not to use the default passwords (which is "hackme" for all three entries), because anyone can control your Icecast server, especially when you broadcast to the internet. Create some good passwords for the three entries.

In the second dialog you configure fatTony. The passwords there have a different meaning then the ones entered for Icecast.
The admin password has currently no function, but I strongly advise you to enter one for future updates.
The client password will be the password which is required in fatPlayer and fatPocket to connect to fatTony.
The database path must be the path to the directoy where all your fatManager databases are located. For example "d:\mp3"
The port is the port on which fatTony will listen for incoming connections from the clients. If there is no conflict with other software, leave it as 9898. In fact fatTony is using the given port number, as well as another port, which is one higher, i.e. for a setting of 9898 the port 9899 is also used (both using TCP protocol).

The settings you made in fatAdmin to configure fatTony and Icecast can be changed at any time by running fatAdmin again. Please note that fatAdmin must be executed with administrative permissions.

You can change many additional configuration settings of Icecast by editing the file "icecast.xml", which is located in the installation directoy of Icecast. There is also a "doc" directory in the installation directoy of Icecast, which explains the various configuration settings.

After you have finished both configuration dialogs, fatAdmin tries to startup both services (i.e. fatTony and Icecast). Sometimes the startup of fatTony fails for an unknown reason. Should you get a failure message, the simplest is to restart your computer, this will start both services automatically.

After successful startup, fatTony is ready to operate client requests.


Firewall Settings for fatTony

fatTony requires two open ports. If you are using Windows XP with the firewall enabled - or any other personal firewall - you must open the ports 9898 (incoming) and 9899 (outgoing) for the TCP protocol. If you have specified a different main port number in the configuration of fatTony, then use this port number (incoming) and the given port number plus 1 (outgoing).

If you do not want to allow access to fatTony from the internet, i.e. that someone can remote control fatTony from outside of your network, then enable "Local Subnet" in your firewall settings. This has nothing to do with access to your audio streams, only with the remote control capabilities.



Firewall Settings for Icecast

Icecast is the stream server, which finally provides the audio streams to the network. Icecast requires two open ports. If you are using Windows XP with the firewall enabled - or any other personal firewall - you must open the ports 8000 and 8001 for the TCP protocol. If you have specified a different main port number in the configuration of Icecast (which is done in fatPlayer or fatPocket individually for each mountpoint), then use this port number and the given port number plus 1.

If you do not want to allow access to Icecast from the internet, i.e. that someone can listen to streams from outside of your network, then enable "Local Subnet" in your firewall settings.


Finding Problems

In case of problems you should check the system's application event log for messages from fatTony. fatTony is very verbose and this should help solve all problems. If there are no warnings or errors in the event log, it is most likely that you have a firewall or network problem.

If you can not access the audio stream, make sure you have connected with fatPlayer or fatPocket to the server before you try to access the stream. fatTony will only start streaming after a successful connection of either client. If you have been in stop mode (i.e. not playing any stream) for more than 15 minutes, then fatTony switches into idle mode and stops streaming. Click the play button on the client to make fatTony start the stream again.

If you receive the error message that the service is in use by another client: Only one client can connect at the same time to the same mountpoint. Terminate the other client in order to gain access to the mountpoint.


How it works

When a client connects to fatTony, fatTony reads the desired database of fatManager into memory and processes queries of the clients. It then sends back the result set of the queries to the clients. Afterwards you can pick on the client songs from the result set and add them to the playlist. The result set and the playlist are stored on the server. This is very important to understand! After creating a playlist you can close fatPlayer or fatPocket and the server still processes the playlist, because it is STORED on the server (as well as the settings for the play mode (playing, paused, stopped), automatically filling the playlist, shuffling songs, repeat mode and timer).

The basic rule to keep in mind is: the clients do remote contol fatTony, but all files and settings are stored within fatTony. The clients do only offer a VIEW to the status of fatTony. Therefore you can close a client after creating your playlistand fatTony will continue to stream the audio to the network.


Broadcasting to the Internet

It may be very dangerous to broadcast music to the internet! Check the laws in your country! It may be prohibited to send copyright protected material to the public. In addition it might be required to have a radio broadcasting license!

If you are using a router, you must configure port forwarding. Which port must be forwarded depends on the port you are using as the mountpoint URL in your client (which is either fatPlayer or fatPocket). If you leave the default settings as they are, the port will be 8000. In this case you must forward this port, as well as one port number higher (i.e. 8001) from all external sources to the machine which runs fatTony. The protocol which must be forwarded is TCP.

Since most of you will have dynamic IP addresses, which changes every 24 hours. You need to tell your listeners your IP address in order to allow them to connect to your audio streams. Normally your router will tell you your current IP address somewhere on its configuration pages. There are also free dynamic IP services available in the internet, which allow to use a fixed domain name for your dynamic IP address. Such a service can be found at dyndns.org, but there are also other free providers of such services available. If you pick for example a domain name like "myradio.dyndns.org", then your friends can connect to your stream by entering "http://myradio.dyndns.org:8000/stream". As you can see, you do not need to forward them your every-changing dynamic IP address then. This is a real big advantage. Most modern routers can be configured to use such a service automatically. But be aware that you open your server to the public (hopefully you have chosen good passwords for fatTony and Icecast!), and this always bears the danger of being a potential target for hackers. I can not guarantee that fatTony or Icecast are bug-free. Maybe they allow attackers to get control over your machine.

Icecast generates also some nice web pages with information about running streams. In addition it can be administered via the web (take care of your Icecast administrator password!). To access the web pages of your Icecast service, enter the URL of Icecast in your web browser. For the default settings, the URL is: "http://<machine name>:8000", where <machine name> is the name of your Windows machine, the IP address of the machine or - as explained above - the dyndns name (for people connecting via the internet to your server).


Afterword

I wish you a lot of fun, and please donate if you are using this software!

Make a donation:



Visit my Sponsor

If you are yourself a software developer, you should definitely visit my sponsor IDEAL Software. They make a very fine library called "Virtual Print Engine" (VPE), which can be used to programatically create and print documents and reports on the fly. Blazingly fast and accurate PDF export is also provided by this tool.


back to the main page