BSD 4_3_Tahoe development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 26 Jul 1985 01:06:52 +0000 (17:06 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 26 Jul 1985 01:06:52 +0000 (17:06 -0800)
Work on file usr/src/games/hack/READ_ME

Synthesized-from: CSRG/cd2/4.3tahoe

usr/src/games/hack/READ_ME [new file with mode: 0644]

diff --git a/usr/src/games/hack/READ_ME b/usr/src/games/hack/READ_ME
new file mode 100644 (file)
index 0000000..cfe6ca2
--- /dev/null
@@ -0,0 +1,92 @@
+Hack is a display oriented dungeons & dragons - like game.
+Both display and command structure resemble rogue.
+(For a game with the same structure but entirely different display -
+a real cave instead of dull rectangles - try Quest)
+
+Hack was originally written by Jay Fenlason (at lincolnsudbury:
+ 29 East St., Sudbury Mass., 01776) with help from
+ Kenny Woodland, Mike Thome and Jon Payne.
+Basically it was an implementation of Rogue, however, with 52+ instead of 26
+ monster types.
+The current version is more than thrice as large (with such new features as
+ the dog, the long worms, the shops, etc.) and almost entirely rewritten
+ (only the display routines are the original ones - I must rewrite these
+ too one day; especially when you are blind strange things still happen).
+
+Files for hack:
+       hack            The actual game
+       record          Top 100 list (just start with an empty file)
+       news            Tells about recent changes in hack, or bugs found ...
+                       (Just start with no news file.)
+       data            Auxiliary file used by hack to give you the names
+                       and sometimes some more information on the
+                       objects and monsters.
+       help            Introductory information (no doubt outdated).
+       hh              Compactified version of help.
+       perm            An empty file used for locking purposes.
+       rumors          Texts for fortune cookies.
+                       (Some of these contain information on the game,
+                       others are just plain stupid. Additional rumors
+                       are appreciated.)
+       hack.sh         A shell script.
+                       (We have hack.sh in /usr/games/hack and
+                       hack in /usr/games/lib/hackdir/hack and all the other
+                       hack stuff in /usr/games/lib/hackdir - perhaps this
+                       will make the script clear.
+                       There is no need for you to use it.)
+       READ_ME         This file.
+       Original_READ_ME Jay Fenlason's READ_ME
+
+System files used:
+       /etc/termcap    Used in conjunction with the environment variable
+                       $TERM.
+       /bin/cat
+       /usr/ucb/more
+       /bin/sh         Used when $SHELL is undefined.
+
+How to install hack:
+0. Compile the sources. Perhaps you should first look at the file config.h
+   and define BSD if you are on a BSDtype system,
+   define STUPID if your C-compiler chokes on complicated expressions.
+   Make sure schar and uchar represent signed and unsigned types.
+   If your C compiler doesnt allow initialization of bit fields
+   change Bitfield. When config.h looks reasonable, say 'make'.
+   (Perhaps you have to change TERMLIB in the makefile.)
+1. If it didnt exist already, introduce a loginname `play' .
+2. The program  hack  resides in a directory so that it is executable
+   for everybody and is suid play:
+       ---s--s--x  1 play      206848 Apr  3 00:17 hack
+   Perhaps you wish to restrict playing to certain hours, or have games
+   running under nice; in that case you might write a program play.c
+   such that the program play is suid play and executable for everybody
+   while all the games in /usr/games are readable or executable for
+   play only; all the program play does is asking for the name of a game,
+   checking that time-of-day and system load do not forbid playing,
+   and then executing the game. Thus:
+       -r-sr-sr-x  1 play       13312 May 24 12:52 play
+       ---x------  1 play      206848 Apr  3 00:17 hack
+   If you are worried about security you might let play do
+   chroot("/usr/games") so that no player can get access to the rest
+   of the system via shell escapes and the likes.
+   If you #define SECURE in config.h then hack will not setuid(getuid())
+   before executing a chdir(). Hack will always do setuid(getuid()) with
+   a fork. If you do not define UNIX then hack will not fork.
+3. The rest of the stuff belonging to hack sits in a subdirectory hackdir
+   (on our system /usr/games/lib/hackdir) with modes
+       drwx------  3 play      1024 Aug  9 09:03 hackdir
+   Here all the temporary files will be created (with names like xlock.17
+   or user.5).
+4. If you are not really short on file space, creating a subdirectory
+   hackdir/save (modes again drwx------) will enable users to save their
+   unfinished games.
+
+The program hack is called
+$ hack [-d hackdir] [maxnrofplayers]
+(for playing) or
+$ hack [-d hackdir] -s [listofusers | limit | all]
+(for seeing part of the scorelist).
+The shell file hack (in this kit called hack.sh) takes care of
+calling hack with the right arguments.
+
+Send complaints, bug reports, suggestions for improvements to
+mcvax!aeb - in real life Andries Brouwer.