nuts4_141/
nuts4_141/n4/boards/0002/
nuts4_141/n4/boards/0003/
nuts4_141/n4/boards/0004/
nuts4_141/n4/boards/0006/
nuts4_141/n4/boards/0FFF/
nuts4_141/n4/etc/
nuts4_141/n4/pubgroups/0004/
nuts4_141/n4/pubgroups/0006/
nuts4_141/n4/users/0FFF/
nuts4_141/n4b/boards/0001/
nuts4_141/n4b/boards/0002/
nuts4_141/n4b/boards/0FFF/
nuts4_141/n4b/etc/
nuts4_141/n4b/pubgroups/0004/
nuts4_141/n4b/pubgroups/0005/
nuts4_141/n4b/src/
nuts4_141/n4b/users/0FFF/
                      **** NUTS-IV Readme ****
                      ========================

Copyright
---------
This code is Copyright (C) Neil Robertson 2003-2005 but it is GPL'd. Please
read the GPL file for more information on the GNU Public License.


Introduction
------------
NUTS_IV is a total rewrite of the NUTS system and is also somewhat of a change
of direction (or "paradigm shift" if you're into spouting trendy catchphrases
and are somewhat inarticulate) in that the MUD metaphor with its multiple rooms
linked together in a route layout is gone, but instead we have multiple groups
which have no interconnections but can be jumped to immediately if the user
has appropriate permissions. Ie the system is similar to IRC in that respect.
   User id's are used as unique user references in NUTS-IV rather than names
which makes networking multiple servers with multiple users much easier. The id
is a 16 bit number which the user sees as a 4 character hex code. Users still
have names but these do not have to be unique on the server though lookups can
be done using them.
   Multiple servers can be linked together to provide a network and users can
hop along this network up to a maximum of 255 hops from their local NUTS 
server and tells, emotes and mails can be exchanged between users of 
immediately connected servers.

For more detailed info see the appropriate file in DOCS/.

Platforms
---------
This software has been developed and tested on the following platforms:

Solaris                 (SunOS 5.6 , 5.8)
Slackware Linux 8.1 & 9 (with 2.4 kernel)
FreeBSD 4.6

It has been compiled up and run with a quick test on:

MacOS X
AIX 4.3 & 5.1

Whether it will run (or even compile) under other versions of unix is
I'm afraid , pot luck. As for Windows, forget it.


Compiling
---------
Switch to directory "n4/src" and compile there. Uncomment the appropriate
lines for your unix system type in the Makefile. 

** Solaris note **
Solaris users must use the Forte C++ compiler which now comes standard with 
Solaris. Some of the old Workshop compilers had serious issues with threading 
under C++ which caused libc to abort with the following error when the program
is started:

libc internal error: _rmutex_unlock: rmutex not held.

There is no way around this bug that I know of. If you get this when you start
up NUTS and you do not have access to a forte compiler I'm afraid you're out
of luck.


Starting the servers
--------------------
When you have finished compiling there will be a binary called "nuts4" sitting
in the source directory. Copy this into the n4b/src directory using the "bincp"
script and then start both servers up (the order is not important) by just
running that binary. The servers will link to each other and hence when you
are logged on you can traverse between them. Do "telnet localhost 1413" for
server A or "telnet localhost 1415" for server B to log in.

Initial logging in
------------------
A default admin account with id 0FFF is setup for you to use. The password
is "test". If for whatever reason you manage to delete this simply create a
new user from the login prompt then edit the "level" field in the 
users/<user id>/config file (eg users/0FFF/config) and change it from NOVICE
to ADMIN. Once logged in enter "help commands" to see what commands are
available.

Log file
--------
If the optional -l command line option is used then almost all (barring a few
fatal error messages) output from the server will be written to this file.
If it does not contain a hardcoded path the file will initially be written
to the directory you are in when you start the server and once it has read
the working directory from the config file it will be moved to there.

Colour scheme
-------------
There isn't one. There may be some logic and consistancy in the colours in
some places but generally it had more to do with what looked good and what
mood I was in at the time I wrote the particular bit of code. So if you
think "but he used colour X for the same thing in that command, why is he
using colour Y for it in this one?" just enjoy the variety. :)

Feedback
--------
This project lives or dies on feedback, either about bugs or just about
features you either love or loath or things you thing could be improved.
Either way I'd like your opinion. Please send any musings your may have to
the email address below. Thanks.


Older versions
--------------
This version of the software runs the NIVN network protocol revision 5. This
is not compatable with revision 1 (which was only releases with NUTS 4 0.1.0)
and attempts to link to a revision 1 server will result either in an invalid
service or an incompatable protocol error depending which server attempts the
connect. Since its highly unlikely anyone is still using alpha release 0.1.0 I
don't feel this is a problem. Any revision above 1 can be linked with but the
functionality missing is as follows:

NIVN Rev.   Missing functionality when linking to rev. 6 server
=========   ===================================================
        5   Home server name
        4   as 5 + packet encryption
        3   as 4 + user pings
        2   as 3 + network broadcast messages + ping interval information


Neil Robertson

Email: neel@ogham.demon.co.uk (neil@ogham... address disabled due to spam)
Web  : http://www.ogham.demon.co.uk/nuts4.html