=======================================================================
Q3ServerKit Version 2.0

Copyright (C) 2000 Free Software Foundation, Inc.  Brian Satterfield
<legowhore@legowhore.com>, 2000.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.
=======================================================================


A word from our sponsor...  
==========================

Hi all...just a few things before you jump in.

This is my second time distributing something on this scale and I
would appreciate any help in improving the distribution, setup files,
code, etc.  Please feel free to email me at the address in the
"Contact, Updates and Info" section below.

First, even though I am distributing the source for you to modify,
fix, f**k up anyway you want...I would appreciate it if you notified
me of any changes you may make to Q3ServerKit so that I may review and
possibly incorporate them into the software for the benefit of others.
There is of course no obligation for you to do this...but it would be
damn nice. :)

Second, this software is IN DEVELOPMENT and as such is under constant
change and improvement.  (There are many things I wish to add...see
the "To Do" section below for details).  I am dedicated to the spirit
and completion of this project and will respond to any email related
to this software.  I want this to be useful, cross-platform and easy
for the common person to install and run.  Should you have any
problems email me and I will attempt to help you, especially if it is
something which can be overcome by an improvement to the system or
distribution.

That being said, this project is probably coming to an end.  I haven't 
received any new ideas or suggestions and people seem pretty happy
with it overall.  I'll probably just clean it up a bit and move on to
something else. 
 

Contact, Updates and Info 
=========================

I can be contacted by email at legowhore@legowhore.com

To read about new changes or download the most recent version visit
		
		http://www.legowhore.com


Files Included 
==============

this README

Environment Setup Files 
-----------------------

setup.csh setup.sh setup.bat


Files which make up the Q3ServerKit
-----------------------------------

AboutPanel.java 
BotsPanel.java 
ButtonPanel.java 
ChatPanel.java
EffectsPanel.java 
HackPanel.java 
HackTask.java 
InfoPanel.java
MapsPanel.java 
PercentLayout.java 
Player.java 
PlayerDisplay.java
Q3InfoClient.java 
Q3Server.java 
Q3ServerKit.java 
Q3Server.java
ServerInfoPanel.java 
ServerProcess.java 
ServerSettingsPanel.java
ServerStartPanel.java 
SettingPanel.java 
Settings.java 
Statistics.java
FeedbackPanel.java
StatisticsPanel.java 
SwingWorker.java


Miscellaneous images 
--------------------

There are a ton of logos in the images directory, some small and
packaged just for this app and some I left for anyone who wanted to
reconfigure them...I used Gimp for all the images.


Development Files 
-----------------

Makefile


System Requirements 
===================

All that is required is a running version of the JDK, 1.2.2 or later.
I have extensively tested this on Linux and Solaris...with JDK-1.2 and
JDK-1.2.2.  USE the most recent JDK-1.2.2!!!  Especially for you Linux
fans (like me:).  There were quite a few bugs in the original
Blackdown port of JDK-1.2.2.  It caused a memory leak and the
application threw out-of-memory errors after a few hours.  It's
completely fixed in the newest release tho...

Go here to get it: http://www.blackdown.org/java-linux.html


To Run the Q3ServerKit 
======================


Quick start (for people who know Java) 
-----------

1. modify and source the correct setup file for your system.
   (setup.csh, setup.sh or setup.bat) 
2. change to the code directory (./code/com/legowhore/q3).  
3. compile

    UNIX: type make
    WINDOWS: type javac -d c:\\place\to\classDirectory *.java)

4. change to the class directory (./class) 
5. java com.legowhore.q3.Q3ServerKit 
6. have fun :)

These steps are important so I'll repeat them a different way...  make
sure you do EXACTLY what I say here.  I'll assume you are starting in
this directory in some kind of terminal or shell.

UNIX 
----

(modify setup.sh to point to the correct places)

1.  source setup.sh 
2.  cd ./code/com/legowhore/q3/ 
3.  make 
4.  cd ../../../../class/ 
5.  java com.legowhore.q3.Q3ServerKit

WINDOWS 
-------

(modify setup.bat to point to the correct places)

1.  setup.bat 
2.  cd code\com\legowhore\q3 
3.  javac -classpath %CLASSPATH% -d %CLASSDIR% *.java 
4.  cd ..\..\..\..\class 
5.  java com.legowhore.q3.Q3ServerKit



Now for a full description of what just happened...in case that didn't
work.


Environment 
-----------

First you need to set up the environment for Java.  What you do at
this step will depend on what JDK you are using and what operating
system you are running.  I have tried to make it as easy as possible
by including a few examples of setups within this directory.

If you are on a UNIX based system you should be able to just modify
either the setup.csh or the setup.sh script to reflect where your
installation of the JDK resides.  The csh script is tailored to JDK
1.2 and the bash script is tailored to JDK 1.2.2 In case you didn't
know...one difference between csh and bash is in the way they set
system variables so it shouldn't be hard to modify either one to work
in another shell.

If you are on a Windows platform then you will modify the setup.bat
file to reflect your system and where your JDK resides.  The same
basic rules apply...  just look at each variable and correct the
example to reflect your system.

After modifying the appropriate setup file, just execute that script
and your environment will be setup for running and compiling the
system.  To execute the setup script open up a terminal or ms-dos
prompt, change to this directory and use the following command.

Linux/Unix

$ source setup.csh

Windows

c:\ setup.bat

Then change directories to compile the code...this is easy if you
modified the scripts correctly.

$ cd code/com/legowhore/q3

then compile

$ make

If you are using Windows then issue this comand

c:\ cd code\com\legowhore\q3

and then

c:\ javac -classpath %CLASSPATH% -d %CLASSDIR% *.java



Running 
-------

At this point the setup should be complete and you are ready to run
the program.  To do this, make sure you are in the class
directory. (or that the class directory is in your classpath).

$ java com.legowhore.q3.Q3ServerKit

or

c:\ java com.legowhore.q3.Q3ServerKit


Known Bugs 
==========

none

Problems Running 
================

I've only had a few emails from people who had problems running
Q3ServerKit.  All but one of these I've been able to resolve.  The one
outstanding problem exhibits the following behavior.  Upon running,
the java virtual machine prints the error:

Exception in thread "main" java.lang.Error: can't load
javax.swing.plaf.metal.MetalLookAndFeel

This line refers to the files which define the buttons and scrollbars
and other such widgets that make the app look like it does.  These are
NOT Q3ServerKit files...these are Java files.  This indicates that the
Java virtual machine can't find them because you didn't tell it where
to look.  Usually this is done by just setting the PATH variable to
point to the bin directory of java.

e.g.

$ echo $PATH
/usr/local/qt/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/lego/bin:/usr/X11R6/bin:/opt/java/jdk1.2.2/bin

That last thing at the end is where java is on my system...and it's
all that's needed to tell the java virtual machine where to look for
what it needs.

I spent an hour or so with one person who had this problem and never
found the answer...however I was able to login to their machine and
remotely run the program just fine.  So I assume the problem was with
the X server or something else that was display dependent.

NOTE: (2/9/2000) 

This has since been confirmed...the following is an excerpt from the
README.linux file included in blackdown's release jdk1.2.2rc4:

Changes from 1.2.2 RC3:
=======================

* The incompabtible raster problem that kept Swing from running on some
  Xservers has been fixed.

so hopefully that fixed the problem some people were having.


To Do 
=====

make the app more Windows friendly *shudder*
add more server variables to the 'vars' panel
optimize the code
clean up the code
anything else I hear from you :)


Fini 
====

Well...that's it.

Have fun...lemme know how you like it.

- LegoWhore

========================================================================



