Subject: Beta-testing LambdaMOO release 1.7.0

From: Pavel Curtis <[email-masked]>
Date: Tue, 6 Oct 1992 13:35:46 -0700

Today begins what I hope will be a short beta-testing phase for release 1.7.0
of the LambdaMOO server.  Because this server incorporates a number of new
networking implementations to enable the server's use on a broader array of
platforms (including single- and multi-user use on machines without a network),
it made sense to me that we should do one quick run-through of volunteers
trying to get the system up and running on as many kind of machines as
possible, using as many networking implementations as possible.  It should be
possible to get it running in at least some configuration on any UNIX machine,
and perhaps without too much trouble on other POSIX-compliant platforms.  None
of the configurations in this release will work on an MS/DOS machine.

Here's what I'd like a bunch of you to do for me (I *strongly* recommend that
you read this all the way through before starting):

1) Reply to this message (making sure that the reply is going to me only, not
   the whole MOO-Cows list) telling me the kind of hardware and operating
   system you're willing to test the server on.  I'll let you know if someone
   else is already doing that configuration, so that we avoid uselessly
   duplicating work.  If you don't hear back from me, assume that you're the
   one person testing that configuration and go for it.

2) FTP the distribution from host `parcftp.xerox.com', directory `pub/MOO',
   file `LambdaMOO-beta.tar.Z'; don't forget to use binary mode.  Also, using
   `ascii' mode, fetch `LambdaCore-12Aug92.db', renaming it to `LambdaCore.db'
   on your machine.  Unpack the compressed tar file in a clean directory.

3) Start some email to me, including the following information:
	Hardware type: >>Sun 3, SPARCstation, SGI, DECstation, etc.<<
	Operating System: >>SunOS 4.1.1, IRIX 3.3.3, Ultrix 4.2, etc.<<
	Compiler: >>Vendor supplied, GCC, etc.<<
	Predefined Symbols: >>See below<<
   The `Predefined Symbols' are those C preprocessor symbols that the compiler
   defines for every compilation; usually they include things like the machine
   name, the OS name, or some other name that uniquely identifies your hardware
   and software configuration.  On most machines, you can get the complete list
   simply by invoking your compiler with the `-v' option, in addition to the
   normal ones.  Try this, for example:
	cc -v -c match.c
   (and then delete match.o, if it exists).  The compiler should print out all
   of the commands it executed to do the compilation; the first of these
   probably has a bunch of arguments of the form `-Dfoo'.  I want you to make a
   list of all of the `foo's and put that in the `Predefined Symbols' field in
   your message to me.

4) Following the directions in the release, try to compile it first for
   SINGLE_USER mode.  Make a note or, much better, keep a verbatim copy of any
   warnings or errors you get from your compiler.  If it doesn't compile
   properly, see if you can figure out what I need to change in the code to
   make it do so.  If you can't figure it out, don't sweat it; I'll try to
   figure it out for myself.  Remember, the goal is that the server compile on
   your machine with *no* warnings or errors (except maybe for some in
   /usr/lib/yaccpar, which I don't control).

5) Add to your email message to me the copy you made of the warnings and/or
   errors you got in step 4, along with a description (preferably in diff -c
   format) of any changes you did to make it work.

6) If you couldn't get SINGLE_USER mode to compile, stop here and send me that
   email message.  With luck, I'll be able to get you over this hump and you
   can then continue.

7) If you *did* get SINGLE_USER mode to compile, try running it:

	./moo LambdaCore.db foo.db

   After loading the database, it should `connect' you to the server using the
   normal input and output streams of the server itself.  Type `co wizard' to
   log in and then `news' to make sure that commands work.  Then type `@quit'.
   You should be `disconnected' and then immediately `reconnected', getting the
   welcoming banner again.  This time don't log in but instead hit Ctrl-C (or
   whatever your usual `interrupt' key is); the server should go through its
   normal shutdown procedure, dumping the database into `foo.db'.

   If all this works normally, add something like this line to your message:

	SINGLE_USER mode passed the test.

   If it didn't work, then please describe in your message, as carefully as
   possible, what happened instead.  Then stop, sending that message off to me.

8) If you're still going, then it's time to test out each of the multi-user
   configurations in turn.  Edit `config.h' to comment out the #define for
   SINGLE_USER and to select one of the combinations of NETWORK_PROTOCOL and
   NETWOK_STYLE.  Add to your message a description of which one you're trying.
   Following the directions in the release, compile the server again.

9) As before, add to your message a copy of any warnings or errors you get, and
   try to make them go away, telling me what you did if you succeed.  If you
   can't get it to compile without errors, then give up on this configuration
   and go back to step 8 to try another one.

10) If you're here, then you've gotten some multi-user configuration to compile
   and you're ready to test it.  You will need three windows or terminals to do
   this properly.  In window 1, start the server:

	./moo LambdaCore.db foo.db

   In window 2, start a client for that server; if you're using the NP_LOCAL
   value of NETWORK_PROTOCOL, then use either `client_bsd' or `client_sysv', as
   appropriate.  Otherwise, use `telnet localhost 7777'.

   When you're connected in window 2, type `co wizard' to log in, and `news' to
   test whether normal commands work.  Then start a client in window 3; when
   connected, type `cr foo foo' to create a new character, `news' to test
   commands in that window, and `@quit' to disconnect.  There should be `foo
   has connected' and `foo has disconnected' messages in window 2.  Back in
   window 2, type `;shutdown("")' to shut down the server.  It should shut down
   normally, dumping the database into `foo.db'.

11) If all this worked fine, add a line to your message like this:

	Configuration NP_whatever/NS_whatever passed the test.

   If it didn't work right, then please add a careful description of what went
   wrong.

12) Repeat steps 8-11 for each of the four possible combinations of NP_* and
   NS_*.  Don't worry if some of them fail even to compile; so far, only SunOS
   has managed to make all of them work (unsurprising, since that's where I
   developed them).  When you've tested everything you can, and included in
   your message every warning, error, and failed test, send off that email to
   me.

Some of you have already sent messages about changes you made to get earlier
versions of the server to compile and run on various platforms.  Some of those
changes have been incorporated and others have not, based mostly on how much
time I had available when I received them.  Please send me those changes again
if the beta release seems still to need them.  Thanks.

By myself, I have already tested the server on the following platforms:

	SPARCstation running SunOS 4.1.1 (GCC)
	NeXT machine running NeXT Mach (vendor compiler == GCC)
	IBM RS/6000 running AIX version 3 (vendor compiler)
	SGI Iris running IRIX 4.0 (vendor compiler)

I will be testing on a SPARCstation running Solaris 2.0 (vendor compiler) as
well.  Everything else is up for grabs!

I thank you all very much in advance for helping make LambdaMOO easy for lots
of other people to bring up on their machines.

	Pavel/Haakon