Doomsday 1.0 pre
Client/Server Network Test with JHeretic
----------------------------------------
by Jaakko Kernen <jkeranen@raven-games.com>
6/21/2000

See http://www.raven-games.com/jhexen for latest news.

CONTENTS
* What is this?
* Operating a non-dedicated server
* Dedicated servers
* Client mode
* Feedback and bug reports
* First aid


WHAT IS THIS?
The purpose of this release is to determine how well the current network
code is actually working. It has been upgraded to full client/server
networking, meaning players can join and leave a game whenever they wish
and there can now be dedicated servers running in text mode.

The engine already supports the new dynlight blending (dlblend 0), but it's
not finished yet: you will notice artifacts around polygon edges and when
fog is active the surfaces that have dynamic light on them will be rendered
without textures. The MD2 support is also in there, but I'm not going to
tell you how to use it yet. Har har. :-) Besides, it still needs some work.

The engine will only work with the included JHeretic.dll. The only
available renderer at this time is the OpenGL one. Copy any missing files
you might need from the earlier versions of JHeretic.


OPERATING A NON-DEDICATED SERVER
The Multiplayer menu is currently out of order, so you'll have to use the
console in starting a server or connecting to one. Like in earlier versions
of Doomsday, everything you need is accomplished with the "net" command.
Limbo mode has been removed, so operating a server should be a bit simpler
than before. The procedure is as follows:

1. Configure the server by setting proper values for the console variables
"n_servername", "n_serverinfo", "n_map", "n_episode" and "n_skill". Keep in
mind that clients will be connecting to the server using the name you
specify with "n_servername", so keep it simple.

2. Initialize the service provider, i.e. the protocol. For instance, "net
init tcpip". Optionally (with TCP/IP), use the command "net tcpip port
(number)" to specify the port to use, for example "net tcpip port 10000".
Leaving it to port 0 will tell DirectPlay to use the default ports.

3. Start the server with the command "net server start".

4. Use the command "setmap" to change the level at any time. "setcolor"
will change your player color. I'll let you guess what "setname" does.

5. The command "net server close" will shut down the server and disconnect
all clients.


DEDICATED SERVERS
You start a dedicated server by using the "-dedicated" command-line option.
The game begins normally but all you'll see is a text mode representation
of the console. You can now start the server exactly like a non-dedicated
one, but you don't have to worry about your name and player color because
the server naturally hasn't got a player when running in dedicated mode.
You can place the init commands in autoexec.cfg for convenience.

Notice: You need to use the "quit!" command to exit a dedicated server.

The player limit is 15 on dedicated servers.


CLIENT MODE
Connecting to a server as a client is quite straightforward. Before doing
anything it's a good idea to make sure your player name and color are what
you want them to be. You can use the commands "setname" and "setcolor" even
when off-line. Notice that you can use your player number as a color if you
do "setcolor 4" (Heretic has four player colors: 0-3).

1. Initialize the protocol, just like you would when starting a server.

2. If not using the IPX protocol, specify the address of the server (see
the old Network.txt for details). For instance (with TCP/IP), you'll need
"net tcpip address (ip address)" and "net tcpip port (port)" (if the server
uses a custom port).

3. Issue the command "net servers" as many times as it takes to see the
server you're looking for.

4. "net connect (server name)" will connect you to the server.

5. "net disconnect" will disconnect you.

The server's mobj visibility checker is still slightly inaccurate. Clients
will often see objects disappear if their lower edge becomes obstructed.


FEEDBACK AND BUG REPORTS
I'm extremely interested in hearing out how it goes. I would appreciate it
if you sent the feedback to jkeranen@raven-games.com with the subject
"DTest Results". It is vital that you attach your Doomsday.out since it
contains a dump of all the text in the console and is thus very helpful in
determining what's really happening. Also include relevant information
about your system and, most importantly, what kind of connection you are
using (modem speed, LAN, ISDN, etc).

Things I'd especially like to know:
- Is it playable?
- How's the lag? Try using the "ping" console command every now and then.
- Missing/incorrect sounds?
- How does it handle a high number of clients?

Don't bother sending any reports after July 2nd.


FIRST AID
This is beta version (some parts are alpha, I admit) so you might run into
various problems. I'm not expecting any bad fatal bugs, though, it seems
quite stable when run locally. If the network code is giving you trouble,
make sure you have the latest DirectX installed and that it's working
properly.


So, without further ado, I wish you good luck and fully functional
netgames!

-----
Jaakko Kernen <jkeranen@raven-games.com>
6/21/2000

