
Dpmaster, a master server for DarkPlaces and Quake III Arena
------------------------------------------------------------

* INTRODUCTION:

Dpmaster is a master server written from scratch for LordHavoc's great Quake 1
engine: DarkPlaces. The master protocol used by DarkPlaces and dpmaster is
heavily based on the Quake III Arena master server protocol, that's why
dpmaster supports DP servers and Q3A servers at the same time.

Although dpmaster is being developed primarily on a Linux machine (i386), it
should compile and run at least on any operating system from the Win32 or UNIX
family. But be aware that some options are only available on UNIXes, including
all security-related options. See the SECURITY section below for more
informations.

The source code of dpmaster is available under the GNU General Public License.


* SYNTAX & OPTIONS:

The syntax of the command line is the classic: "dpmaster [options]". Running
"dpmaster -h" will print the available options for your version.

For a simple usage, the only option you may want to know is '-D'. This is a
UNIX-only option and it makes dpmaster running as a system daemon, in the
background.


* SECURITY:

First, you shouldn't be afraid to run dpmaster on your machine: at the time I
wrote those lines, no security flaw has ever been found in any version of
dpmaster. It has always been developed with security in mind and will always
be.

Also, dpmaster needs very few things to run correctly. A little bit of memory,
a few CPU cycles from time to time and a network port are its only
requirements. So feel free to restrict its privileges as much as you can.

The UNIX/Linux version of dpmaster has even a builtin security mechanism that
triggers when it is run with super-user (root) privileges. Basically, the
process locks (chroots) itself in the empty directory "/var/empty/" and drops
its privileges in favor of those of user "nobody" (notorious for having almost
no privileges at all  :)  Note that this path and this user name are
customizable via the '-j' and '-u' command line options.

Finally, you will probably be glad to know that dpmaster just can't leak
memory, by design.


* CHANGES:

    - version 1.1:
        A lot of optimizations and tweakings
        Verbose option added (-v)
        Hash size option added (-H)
        Daemonization option added on UNIXes (-D)
        Chrooting and privileges dropping when running as root added on UNIXes
        MinGW cross-compilation support added

    - version 1.01:
        A major bug was fixed. Most of the servers weren't sent to the clients

    - version 1.0 :
        First publicly available version


* CONTACTS & LINKS:

You can get more informations and the latest versions of DarkPlaces and
dpmaster on the DarkPlaces home page: http://icculus.org/twilight/darkplaces/


--
Mathieu Olivier  <elric@planetblood.com>
