HTTPS clone URL
Subversion checkout URL
ADO ALLMAN APPLE ARM32_BROKEN_RELOCS ATT AVALON BERGAMINI BKTR_SF BOSTIC BSD CAGNEY CDC CDK CHRISTOS CITRUS CODA COLUMBIA CROOKS CRSG CSRG_contrib CSRG CVSHOME CYGNUS DARRENR DBJ DHCPCD DICKEY DMG DROCHNER EKERMIT ELRICshvfork ERYK_VERSHEN ERYK ESR EZK FILE FLEX FREDETTE FREEBSD_SMBFS FREEBSD FSF FlorianStoehr FreeBSD GCC_2_4_5 GENERIC GITHUB_JMMV GNU_EFI GNU_bc_1_03 GNU_dc_1_03 GNU GOOGLE_CODE GREENWOODSOFTWARE GWR GWR_2_3_8 HEIMDAL HM HPCMIPS HUBERTF IMAKEICIDE_II INTEL IPSEC_TOOLS IS_FPLSP_LIBM ISC ISDN4BSD JEREMY JHD_ECS JRT JSEWARD Jochen_Pohl John_M_Vinopal KAME KIENTZLE KJC KOCIELS KRISTAPS KTH_KRB LAURIKARI LBL LEFEBVRE LEMIS LIBEVENT LINUX LLVM LUA Leo MACKERRAS MALINEN MILLERT MN MOJ MOUSE MR Masaru Matthias Motorola NAWK NETBSD_I386 NETBSD NETPGP NONGNU NTFS NUDELMAN NUDLEMAN NVI NetBSD OPENBSD OPENLDAP OPENPAM OPENPGPSDK OPENSSH OPENSSL OpenBSD PAO PATHSCALE PIERMONT_NELSON PKGSRC PROVOS PROVOS00 Pfaller REDHAT RIPE SENDMAIL_INC SGI SQLITE SUN3 SYN_cache_branch SYNOPSYS Sun TAYLOR TCPDUMP TELTRONICS THORPEJ TMUX TNF TOOLS TROUSERS TZDATA UCB_JHAUSER UCSF UDEL UMD VENEMA VERN_PAXSON VJS WASABI WFJ_920714 WJF_920714 XZ Xen ZLIB abandoned_netbsd_4 ad_audiomp ad_audiomp2 ad_pmax_wscons adler agc_netpgp_standalone agc_pkgs agc_symver alice alpha_nwscons amiga_release atheros_hal before_newconf bjh21_hydra bjh21_wd33c93 bostic_nvi bouyer_ide bouyer_quota2 bouyer_scsipi bouyer_xen2 bouyer_xenamd64 bouyer_xeni386 bozohttpd briggs bsd4_4utah ccranor_mvme68k cgd chap_midi cherry_xenmp chris_arm_intr_rework christos_time_t chs_ubc chs_ubc2 cjs_build_against_obj_dir cmu_sup comdex_fall_1999 csrc_net2 csrg_net2 cube_autoconf curses_v3 darrenr dhcpcd digital draga dynamic_messages eef eeh_devprop eeh_paddr_t eeh elad_kernelauth expat ezk freebsd fsf fvdl_fs64 fvdl_softdep gdamore_uart gehenna_devsw gmcgarry_ctxsw gmcgarry_ucred gmp gwr_gdb gwr_3x3 gzip haad_dm hpcarm_cleanup ifpoll intel ipsec_tools_0_7_branch ipsec_tools_0_8_branch is_m68ktest is_newarp is itohy_usb1 ivory_soap ivory_soap2 jdc jmcneill_audiomp3 jmcneill_pm jmcneill_usbmp jmcneill jruoho_x86intr jwise jym_xensuspend kame keiichi_mipv6 kenh_if_detach kent_audio1 kent_audio2 khorben_n900 kohl kqueue ktrace_lwp leo lonhyn lukem_nsswitch2 madwifi magnum maja marc_pcmcia matt_armv6 matt_dainty matt_mips64 matt_nb4_arm matt_nb5_mips64 matt_nb5_pq3 matt_nb6_plus matt_timespec mesa_drm minoura_x68k_bus_h minoura_xpg4dl minoura mjacob mjf_devfs mjf_devfs2 mjf_ufs_trans mortalinstall mouse mpc mpfr mrg_and_rtr mrg_ohci_jmcneill_usbmp mrg_rcmd mrg_vm_object_collapse mrg_vm_swap mrg_vm_swap2 mrg mw_amiga_machdep_merge mycroft nathanw_sa netbsd_cryptosrc_intl netbsd_cryptosrc_us netbsd netbsd_0_9 netbsd_1_0 netbsd_1_1 netbsd_1_2 netbsd_1_3 netbsd_1_4 netbsd_1_5 netbsd_1_6 netbsd_2 netbsd_2_0 netbsd_2_1 netbsd_3 netbsd_3_0 netbsd_3_1 netbsd_4 netbsd_4_0 netbsd_5 netbsd_5_0 netbsd_5_1 netbsd_5_2 netbsd_6 netbsd_6_0 netbsd_6_1 netbsd_7 netbsd_7_0 newgrp_standalone newlock newlock2 nick_csl_alignment nick_hppapmap nick_net80211_sync nick_nhusb nisimura_pmax_wscons nsswitch nvm openbsd pefo perry perseant_lfsv2 peter_altq peter_eriksson phil_pc532 pkgsrc pkgviews pmax_base ppcoea_renovation ragge rcs reinoud_bufcleanup riastradh_drm2 rmind_smpnet rmind_uvmplock ross_ncr_fb1_123_merge roy rpaulo_netinet_merge_pcb rtr_xorg_branch schmorpforge scottr_mac68k_wscons scw_mvme68k_bus_space scw_mvme167 simonb_timecounters simonb_wapbl sjg sommerfeld_i386_mp_1 sommerfeld_i386mp_1 sun sun3_1_0_base sunpro thomas thorpej_atomic thorpej_bus_dma thorpej_devvp thorpej_mips_cache thorpej_scsipi thorpej_setroot thorpej_signal thorpej_syslogd_hack_branch thorpej_vnode_attr tls_earlyentropy tls_maxphys trunk uebayasi_xip vixie vmlocking vmlocking2 vtag wcurses wrstuden_devbsize wrstuden_fixsa wrstuden_revivesa ws_code yamt_idlelwp yamt_km_doc yamt_km yamt_kmem yamt_lazymbuf yamt_nfs_mp yamt_pagecache yamt_pdpolicy yamt_pf42 yamt_readahead yamt_splraiseipl yamt_uio_vmspace yamt_vop yamt_x86pmap zlib
Nothing to show
Nothing to show
Fetching latest commit...
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
What *is* hunt? Hunt is a multi-player search-and-destroy game that takes place in a maze. The game may either be slow and strategic or fast and tactical, depending on how familiar the players are with the keyboard commands. Distribution Policy: Hunt is part of the user-contributed software distributed by Berkeley in 4BSD. The sources are copyrighted by the authors and the University of California. You may redistribute freely as long as the copyright notices are retained. Words of Warning: hunt uses the socket mechanism of 4BSD Unix, so if you are on System V (my sympathies), you're on your own. If your machine does not permit non-setuid-root processes to broadcast UDP packets, then hunt uses a *very* inefficient method for locating the hunt server: it sends a packet to every host on your network. If your machine falls into this category, we strongly recommend that you use either standalone or inetd mode *and* start hunt by specifying the hunt server host. hunt can be configured to use Unix-domain sockets, but that code has not been tested in recent memory. Also, since 4.2BSD Unix-domain sockets are buggy, running hunt on 4.2BSD with Unix-domain sockets will probably crash your system. If you want to experiment, feel free to do so. However, don't say I didn't warn you :-). hunt uses a fair amount of CPU time, both in user time (for computing interactions) and system time (for processing terminal interrupts). We found that a VAX 750 can support about three users before the system is noticeably impacted. The number goes up to about 8 or 10 for a VAX 8650. On a network of Sun 3/50's with the server running on a 3/280, things work much more smoothly as the computing load is distributed across many machines. hunt may be dangerous to your health. "Arthritic pain" and "lack of circulation" in fingers have been reported by hunt abusers. Hunt may also be addictive, and the withdrawal symptoms are not pretty :-) Installation: 1. Edit file "Makefile" and make sure the options selected are reasonable. There are four "make" variables that you should check: GAME_PARAM, SYSCFLAGS, SYSLDFLAGS, and DEFS. GAME_PARAM controls what features of the game will be compiled in (e.g. reflecting walls). The optional features are listed in comments above where GAME_PARAM is defined. If you want to try them, just add the ones you want to the GAME_PARAM definition. DEFS is where most system configuration is described. If your system is 4.3BSD, Sun, Ultrix, Convex, HPUX v6.0.1, or SGI, you're in luck. We provide the appropriate definitions for these systems and you just need to select one of them (e.g. if you have an Ultrix system, just change the line DEFS= $(GAME_PARAM) $(DEFS_43) to DEFS= $(GAME_PARAM) $(DEFS_ULTRIX) ). If your system is *not* listed above, then you may need to do some experiments. All of the options are documented in the Makefile, be brave. SYSCFLAGS and SYSLDFLAGS are used for "unusual" systems and you probably won't need to deal with it. An example of an unusual system is the Silicon Graphics IRIS, which keeps the network socket code in a BSD emulation library that is in -lbsd. Edit these only if you *know* your system is "different." 2. Edit file "Makefile" and look at the "install:" target. By default, files are installed in /usr/games, /usr/games/lib, and /usr/man/man6, which are "standard" locations for games. If your system has a local games directory, you'll need to change these. 3. Edit file "pathname.c" and make sure the file names and port numbers are reasonable. You can ignore the first set of variables as they are used only for debugging purposes. The second set is used in the installed version of hunt. The important variables are "Driver" (where the server is kept), "Test_port" (the Internet UDP port number that new players should use to contact the server), and "Stat_file" (where scoring statistics and body counts are written). The only tricky variable here is "Test_port". The default value is chosen so that it is unlikely to conflict with other service port numbers, but you can change it if you want to. 4. Type "make install", which will compile and install the programs and manual pages. Now you're almost ready to go (see next section). There may be some warnings during compilation. Ignore them. Setting up the network: Hunt may be set up in one of three modes: standalone, inetd, or nothing. In "standalone" mode, there is always a hunt server running on a server machine. All players who enter the game will be talking to this server. This is the mode we use at UCSF. The cost is one entry in the process table on the server machine. In "inetd" mode, the server is started via inetd. Again, only one machine should be set up to answer game requests. The cost is having to edit a few system files. In "nothing" mode, no server is running when there is no one playing. The first person to enter hunt will automatically start up a server on his machine. This, of course, gives him an unfair advantage. Also, there may be race conditions such that players end up in different games. The choice of which mode to use depends on site configuration and politics. We recommend using "standalone" mode because it is simple to set up and starts up rapidly. ----- FOR STANDALONE MODE, put these lines in /etc/rc.local on the server machine. THERE SHOULD ONLY BE ONE SERVER MACHINE! # start up the hunt daemon if present if [ -f /usr/games/lib/huntd ]; then /usr/games/lib/huntd -s & (echo -n ' huntd') >/dev/console fi Also, you should start one up (on the off chance that you will want to test this mess :-) by typing "/usr/games/lib/hunt -s". ----- FOR INETD MODE, then things get more complicated. You need to edit both /etc/services and /etc/inetd.conf. In /etc/services, add the line hunt 26740/udp 26740 corresponds to the default "Test_port". If you changed that variable, then you should put whatever value you used here as well. In /etc/inetd.conf, add the line hunt dgram udp wait nobody /usr/games/lib/huntd huntd This works for 4.3BSD. I don't remember the configuration file format for 4.2BSD inetd. See the huntd.6 manual page for more details. ----- FOR NOTHING MODE, do nothing. Testing: Now you are ready to test the code. Type "/usr/games/hunt" or whatever you call the hunt executable. You should be prompted for your name and team. Then you should get the display of a maze. At this point, you should read the manual page :-). ====== Hunt is not officially supported by anyone anywhere (that I know of); however, bug reports will be read and bug fixes/enhancements may be sent out at irregular intervals. Send no flames, just money. Happy hunting. Conrad Huang firstname.lastname@example.org Greg Couch email@example.com October 17, 1988 P.S. The authors of the game want to emphasize that this version of hunt was started over eight years ago, and the programming style exhibited here in no way reflects the current programming practices of the authors.