This is version 0.4 of gzochid, the server container for the gzochi game
development framework.

gzochi is a framework for developing massively multiplayer online games. A
server container provides services to deployed games, which are written in 
Guile Scheme, that abstract and simplify some of the most challenging and
error-prone aspects of online game development: Concurrency, data persistence, 
and network communications. A very thin client library can be embedded to 
provide connectivity for client applications written in any language.

gzochid is the daemon program that hosts applications written against the
gzochi Scheme API and listens for socket connections from client programs. It 
includes some simple embedded reporting tools to track throughput and resource 
usage.


Additional INSTALL instructions ===============================================

Generic instructions for configuring and compiling gzochid can be found in the
INSTALL file. gzochid-specific information and configuration options can be
found below.

gzochid depends on the following external libraries.
- libg
- libdb
- libgmp
- libguile
- libgzochi-common
- libmicrohttpd
- libserveez
- libz
The libgdbm library may be used in place of libdb if it is available and the
`--with-storage-engine=gdbm' option has been specified.

There is a corresponding `--with-XXX-prefix' option for libgdbm and libgmp that
you can use when invoking ./configure, if you have these libraries installed in
a location other than the standard places (/usr and /usr/local).

The dependencies on libg, libguile, libmicrohttpd, and libz are configured 
using `pkg-config'.

The dependency on libserveez is configured using the AC_SERVEEZ m4 macro 
provided by the GNU Serveez distribution.

libgzochi-common is provided as part of the gzochi distribution and is assumed
to have been built in a directory adjacent to the directory in which gzochid is
being configured and built.

To build the optional `krb5' authentication plugin, development files for MIT
Kerberos 5 must be installed. The build process will search for these files by
default, but if the `--enable-kerberos' option is given, their absence will 
cause the build to fail. Use the `--with-krb5' option to specify the location 
of the `krb5-config' program, which is used to determine the compile- and 
link-time flags to be used to build the plugin.


Required External Packages ====================================================

gzochid requires the following external packages:

  - GNU GLib, at least version 2.28

    GLib is used throughout gzochid for its general-purpose utility functions
    and data structures. It is available from http://www.gtk.org/ .

  - GNU dbm, at least version 1.10

    GDBM may be used for data persistence. It is available from 
    http://www.gnu.org/software/gdbm/ .

    OR

    Oracle BerkeleyDB, at least version 5.1

    BDB may be used for data persistence. It is available from
    http://www.oracle.com/technetwork/products/berkeleydb/downloads/ .
    
  - GNU MP, at least version 4.1

    GNU MP is used for bignum arithmetic. It is available from 
    http://gmplib.org/ .

  - GNU Guile, at least version 2.0.4
 
    Guile provides the Scheme execution environment for the applications hosted
    by gzochid, as well as some of the glue code that facilitates communication
    between the applications and the container. It is available from
    http://www.gnu.org/software/guile/ .

  - GNU libmicrohttpd, at least version 0.9.17

    libmicrohttpd is used to serve pages that provide statistical information
    about the running gzochid instance and its hosted applications. It is
    available from http://www.gnu.org/software/libmicrohttpd/ .

  - GNU Serveez, at least version 0.2

    GNU Serveez is used to manage the embedded socket server and for I/O
    dispatching. It is available from http://www.gnu.org/software/serveez/ .

  - zlib, at least version 1.2.5

    zlib is available from http://zlib.net/ .

  - pkg-config

    gzochid's ./configure script uses pkg-config to discover the correct 
    compile and link options for a number of the libraries above.


Optional External Packages ====================================================

The following external packages are necessary to enable specific optional
features of gzochid.

  - MIT Kerberos 5, at least version 1.10

  MIT Kerberos 5 is used by the `krb5' authentication plugin to authenticate
  clients of gzochid game applications. It is available from 
  http://web.mit.edu/kerberos/ .


Special Instructions For Some Systems =========================================

We would like gzochid to build on all systems using the simple instructions 
above, but a few systems may need special treatment. If you send us fixes for 
system-specific problems, we'll be grateful.

   <none yet listed>


About This Distribution =======================================================

Interesting files include:

- COPYING, which contains the terms of GNU General Public License.
- INSTALL, which contains general instructions for building/installing gzochid.
- NEWS, which describes user-visible changes since the last release of gzochid.

Files are usually installed according to the prefix specified to configure,
/usr/local by default. Building and installing gives you:

Executables, in ${prefix}/bin:

 gzochid --- the server container for gzochi
