============
INTRODUCTION
============

The RoboCup Soccer Simulator Server (rcssserver) is a research and educational
tool for mutli-agent systems and artificial intelligence. It allows 11
simulated autonomous robotic players to play soccer (football).

===========
QUICK START
===========

These are the main installation steps to install the soccer simulator:

Mainly three packages should be downloaded and installed: rcssbase,
rcssserver, rcssmonitor. Create a folder, put all packages onto that
and extract them there. (filenames which have .tar.gz or .tar.bz2 at
the end of them, usually represent a zipped package, extracting them
is as simple as right clicking on them, and selecting "extract here"
menu)

After that, do these steps one by one in order for all the packages,
first rcssbase, then rcssserver and last rcssmonitor:

1- Go to the extracted directory
2- Open a terminal at that directory (it is usually the F4 key, if not
   find a menu item for "Open Terminal Here")
3- Type this: "./configure"
4- Type this if ./configure showed no error: "make"
5- and at last type this: "make install"

Do this for all the packages.

An important note: You should login as root to be able to install the
packages, after installation, there is no need to login as root. -->
There is only one administrator user in linux and its name is root, so
you can only install stuff when u have logged in as root. If any of
the commands showed an error, mail the mailing list with the exact
error message, sure someone would be able to help.

From the rcssserver directory execute:

`./configure'
`make'

This will built the neccesary binaries to get you up and running.

`rcssserver/src/rcssserver' is the binary for the simulator server.
The simulator server manages the actual simulation and comunicates with client
programs that control the simulated robots.  To be able to run, the
binary needs to find shared libraries which created when you build
rcssserver.  This means you must either intall the server (make
install) or run it from `rcssserver/src'.

A sample client can be found at `rcssserver/src/rcssclient'.

To see what is actually happening in the simulator, you will need to
start a simlator monitor, which needs to be installed seperately
(rcssmointor or rcssmonitor_classic).

To playback games that that you have recorded or downloaded, you will need to
start the log player such as rcsslogplayer, which must also be
downloaded separately.

===========
CONFIGURING
===========

Before you can build The RoboCup Soccer Simulator Server you will need to run
the `configure' script located in the root of the distribution directory.

The default configuration will set up to install the server components in
the following location:

/usr/local/bin			for the executables

You may need administrator privilages to install the server into the default
location.  This locations can be modified by using configure's `--prefix=DIR'
and related options.  See `configure --help' for more details.

The configure script looks for a RCSSBASE enviroment variable and set
the approriate flags to look for the rcssbase libraries, headers and
exes in the location specified by rcssbase. If rcssbase was installed
at the location where the system cannot detect automatically, you need
to set the RCSSBASE variable. For instance, if rcssbase was configured
with a prefix of $HOME ("configure --prefix=$HOME"), then you should
configure rcsssever with RCSSBASE equal to $HOME ("configure RCSSBASE=$HOME").

The server has serveral features that can be enabled or disabled at
configure time by using the `--enable-FEATURE[=ARG]' or `--disable-FEATURE'
parameters to `configure'.  `--disable-FEATURE' is equivlant to
`--enable-FEATURE=no' and `--enable-FEATURE' is equivlant to
`--enable-FEATURE=yes'.  The only valid values for `ARG' are `yes' and `no'.

`--enable-fast_scanner=yes' will enablle the building a fast but (very) large
scanner for the coach language.  You will need to have `lex' or `flex'
installed and you will need to manually remove the `coach_lang_tok.cc' file
in the `rcssserver/src' directory. This is disabled by default.
I found the actual speed of the parser show only minimal improvent when using
this option on my system, but this may not be so on your system.  All I can
suggest is to test it on your system and decide for yourself if the speed
increase justifies the increase in size of the executable.

`--enable-rcssclient=yes' will enable the building of rcssclient, a sample
client program.  This is enabled by default.

`--enable-debug=yes' will enable the building of the modules with debugging
information.  This is disabled by default.

========
BUILDING
========

Once you have successully configured the server, simply run `make' to build
the sources.

==========
INSTALLING
==========

When you have completed building the server, it's components can be installed
into their default locations or the locations specified during configuring by
running `make install'.  Depending on where you are installing the server, you may need special permissions.

============
UNINSTALLING
============

The server can also be easily removed by entering the distribution
directory and running `make uninstall'.  This will remove all the files that
where installed, but not any directories that were created during the
installation process.

================
USING THE SERVER
================

To start the server either type

`./rcssserver'

from the directory containing the executable or

`rcssserver'

if you installed the executables in your PATH.  rcssserver will look in your
home directory for the configuration files:

`~/.rcssserver/server.conf'
`~/.rcssserver/palyer.conf'
`~/.rcssserver-landmark.xml' (optional)

If these files do not exist they will be created and populated with default
values.

To start the sample client, type

`./rcssclient'

or

`rcssclient'

as above.  Then type `(init sample)'.  This will connect the sample client to
the server.  You can then type in client command to move the client around the
field.  You will also need a monitor to be able to see whats happening on
the field.

==============
Making Contact
==============

For bug reports, feature requests and latest updates, please goto
	http://sourceforge.net/projects/sserver/
or email bugs to
	sserver-bugs@lists.sourceforge.net

The RoboCup Soccer Server Maintainance Group
	sserver-admin@lists.sourceforge.net
