NUTS 2.3 specifics.
------------------

NUTS finally works with character mode clients. For some reason Unix telnet
defaults to line mode (easy to work with) whereas PC and Mac telnet defaults
to character mode and some dont even have a line mode. Whatever idiot is 
responsible for this mess should be shot. At any rate , users with char. mode
clients should now be able to log in and use NUTS with no probs. There is one 
thing though - some clients in char mode will echo the characters themselves,
others wont and the server has to do it for them (maybe theres a control 
option for this , I dunno). This is what the CHAR_MODE_ECHO macro is for. It
is set to 0 currently so that the NUTS server won't echo back any character it 
recieves from a client running in char. mode. If the client doesnt echo either
despite being told to (windows NT telnet is a case in point here) then the
user will see nothing of what he types in. If you set the macro to 1 and the
client does echo then the user will see 2 of everything he types in.You can't
win. Also , some clients (unix telnet) takes things literally when you send
an echo command and they are in char. mode - they echo everything eg ^M for 
newlines, ^H for deletes etc. Since its unlikely anyone would use unix telnet 
with NUTS in char. mode this shouldnt be a problem but you never know. 
Thankfully , most decent clients can run in line mode *phew*.

Other changes in this version are:

- New .prompt command. Allows user to switch his prompt on or off. I would have
  made the server store his preference but I wanted the data files to be 
  compatible with 2.2. Prompt defaults to on. PROMPT macro is gone.

- A number of double commands - aton, atoff, slon, sloff, open, close have 
  become a single toggled command - atmos, log and access respectively.

- A "who" option at the login prompt. This allows people to see whos on and
  whether its worth them bothering to log in. Of course this could lead to the
  age old problem of no ones on so no one bothers to log in...

- You are now told when someone was last logged in on examining them.


This is the README for NUTS 2.2.x and is still valid...

A rough guide for would be sysops.
-----------------------------------

NUTS 2.2 has one major change from NUTS 2.1 other than some new commands.
The user levels have changed as there is now one extra level - NEWBIE
which is level 0. The other 3 levels have been shifted up so user is
level 1, wizard is level 2 and god level 3. Bear this in mind if you are 
upgrading from 2.1

To compile this program just type "cc nuts220.c" and to run just type "a.out" 
or whatever name you give it.
This software is guaranteed to compile on AIX, OSF/1, Mach (NeXT) and
Linux 1.0 (with some warnings).
and should compile on SunOS & HP-UX. As for other unix's I haven't a clue.


Format of the INITFILE:

<port number> <no. of areas> <atmos on> <logging_on> <allow new> <mess life>
<room name> <link> <status>
.
.
.
.

The port number is the number of the port the talker runs on.
The no. of areas is the number of areas you have defined (max 26)
Atmos on is 1 or 0 depending on whether you want the atmospherics on or not.
Ditto above for system logging.
If allow new = 1 then new id's can be created else if 0 they can't.
Mess life is how many days messages remain on the message boards befor being
automatically erased.

You then define the room names, their links to other rooms (using letters) and
their status.

Status = 0 - room can be set by uses to either private or public
         1 - room is fixed to public
         2 - room is fixed to private (ie for sysop (Wizards & gods) only use)


Files in USERDIR:

Using Fred as an example we could have the following files..
Fred.D , Fred.M , Fred.P. They are all text files and they contain the 
following data. Fred.M contains Freds mail, Fred.P contains Freds profile
and Fred.D contains his userdata which has the following format:

<last logged in time>
<last site logged in from>
<user description>
<user level (0-3)>

The rest you should be able to work out for yourself. Some final things to note
are that use passwords are now encrypted and the user status is no longer
contained in the password file and the data directory is no longer specified
on the command line but stored as a macro in the program. There is also a
second message of the day on logging in.

I have set up a user called "Fred" who has the password "test" and use level
of God so log in has him first to play around.

You should be able to work the rest out for yourself.

Have fun.

Neil Robertson 1994

neil@realtime.demon.co.uk
