DPSLOTS.EXE
------------

Sample application to demonstrate how to build a client/server
application using DirectPlay.

Note: MSVC may include older versions of the DirectX header files and
libraries.  This sample requires DirectX 5.  In order to avoid compile
errors, make sure the path to the DirectX 5 header files and libraries are
listed BEFORE the MSVC header files and libraries through the
Tools -> Options -> Directories menu.

CLIENT/SERVER
-------------

DPSLOTS is really two applications in one. When you host a session, it acts
as a server. The server maintains a simple database of account balances for
every user that is allowed to log in. Clients can request their current
balance from the server and can request that the server spin the wheels and
calculate the amount won or lost.

The server uses a simple text file to record the balance for each user. Each
line of the text file contains the user account ID and a 8-character balance
figure separated by a comma, as in:

Account1,    1000
Account2,     500

You will have to manually add lines to this file for each user.

When you join a session, DPSLOTS acts as a client and sends messages to the
server for all operations. After requesting a spin from the server, it
animates the tumblers and displays the results. The client may be required
to log the user into the server using a name and password.

SECURITY
--------

DPSLOTS can be hosted using security by clicking the "Require Secure Login"
checkbox after choosing to host.  By leaving the "Security Provider" editbox
blank the default NTLM security package will be used.  If you have an
alternate SSPI security package installed, it may be specified here.

Once this is done, the server will host a secure session and clients will
have to securely log in with a user name and a password before being
allowed access to the server. All messages between the client and server
will be digitally signed and encrypted.

When hosting a secure server, the account ID for each user will be defined
by the security package being used. This account ID must be stored in the
database file along with the appropriate balance.

The default security package is NTLM, which uses a domain and a user name
for the account ID. For example, if your domain is "GAMES" and you have two
users "Bob" and "Jane", your database file would look like:

GAMES/Bob,    1000
GAMES/Jane,     500

Currently you can only host a secure session using NTLM on Windows NT
workstation or server. However, you can log into the server from Windows 95
or Windows NT.
