          _ _          __ _        _             _              _   
 _ _ _  _| | |___ ___ / _| |_   __| |_  ___ _  _| |_ __ __ _ __| |_ 
| ' \ || | | (_-</ _ \  _|  _| (_-< ' \/ _ \ || |  _/ _/ _` (_-<  _|
|_||_\_,_|_|_/__/\___/_|  \__| /__/_||_\___/\_,_|\__\__\__,_/__/\__|
====================================================================
                                              streaming audio system

README.TXT for SHOUTCAST SERVER 1.5.0 - January 20, 2000

Table of Contents:
  What's New
  Introduction
  Updates
  Bug reporting
  Installation
  Configuration
  Tech Notes / How it Works
  Remote Administration
  A Word To The Unwise
  License

What's new:

v1.5.0 (Jan 20 2000)
 - Complete rewrite of source
 - Now 4 thread model instead of n+3, much more efficient
 - Fixed annoying year 2000 log display anomaly (thank you tm struct)
 - Code no longer leaky on any supported OS to best of our knowledge
 - No more wierd signals sneaking in and killing sc_serv on Solaris
 - Addition of IRC, AIM, and ICQ flags for directory
 - Addition of Bans via web interface -- kick and ban the bastards
 - Addition of Reserved connects -- always permit connects by IP
 - Low-bandwidth status report for Palm VII (http://server/7.html)
 - New hyperleet web interface (thanks for the help Steve)
 - Last n songs integrated into web interface (1-20)
 - Admin and Broadcast passwords can optionally be different (hello live365)
 - Listener list (http) now sorted by connect time
 - (fixed 1.3.0b1 gui display bug, taillog now persistent)
 - removal of usage graph (it was crappy)
 - removal of telnet log interface (use http, please)
 - Top secret credits page (happy hunting)
 - Tom has new kick-ass girlfriend (Nullsoft is in bloom)
 - Tag now highly eligible bachelor

Introduction:

  SHOUTcast is a streaming audio system for Windows and Un*x platforms.
The SHOUTcast server is the core of the system, and includes unique
features which distinguish SHOUTcast from other servers, including the 
ability to relay a common stream across multiple SHOUTcast servers to
distribute load, and automatic integration into the SHOUTcast directory
at http://yp.shoutcast.com for effective exposure of your SHOUTcast
server to the world at large, when desired.

  SHOUTcast is a product of Nullsoft, Inc, makers of the fantastically
popular Winamp audio player for Win32.  The SHOUTcast system relies on
Winamp for playback and content sourcing.  Winamp is available at
http://www.winamp.com

Updates:

  SHOUTcast world headquarters is at http://www.shoutcast.com.  Stop by 
to snag the latest version and view online documentation (with pictures,
no less.)

Bug reporting:

  SHOUTcast is freeware, and doesn't really have a support team to back it
up.  If you come up with an intelligent question or notice a glaring bug,
please notify us at tom@winamp.com, but be advised we may not reply to every
bug report we receive.

Installation:

Windows:  Unzip into an appropriate location on your drive, i.e. c:\shoutcast.
Make sure you have three files:  sc_serv.exe, sc_serv.ini, and readme.txt.

Unix versions:  Use gunzip and tar to decompress and extract the necessary
binaries for your particular operating system.  When complete, you should
have three files:  the server binary, server config file, and this readme.
Make certain the server is chmod u+x, and that the config file is readable
by the user you want to run the server as.  The server does *not* need to
be run as root, unless you want to use port numbers below 1024 to serve
SHOUTcast audio streams.

Configuration:

Windows:  Edit the sc_serv.ini file in Notepad or click the Edit Config menu 
item in the server.  The parameters should be self-explanatory.  Remember
to quit and restart your server (if it's running) to cause the changes to take
effect.

Unix:  Edit the sc_serv.conf file in the text editor of your choice.  Tom
would prefer you use Emacs, because it makes Justin really mad.  Justin would
prefer you use vi, because he thinks Tom suffers from some vicious malaise.
You'll probably be lame and end up using Pico.

There's additional documentation available on the parameters on shoutcast.com
in the documentation section.

Tech Notes / How it Works:

Without going into too much detail, the SHOUTcast server is an intelligent
repeater.  It receives data from a source, notifies the SHOUTcast directory
when requested to by the client, and repeats the data from the source to
the listeners.  It attempts to do this rather efficiently.

The Windows server runs under any 32 bit Windows O/S (NT, 95, 98).  It's
a threaded, multi-processor aware application.  It uses about 2MB of RAM
and very little CPU.

The Unix server runs (as of this beta release) on win32, FreeBSD, 
Linux (glibc), IRIX, and Sparc Solaris.

Remote Administration:

Remote administration is handled by connecting to the server with a
web browser.  Point your browser to http://your.servers.ip.address:port/
and log in with the admin password you have specified in the config
file.

A Word To The Unwise:

All listeners are only able to listen at what their connections can support.
For most users on the net, when you consider modem/PPP overhead, internet 
congestion, and the fact that most modems out there are around 33.6kbps, it
makes sense to use 24kbps for most public streaming. Even though, 
theoretically, 33.6 users should be able to listen at 32kbps, with overhead 
it becomes impossible.

Anyone with a 56k modem sending to an upstream server is affected by the 
asymmetric nature of 56k modems. That is, the fastest a 56k modem can download 
data as fast as 53kbps, the upload data is at most 31.2kbps. Sorry, no
56 or 32kbps streams are servable over a 56k modem.

You cannot serve more users that you have available bandwidth. If you're 
running the SHOUTcast server over a modem link at any speed, the most you 
can muster is one user at 24 or 32kbps. Attempting to serve more users than
you have bandwidth only causes skippage.

Shell sysadmins will be *very* unhappy if you consume their available 
bandwidth and server CPU without their consent. SHOUTcast is a highly 
demanding program of bandwidth. A T1 line can only theoretically support 
about 60 listeners if no other traffic is on that T1. Additionally, each 
listener takes up a thread on the server operating system, which can slow 
some operating systems if allowed to expand beyond the limits of the system. 
If you throw up a SHOUTcast server unbeknownst to the sysadmin with 50+ 
maximum users, you had better be prepared to face the consequences of your 
actions.  As a fellow sysadmin, I offer this to you as your ONLY WARNING.

Pick a smart number of maxusers for your server. Calculate by taking the 
available bandwidth you have, multiplying by 0.9 to account for overhead, 
and dividing by the bitrate you want to serve at. For example, an ADSL 
connection @ 768kbps upstream * 0.9 / 24kbps ~= 29 maximum users. Again, 
set this number too high, and when you reach the limit of bandwidth ALL 
the streams will start to skip. 

License:

SHOUTCAST SERVER(TM)

SHOUTCAST(TM), all versions, are copyright protected and are the property 
of Nullsoft, Inc.  Until further notice, this software may be used for personal
or commercial purposes for free and need not be registered with Nullsoft, Inc.,
or its parent company, America Online, Inc.

SHOUTCAST(TM) may not be copied, sold, distributed or used in any other 
manner without the express written consent of Nullsoft, Inc.

To the maximum extent permitted by law, Nullsoft, Inc. disclaims all
warranties regarding this software, express or implied, including but not
limited to warranties of merchantability and fitness for a particular
purpose.  In no event shall Nullsoft, Inc. be liable for consequential,
special, incidental or indirect damages arising out of the use or inability
to use this software even if Nullsoft, Inc. is aware of the possibility of
such damages or a known defect.

By using this software, you are agreeing to the above terms.

Additional Terms of Use information is available at:
http://www.shoutcast.com/disclaimer.phtml

