Annotation of 43BSDReno/games/hunt/README, revision 1.1.1.1

1.1       root        1: What *is* hunt?
                      2: 
                      3:        Hunt is a multi-player search-and-destroy game that takes place
                      4:        in a maze.  The game may either be slow and strategic or fast
                      5:        and tactical, depending on how familiar the players are with the
                      6:        keyboard commands.
                      7: 
                      8: Distribution Policy:
                      9: 
                     10:        Hunt is part of the user-contributed software distributed by
                     11:        Berkeley in 4BSD.  The sources are copyrighted by the authors
                     12:        and the University of California.  You may redistribute freely
                     13:        as long as the copyright notices are retained.
                     14: 
                     15: Words of Warning:
                     16: 
                     17:        hunt uses the socket mechanism of 4BSD Unix, so if you are on
                     18:                System V (my sympathies), you're on your own.
                     19:        If your machine does not permit non-setuid-root processes to
                     20:                broadcast UDP packets, then hunt uses a *very* inefficient
                     21:                method for locating the hunt server: it sends a packet
                     22:                to every host on your network.  If your machine falls
                     23:                into this category, we strongly recommend that you use
                     24:                either standalone or inetd mode *and* start hunt by
                     25:                specifying the hunt server host.
                     26:        hunt can be configured to use Unix-domain sockets, but that
                     27:                code has not been tested in recent memory.  Also, since
                     28:                4.2BSD Unix-domain sockets are buggy, running hunt on
                     29:                4.2BSD with Unix-domain sockets will probably crash
                     30:                your system.  If you want to experiment, feel free to
                     31:                do so.  However, don't say I didn't warn you :-).
                     32:        hunt uses a fair amount of CPU time, both in user time (for
                     33:                computing interactions) and system time (for processing
                     34:                terminal interrupts).  We found that a VAX 750 can
                     35:                support about three users before the system is
                     36:                noticeably impacted.  The number goes up to about 8 or
                     37:                10 for a VAX 8650.  On a network of Sun 3/50's with the
                     38:                server running on a 3/280, things work much more
                     39:                smoothly as the computing load is distributed across
                     40:                many machines.
                     41:        hunt may be dangerous to your health.  "Arthritic pain" and
                     42:                "lack of circulation" in fingers have been reported by
                     43:                hunt abusers.  Hunt may also be addictive, and the
                     44:                withdrawal symptoms are not pretty :-)
                     45: 
                     46: Installation:
                     47: 
                     48:        1. Edit file "Makefile" and make sure the options selected are
                     49:                reasonable.  There are four "make" variables that you
                     50:                should check: GAME_PARAM, SYSCFLAGS, SYSLDFLAGS, and DEFS.
                     51:                GAME_PARAM controls what features of the game will be
                     52:                compiled in (e.g. reflecting walls).  The optional features
                     53:                are listed in comments above where GAME_PARAM is defined.
                     54:                If you want to try them, just add the ones you want to the 
                     55:                GAME_PARAM definition.
                     56: 
                     57:                DEFS is where most system configuration is described.
                     58:                If your system is 4.3BSD, Sun, Ultrix, Convex, HPUX
                     59:                v6.0.1, or SGI, you're in luck.  We provide the
                     60:                appropriate definitions for these systems and you just
                     61:                need to select one of them (e.g. if you have an Ultrix
                     62:                system, just change the line
                     63:                        DEFS=   $(GAME_PARAM) $(DEFS_43)
                     64:                to
                     65:                        DEFS=   $(GAME_PARAM) $(DEFS_ULTRIX)
                     66:                ).  If your system is *not* listed above, then you may
                     67:                need to do some experiments.  All of the options are
                     68:                documented in the Makefile, be brave.
                     69: 
                     70:                SYSCFLAGS and SYSLDFLAGS are used for "unusual" systems
                     71:                and you probably won't need to deal with it.  An
                     72:                example of an unusual system is the Silicon Graphics
                     73:                IRIS, which keeps the network socket code in a BSD
                     74:                emulation library that is in -lbsd.  Edit these only if
                     75:                you *know* your system is "different."
                     76: 
                     77:        2. Edit file "Makefile" and look at the "install:" target.  By
                     78:                default, files are installed in /usr/games,
                     79:                /usr/games/lib, and /usr/man/man6, which are "standard"
                     80:                locations for games.  If your system has a local games
                     81:                directory, you'll need to change these.
                     82:        3. Edit file "pathname.c" and make sure the file names and port
                     83:                numbers are reasonable.  You can ignore the first set
                     84:                of variables as they are used only for debugging
                     85:                purposes.  The second set is used in the installed
                     86:                version of hunt.  The important variables are "Driver"
                     87:                (where the server is kept), "Test_port" (the Internet
                     88:                UDP port number that new players should use to contact
                     89:                the server), and "Stat_file" (where scoring statistics
                     90:                and body counts are written).  The only tricky variable
                     91:                here is "Test_port".  The default value is chosen so
                     92:                that it is unlikely to conflict with other service port
                     93:                numbers, but you can change it if you want to.
                     94:        4. Type "make install", which will compile and install the
                     95:                programs and manual pages.  Now you're almost ready to
                     96:                go (see next section).  There may be some warnings during
                     97:                compilation.  Ignore them.
                     98: 
                     99: Setting up the network:
                    100: 
                    101:        Hunt may be set up in one of three modes: standalone, inetd, or
                    102:        nothing.  In "standalone" mode, there is always a hunt server
                    103:        running on a server machine.  All players who enter the game
                    104:        will be talking to this server.  This is the mode we use at
                    105:        UCSF.  The cost is one entry in the process table on the server
                    106:        machine.  In "inetd" mode, the server is started via inetd.
                    107:        Again, only one machine should be set up to answer game
                    108:        requests.  The cost is having to edit a few system files.  In
                    109:        "nothing" mode, no server is running when there is no one
                    110:        playing.  The first person to enter hunt will automatically
                    111:        start up a server on his machine.  This, of course, gives him
                    112:        an unfair advantage.  Also, there may be race conditions such
                    113:        that players end up in different games.  The choice of which
                    114:        mode to use depends on site configuration and politics.  We
                    115:        recommend using "standalone" mode because it is simple to set
                    116:        up and starts up rapidly.
                    117: 
                    118:        -----
                    119: 
                    120:        FOR STANDALONE MODE, put these lines in /etc/rc.local on the
                    121:        server machine.  THERE SHOULD ONLY BE ONE SERVER MACHINE!
                    122: 
                    123:        # start up the hunt daemon if present
                    124:        if [ -f /usr/games/lib/huntd ]; then
                    125:                /usr/games/lib/huntd -s & (echo -n ' huntd')    >/dev/console
                    126:        fi
                    127: 
                    128:        Also, you should start one up (on the off chance that you will
                    129:        want to test this mess :-) by typing "/usr/games/lib/hunt -s".
                    130: 
                    131:        -----
                    132: 
                    133:        FOR INETD MODE, then things get more complicated.  You need to
                    134:        edit both /etc/services and /etc/inetd.conf.  In /etc/services,
                    135:        add the line
                    136: 
                    137:        hunt            26740/udp
                    138: 
                    139:        26740 corresponds to the default "Test_port".  If you changed
                    140:        that variable, then you should put whatever value you used here
                    141:        as well.  In /etc/inetd.conf, add the line
                    142: 
                    143:        hunt    dgram   udp     wait    nobody  /usr/games/lib/huntd    huntd
                    144: 
                    145:        This works for 4.3BSD.  I don't remember the configuration file
                    146:        format for 4.2BSD inetd.
                    147: 
                    148:        See the huntd.6 manual page for more details.
                    149: 
                    150:        -----
                    151: 
                    152:        FOR NOTHING MODE, do nothing.
                    153: 
                    154: Testing:
                    155:        Now you are ready to test the code.  Type "/usr/games/hunt" or
                    156:        whatever you call the hunt executable.  You should be prompted
                    157:        for your name and team.  Then you should get the display of a
                    158:        maze.  At this point, you should read the manual page :-).
                    159: 
                    160: ======
                    161: 
                    162: Hunt is not officially supported by anyone anywhere (that I know of);
                    163: however, bug reports will be read and bug fixes/enhancements may be
                    164: sent out at irregular intervals.  Send no flames, just money.  Happy
                    165: hunting.
                    166: 
                    167:                                        Conrad Huang
                    168:                                        [email protected]
                    169:                                        Greg Couch
                    170:                                        [email protected]
                    171:                                        October 17, 1988
                    172: 
                    173: P.S.  The authors of the game want to emphasize that this version of hunt
                    174: was started over eight years ago, and the programming style exhibited here
                    175: in no way reflects the current programming practices of the authors.

unix.superglobalmegacorp.com

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