Annotation of 43BSDTahoe/games/hack/READ_ME, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.