12/22/1993
MacNetrek/ndb, version 1.0b2

This directory contains 1.0 beta release of MacNetrek and ndb (Netrek
Display Bridge).  You need both of these programs to play netrek from
your Macintosh computer over a modem.

There are 2 different ndb binaries:

     ndb1.0b2-ultrix4.Z    - DEC3100, DEC5000
     ndb1.0b2-sparc.Z      - SUN Sparcs

Download the one for your workstation and 'uncompress' it.  Download
MacNetrek-1.0b2.hqx to your Macintosh and 'UnBinHex' it.

Download seattle.hqx to your mac.  seattle is a font suitcase that
contains the font SEATTLE which is used by MacNetrek UnBinHex
seattle.hqx and put it into your system folder.  On system 7.0, place
seattle into the font folder inside the system folder.  On system 7.1,
simply drop seattle on top of the system folder and the font will be
installed correctly.

The /doc directory contains some documentation for MacNetrek and ndb.
In /doc:

     README.mac           - Brief description of how to use MacNetrek
     README.ndb           - Brief description of how to run ndb

     MacNetrek-Commands.txt  - List of MacNetrek commands
     NDB-Description.txt     - Brief description of how ndb work
     Update-Packet-Types.txt - Brief description of packet types used
                               in ndb and MacNetrek

However, since there are some major changes between version 1.0b2 and
previous versions (1.0b, 1.0b1), the following documents in /doc are
obsolete:

	Update-Packet-Types.txt
	NDB-Descriptiong.txt

ndb1.0b2.tar.Z contains the source code for ndb.  If you are interested
in developing netrek display clients that will talk to ndb for other
platforms such as PC Windows, please read the above documents.

===========
|| TIPS: ||
===========

** TURN OFF DATA COMPRESSION **

I think if you turn off modem data compression, you will get better
command response time.  I think the reason is that if you modem is
doing data send compression, instead of sending your MacNetrek
commands (which is 2 or 5 bytes) immediately, it may be wait a bit to
hoping to get more bytes so that it can do a compression on them.
This may cause a delay in your commands getting to the UNIX end.  I
have no definitive reason to believe this actually happens.  I just
feel :-) that my MacNetrek command response improves when I turn data
compression off.

MacNetrek command to it On my modem (Zoom 14,4K fax/modem), I use
AT%C0 to turn off modem data compression.  Consult your modem manual
to see how to turn it off on your modem.  Alternatively, you can try
to make your modem do receive compression only.  To do this, I think
the command is AT%M2.  But I have not being successful connecting
under this mode using my Zoom modem.

** SET A GOOD WAIT TIMER **

In version 1.0b2, there is an undocumented feature.  I will attempt to
explain what this feature is and how it relates to your play.

ndb sends a lot of data to MacNetrek.  On average, ndb will send
anywhere from 40 to 300 bytes to MacNetrek for each update.  If a
large collection of bytes are send by ndb at once, it will take up
most of the modem's transmittion bandwidth.  Data send by MacNetrek
which encodes your commands such as fire torps, turn, and fire phaser,
will have to wait until this large chunk of bytes finish sending by
ndb before your MacNetrek to ndb data can be send.  You will feel that
the program is not responding to your commands or the response is
delayed by a noticable amount of time.  To help solve this problem,
ndb does not send any large chunk of bytes.  Instead, ndb only sends
bytes in size of 20 bytes or less.  ndb also waits between each send
so that MacNetrek will have a chance to send something over the modem.

The default wait time is set at 1,500 micro-second, i.e. ndb waits
1,500 usec after sending each 20 bytes of data.  If ndb waits for
longer, your commands will become MORE responsive because MacNetrek
will have better chance of sending your commands immediately instead
of waiting for the modem to finish transmitting data from ndb.
However, updates will be delayed because the complete data needed for
updates now takes longer to reach MacNetrek than before.  As a result,
the information you see on the screen is LESS accurate.

The undocumented features is the ability to set amount of time ndb
waits between each send.  To do this, put the mouse in the menubar (as
if you want to send a message to someone) and type 't'.  You will
receive a message from ndb telling you what is the current wait time
in the message window.  You can then type in a number between 1000 -
9000 denoting how many micro-second you want ndb to wait between
sending the 20 byte size data chunks.  Try to experiment with this to
find out the optimal wait time.

Remember, LONGER wait time means LESS command response latency, but
MORE update latency.  SHORTER wait time means MORE command response
latency, but LESS update latency.

** USE WARNING, MESSAGE, PLAYERLIST WISELY **

Since modem is slow and has very small bandwidth comparing to other
kind of network, it is better to transmit as little overhead as
possible in order to give MacNetrek good performance.  All the data
transmitted to MacNetrek from ndb can be grouped in three major
catagories, updates, messages, and player list.

Updates is the most important information MacNetrek needs.  It is used
to display ships on the tactical window, update your ship info in the
info window, and update the galactic windows.  It is important receive
update information with as little delays as possible.

Messages are messages that are passed around during a play.  This
also include warnings.

Player list are information needed to update the playerlist.

I only consider update information crucial the MacNetrek.  Messages
and player list information are mostly overheads.  If you receive a
lots of messages and player list information, it can seriously slow
down your updates and cause very lagged response from MacNetrek.   For
this reason, I suggest you use player list and messages sparingly.

Turn off "receive playerlist" when you are not looking at the player
list.  Turn on "receive playerlist" for 1-2 seconds to receive a
playerlist updates for all players then stop receiving the playerlist.
The entry in the playerlist will not be erased until that player is
killed.  Use 'i' or 'I' to get information on a player.

Turn on "receive playerlist" only when you are in a relaxed moment,
e.g. just flying around, not in battle situation.

Do not receive "KILL" messages.  There are just too many of those.
I usually only receive "TEAM" and "INDIVIDUAL" information only.

Note that if you want to receive information on player and planets,
you will need to be able to receive "INDIVIDUAL" messages.

Turn off "receive warning" to stop receiving warning messages.

** COLORS? **

On a slower Mac (all non-040 Macs) without a video accelerator, use
4-bit (16 colors).  Make sure to set the colors to 4-bit using the
'monitor' control panel BEFORE staring up MacNetrek.

** UPDATES **

Do not set server update rate to be too high.  I would recommend 5 as
the maximum you should use even though the number can go up to 9 (most
of the server do not allow higher than 5 updates/sec anyway).  Less
updates/sec will give you better command response.  Choose an update
rate that gives you enough information and response well.

If you use 9600 baud modem, use 3-4 updates/sec.  If you are using
2400 baud modem, use 1-3 updates/sec.

================
|| Copyright: ||
================

MacNetrek, Copyright (C) 1993 by Jiang Wu and Jack Hsu.

Permission to make and distribute copies of this software is granted
provided that this document is present with each copy.  However, this
software may not be sold or distributed for profit in any ways without
permission from the authors.  In addition, no portions of this software may
be extracted or reproduced without permission from the authors.

=================
|| Disclaimer: ||
=================

MacNetrek is distributed WITHOUT ANY WARRANTY.  Use it at your own risk.
The authors take NO RESPONSIBILITY for any consequences directly or
indirectly resulting from the use of this program.

ndb is distributed WITHOUT ANY WARRANTY.  Use it at your own risk.
The authors take NO RESPONSIBILITY for any consequences directly or
indirectly resulting from the use of this program.

-----------------------------------------------------------------------

-- Jiang Wu
   12/22/1993
