Annotation of 43BSDReno/games/hack/READ_ME, revision 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.