
===========================================================================
                       HUNT THE WUMPUS v1.0
              SysOp Installation & Reference Manual
===========================================================================

  Original Game by Gregory Yob (1972)
  BBS Door Port by Tom Swartz - Danger Bay BBS (2026)

===========================================================================


---------------------------------------------------------------------------
  TABLE OF CONTENTS
---------------------------------------------------------------------------

  1.  Shareware / Freeware Notice
  2.  Game History
  3.  System Requirements
  4.  Door Features
  5.  File List - Distribution Package
  6.  File List - Generated at Runtime
  7.  Command Line Switches
  8.  Installation Instructions
  9.  GAME.CTL Configuration
 10.  Drop File Support
 11.  Database Seeder (SEEDDB.EXE)
 12.  How to Launch the Door
 13.  Gameplay
 14.  Scoring System
 15.  Player Rankings
 16.  Score Bulletins
 17.  Error Trapping and Logging
 18.  Multi-Node Considerations
 19.  Known Limitations
 20.  Contact Information


===========================================================================
  1.  SHAREWARE / FREEWARE NOTICE
===========================================================================

        Hunt The Wumpus - BBS Door Game is released as FREEWARE.

You are free to:
  - Install and run this door on your BBS system at no charge.
  - Distribute this package to other SysOps provided the archive is
    kept complete and unmodified.
  - Share the package on BBS systems, FTP sites, and door game archives.

You may NOT:
  - Sell this software or charge any fee for access to it.
  - Modify and redistribute the compiled executables as your own work.
  - Remove or alter this documentation or any authorship credits.

This software is provided as-is with no warranties of any kind. The
author accepts no responsibility for any data loss or system issues
arising from its use.

The original Hunt The Wumpus game concept and cave topology are the
work of Gregory Yob (1972) and remain in the public domain. This BBS
door adaptation is an original implementation and is the work of the
author.

This game utilizes the following shareware products to create this
amazing BBS door game. Many thanks to the authors:

          Turbo Pascal v7.0 - DDPlus v7.1 - B-Tree Filer v5.57a

===========================================================================
  2.  GAME HISTORY
===========================================================================

Hunt The Wumpus was created by Gregory Yob in 1972 and first published
in People's Computer Company newsletter in 1973. It was one of the
earliest text adventure / strategy games ever written and introduced
many players to computer gaming for the first time. The game was later
included in the book "Basic Computer Games" by David Ahl (1978), which
helped spread it to millions of hobbyist programmers worldwide.

The premise is simple: you are a hunter navigating a cave system of
20 interconnected rooms arranged in the shape of a dodecahedron. The
cave is home to the Wumpus - a terrifying creature that will eat you
if you stumble into its room. The cave also contains two bottomless
pits and two colonies of super bats that will carry you to a random
room if you enter theirs.

Your goal is to hunt down and slay the Wumpus using a supply of
crooked arrows that can be shot through multiple rooms. Wits and
deduction win the day - you must use sensory clues (terrible smells,
cold drafts, and the sound of bat wings) to locate hazards before
you blunder into them.

This BBS door port is a modern ANSI adaptation built for the classic
DOS BBS platform. It features full-colour ANSI graphics, a split-screen
display with an interactive fog-of-war cave map, persistent player
statistics, inter-player score bulletins, and a fully animated main
menu. It is built using Turbo Pascal v7.0, the DDPlus v7.1 door driver
library, and the B-Tree Filer v5.57a database engine.


===========================================================================
  3.  SYSTEM REQUIREMENTS
===========================================================================

  Host System:   DOS or compatible (DR-DOS, FreeDOS, DOSBox acceptable)
  Memory:        512KB conventional RAM minimum (640KB recommended)
                 EMS optional (use /E switch to enable)
  Display:       80x24 terminal with ANSI colour support required
  Serial:        COM1-COM4 supported via internal async driver
                 FOSSIL driver supported (X00, BNU, Netfoss, etc.)
  BBS Software:  Any BBS that can generate a supported drop file
                 (see section 10 for supported drop file formats)

  The door uses overlays to minimise memory usage.

===========================================================================
  4.  DOOR FEATURES
===========================================================================

  COMMUNICATION DRIVERS
  - Internal async driver (COM1-COM4, non-standard ports supported)
  - FOSSIL driver support (X00, BNU, Netfoss, etc.)
  - DigiBoard multi-port support
  - Carrier detect monitoring (auto-exit on carrier drop)
  - Baud rate lock (/B switch)
  - Configurable COM port (/C switch)

  DISPLAY
  - Full ANSI colour graphics throughout (80x24)
  - Animated main menu with random wandering creature
  - Split-screen play area: cave map (left) + game panel (right)
  - Fog-of-war cave map with room reveal as player explores
  - Colour-coded hazard warnings and game messages
  - Scrolling message history with dimmed previous moves
  - ANSI screen files for intro, death, monster, arrow, and main menu
  - Three ANSI score bulletin screens

  GAMEPLAY
  - Authentic Gregory Yob (1972) dodecahedron cave topology
  - 20 rooms, exactly 3 tunnels per room
  - 1 Wumpus, 2 bottomless pits, 2 super bat colonies per game
  - 5 crooked arrows per game, each shootable through up to 5 rooms
  - Arrow bounce logic (random redirect if invalid room specified)
  - Fog of war (unvisited rooms shown as "?")
  - Wumpus wakes and moves on a missed shot (75% chance)
  - Play again prompt after each game

  PLAYER DATABASE
  - Persistent B-Tree Filer database (DATA\PLAYERS)
  - Tracks: wins, deaths, best moves, best time, games played, last played
  - Case-insensitive player name matching
  - Auto-creates player record on first game
  - DOS compliant file I/O access

  SCORE BULLETINS
  - Three ranked leaderboards generated automatically on game exit:
      WUMP-01.ANS  Top 15 by total wins
      WUMP-02.ANS  Top 15 by fastest win time (Speed Champions)
      WUMP-03.ANS  Top 15 by fewest moves to win (Most Efficient)
  - Full ANSI colour formatting
  - Viewable from main menu [S]cores option
  - Current player's rank shown on screen if outside the top 15

  MAIN MENU
  - Animated ANSI main menu with wandering Wumpus
  - Options: Enter Cave, Instructions, Scores, Credits, Quit to BBS

  LOGGING
  - WUMPUS.LOG records all game sessions, errors, and database events
  - Auto-trims to 500 lines to prevent unbounded growth

  MULTI-NODE
  - Node number support via /N switch
  - Multiple config files via /M switch (GAME1.CTL, GAME2.CTL, etc.)
  - Database opens in read-only mode for bulletin scans
  - Note: simultaneous database WRITES from multiple nodes are not
    safe without SHARE.EXE or a network-aware build (see section 18)


===========================================================================
  5.  FILE LIST - DISTRIBUTION PACKAGE
===========================================================================

  WUMPUS.EXE       Main door executable
  WUMPUS.OVR       Main door overlay
  WUMPUS.LOG       Event/Error logging
  SEEDDB.EXE       Player database seeder utility
  GAME.CTL         DDPlus door configuration file (edit before use)
  GAME9.CTL        DDPlus door configuration file (for local login)
  LOCAL.BAT        Batch file - run in local mode
  SAMPLE.BAT       Batch file - run in BBS mode
  FILE_ID.DIZ      Game description for BBS files list.
  SYSOP.TXT        This installation manual
  LOCAL.BAT        Local login batch file

  ANSI\
    MAINMENU.ANS   Animated main menu screen
    WUMPUS.1       Game title screen #1
    WUMPUS.2       Game title screen #2
    WUMPUS.3       Game title screen #3
    WUMPUS.4       Game title screen #4
    INTRO.ANS      Game introduction screen
    ARROW.ANS      Arrow fired animation screen
    BAT.ANS        Bat swoop screen
    DEAD.ANS       Player death screen
    MONSTER.ANS    Wumpus attack screen
    HELP.ANS       In-game instructions screen
    HELP.TXT       In-game instructions text
    CREDITS.ANS    Author credits screen
    SCORES.ANS     Score bulletin selection menu


===========================================================================
  6.  FILE LIST - GENERATED AT RUNTIME
===========================================================================

  The following files and directories are created automatically by the
  door during normal operation. Do NOT delete these while the door is
  running.

  WUMPUS.LOG             Session log (auto-trims to 500 lines)

  DATA\
    PLAYERS.DAT          B-Tree Filer player database (data file)
    PLAYERS.IDX          B-Tree Filer player database (index file)

  BULLETIN\
    WUMP-01.ANS          Leaderboard: Top 15 by wins
    WUMP-02.ANS          Leaderboard: Top 15 by fastest time
    WUMP-03.ANS          Leaderboard: Top 15 by fewest moves

  The DATA\ and BULLETIN\ directories are created automatically on
  first run if they do not already exist.

  IMPORTANT: The DATA\ directory contains the player database. Back
  this up regularly. Deleting PLAYERS.DAT and PLAYERS.IDX files will 
  permanently erase all player statistics and reset the scores.


===========================================================================
  7.  COMMAND LINE SWITCHES
===========================================================================

  USAGE:  WUMPUS.EXE [switches]

  HELP
  /?              Display command line help and exit
  /H              Display command line help and exit

  BBS / DOOR MODE SWITCHES (handled by DDPlus)
  /L              Local mode - run on SysOp console, no modem required
  /Nx             Node number (e.g. /N1, /N2, /N3)
  /Bxxxxx         Lock baud rate (e.g. /B9600, /B38400, /B115200)
  /Cx             COM port number (e.g. /C1, /C2, /C3, /C4)
  /E              Use EMS memory for overlay buffer (if available)
  /F              Maintenance mode (logs in as SYSTEM MAINTENANCE)
  /Mx             Use alternate config file (e.g. /M2 uses GAME2.CTL)
  /Ppath          Path to drop file directory (e.g. /PC:\BBS\NODE1)
  /R              Force local RIP display (use after /L)
  /V              No local display (remote colour only)
  /W              Flag network present (Novell, etc.)


  EXAMPLES:

  WUMPUS.EXE                    Normal BBS mode (reads drop file)
  WUMPUS.EXE /L                 Local mode for SysOp testing
  WUMPUS.EXE /L /N2             Local mode as node 2
  WUMPUS.EXE /N1 /B38400        Node 1, locked at 38400 baud
  WUMPUS.EXE /N2 /B115200 /C2   Node 2, 115200 baud, COM2
  WUMPUS.EXE /PC:\BBS\NODE1     Drop file in C:\BBS\NODE1
  WUMPUS.EXE /M2                Use GAME2.CTL for node 2
  WUMPUS.EXE /?                 Show help screen


  RECOMMENDED SETTINGS:

  WUMPUS.EXE /E /N1 /PC:\BBS\NODE1

 
===========================================================================
  8.  INSTALLATION INSTRUCTIONS
===========================================================================

  STEP 1 - CHOOSE AN INSTALL DIRECTORY
  -------------------------------------
  Create a directory for the door on your BBS system. Example:

    MD C:\BBS\DOORS\WUMPUS

  Copy all files from the distribution package into this directory,
  preserving the subdirectory structure (ANSI\ must be a subdirectory
  of the door's main directory).

  Your directory structure should look like this:

    C:\DOORS\WUMPUS\
      WUMPUS.EXE
      WUMPUS.OVR
      WUMPUS.LOG
      LOCAL.BAT
      GAME.CTL
      GAME9.CTL
      LOCAL.BAT
      SAMPLE.BAT
      SYSOP.TXT
      FILE_ID.DIZ
      ANSI\
        MAINMENU.ANS
        WUMPUS.1
        WUMPUS.2
        WUMPUS.3
        WUMPUS.4
        ARROW.ANS
        DEAD.ANS
        MONSTER.ANS
        HELP.ANS
        INTRO.ANS
        CREDITS.ANS
        SCORES.ANS

  STEP 2 - EDIT GAME.CTL
  ----------------------
  Open GAME.CTL in a text editor and configure it for your BBS
  software. At minimum, set the correct BBS TYPE and drop file path.
  See section 9 for full configuration details.

  STEP 3 - TEST IN LOCAL MODE
  ----------------------------
  Before going live, test the door from the SysOp console:

    CD C:\DOORS\WUMPUS
    WUMPUS.EXE /E /L

  Verify the main menu animation runs, all menu options work, the game
  plays correctly, and score bulletins generate after a game.

  STEP 4 - CONFIGURE YOUR BBS TO LAUNCH THE DOOR
  ------------------------------------------------
  Add the door to your BBS using the appropriate door setup method
  for your software. A typical door launch command looks like:

    C:\DOORS\WUMPUS\WUMPUS.EXE /E /N%NODE% /P%DROPPATH%

  Replace %NODE% and %DROPPATH% with your BBS software's node number
  and drop file path macros. Consult your BBS documentation.

  For single-node systems a simpler command works:

    C:\DOORS\WUMPUS\WUMPUS.EXE /E /N1 /PC:\BBS

  STEP 5 - GENERATE INITIAL BULLETINS
  ------------------------------------
  After the first player has completed a game the BULLETIN\ directory
  and all three .ANS leaderboard files will be generated automatically
  on exit.

  To display the bulletins in your BBS's file areas or newfile scan,
  point your BBS to the BULLETIN\ subdirectory of the door.


===========================================================================
  9.  GAME.CTL CONFIGURATION
===========================================================================

  GAME.CTL is the standard DDPlus door configuration file. Open it
  with any text editor. Key settings are:

  Sysopfirst      Specifies the first name of the sysop as it will be shown 
                  to the users.

  SysopLast       Specifies the last name of the sysop as it will be shown 
                  to the users.

  BBSName         Specifies the name of the bbs as it will be shown to users.

  BBSTYPE         Set to match your BBS software:
                    1 = PCBoard
                    2 = RBBS
                    3 = GAP
                    4 = QBBS / Remote Access
                    5 = Wildcat
                    6 = TBBS
                    7 = Spitfire
                    8 = SuperBBS
                    9 = SBBS / Synchronet
                   10 = DOOR.SYS (generic)
                   See DDPlus documentation for full list.

  COMPORT         For bbs types that do not have the com-port contained in 
                  their door information files you will have to specify the 
                  com-port. Simply put the port number (i.e. 1,2,etc) not 
                  the whole word COM1.

  LOCKBAUD        This will specify a locked baud rate. If you specify this
                  parameter, then no matter what the bbs software says, this
                  baud rate will be used. [NOTE: You can also specify the 
                  locked baud rate using /Bxxxx from the command line]

  Xfossil         This is another way of selecting the fossil option. This 
                  method can support all speeds that your fossil can support.
                  The fossil is not initialized by this option.


  Refer to the DDPlus documentation included with your DDPlus
  distribution for full GAME.CTL option descriptions.


===========================================================================
 10.  DROP FILE SUPPORT
===========================================================================

  Hunt The Wumpus reads player information (name, time remaining,
  graphics setting, COM port, baud rate) from your BBS drop file.
  The following drop file formats are supported via DDPlus:

    DOOR.SYS          Most common format (generic door support)
    DORINFOx.DEF      RBBS and compatible BBS software
    PCBOARD.SYS       PCBoard 14.x / 15.x
    SFDOORS.DAT       Spitfire BBS
    CHAIN.TXT         Synchronet BBS
    TRIBBS.SYS        TriBBS
    INFO.BBS          Gap BBS / other GAP-compatible systems
    JUMPER.DAT        JumperBBS

  The BBSTYPE setting in GAME.CTL tells DDPlus which drop file to
  look for. The /P command line switch sets the directory path where
  the drop file is located.

  The player's BBS handle (first name + last name from the drop file)
  is used as their game identity and database key. Names are stored
  and matched case-insensitively.


===========================================================================
 11.  DATABASE SEEDER (SEEDDB.EXE)
===========================================================================

  SEEDDB.EXE is a standalone utility that populates the player database
  with sample players so your leaderboards are not empty when the door
  first goes live. This improves the experience for early players who
  would otherwise see blank score screens. It can also be used to 
  reset the player database and the score bulletins.

  USAGE:
    CD C:\BBS\DOORS\WUMPUS
    SEEDDB.EXE

  SEEDDB will:
    - Create the DATA\ directory if it does not exist
    - Create the player database if it does not exist
    - Add up to 30 sample players with varied stats
    - Skip any player that already exists in the database
    - Report the number of players added and skipped

  It is safe to run SEEDDB multiple times. Existing records are never
  modified or deleted. Run it again after deleting the database to
  repopulate from scratch.

  TO RESET THE DATABASE COMPLETELY:
    1. Stop all active sessions
    2. Delete DATA\PLAYERS.DAT and DATA\PLAYERS.IDX
    3. Run SEEDDB.EXE to rebuild

  WARNING: Deleting the database files permanently destroys all player
  statistics. Make a backup first.


===========================================================================
 12.  HOW TO LAUNCH THE DOOR
===========================================================================

  The door is launched by your BBS software as a standard door game.
  The working directory MUST be set to the door's installation
  directory (where WUMPUS.EXE lives) before launching. This is
  because the door opens files by relative path (ANSI\, DATA\,
  BULLETIN\, GAME.CTL, WUMPUS.LOG) and these paths are relative to
  the working directory at launch time.

  TYPICAL BATCH FILE (for BBS software that uses batch files):

    @ECHO OFF
    CD C:\BBS\DOORS\WUMPUS
    WUMPUS.EXE /E /N%1 /P%2

  Where %1 is the node number and %2 is the drop file path, passed
  in by your BBS software.

  FOR LOCAL SYSOP TESTING:

    CD C:\DOORS\WUMPUS
    WUMPUS.EXE /E /L

  The /L switch bypasses drop file reading and runs entirely on the
  local console. Your SysOp handle will be read from GAME.CTL or
  defaulted to "Hunter" if unavailable.


===========================================================================
 13.  GAMEPLAY
===========================================================================

  OBJECTIVE
  ----------
  Navigate the 20-room dodecahedron cave, locate the Wumpus using
  sensory clues, and kill it with a crooked arrow before it finds
  you, you fall into a pit, or the bats carry you to your doom.

  THE CAVE
  ---------
  The cave has 20 rooms arranged in the shape of a dodecahedron.
  Each room has exactly 3 tunnels connecting it to 3 other rooms.
  The cave layout is fixed (the original Yob topology) but the
  positions of the Wumpus, bats, and pits are randomised each game.

  HAZARDS
  --------
  The Wumpus    Lurks in one room. If you enter its room, it eats
                you. If you shoot an arrow that misses, there is a
                75% chance the Wumpus wakes and moves to an adjacent
                room - possibly into yours.

  Bottomless    Two rooms contain bottomless pits. Fall in and you
  Pits          die instantly.

  Super Bats    Two rooms contain super bat colonies. Enter one and
                the bats grab you and drop you in a random room.
                That room may contain another hazard.

  SENSORY CLUES
  --------------
  You feel a cold draft       A pit is in an adjacent room
  You smell something terrible  The Wumpus is in an adjacent room
  You hear flapping of wings  Bats are in an adjacent room

  Clues warn about adjacent rooms only. If multiple hazards are
  adjacent you may receive multiple warnings on the same turn.

  THE MAP
  --------
  The left panel shows a map of the cave. Rooms you have visited
  are shown with their room number. Unvisited rooms appear as "?"
  when adjacent to a room you have been in (fog of war). Tunnels
  between known rooms are drawn as dotted lines.

  Your current position is shown as [NN] in cyan on the map.
  When the game ends and you die, the Wumpus's room is revealed
  as [W] in red.

  COMMANDS
  ---------
  [M] Move      Move to an adjacent room. You will be prompted for
                a room number. Only rooms connected by a tunnel to
                your current room are valid. Entering an invalid
                room number shows a brief warning and returns to
                the command prompt - it does not count as a move.

  [S] Shoot     Fire a crooked arrow. You will be prompted to
                enter 1-5 room numbers separated by spaces. The
                arrow will fly through each room in order. If a
                room you specify is not adjacent to the arrow's
                current position, the arrow bounces to a random
                adjacent room instead. You have 5 arrows per game.
                Running out of arrows ends the game.

  [?] Help      Show the in-game instructions screen.

  [Q] Quit      Quit the current game and return to the main menu.

  MAIN MENU
  ----------
  [E]  Enter The Cave    Start a new game (shows intro screen first)
  [I]  Instructions      View the help / instructions screen
  [S]  Scores            View the three score leaderboards
  [C]  Credits           View the credits screen
  [Q]  Quit to BBS       Exit the door and return to the BBS


===========================================================================
 14.  SCORING SYSTEM
===========================================================================

  Player statistics are stored persistently in the player database.
  The following stats are tracked per player:

  Wins          Total number of games won (Wumpus slain)
  Deaths        Total number of games lost
  Best Moves    Fewest moves used to win a single game
  Best Time     Fastest winning game time (in seconds)
  Games Played  Total games played (wins + losses)
  Win %         Wins divided by games played (calculated on display)
  Last Played   Date of most recent game (MM/DD/YY format)

  A player record is created automatically the first time a player
  completes a game. Stats are updated at the end of every game
  regardless of outcome (win, loss, or timeout).

  Best Moves and Best Time are only updated on a WIN. Dying or
  quitting does not affect these personal best values.

  Stats are updated immediately on game exit and are reflected in
  the score bulletins the next time bulletins are regenerated.


===========================================================================
 15.  PLAYER RANKINGS
===========================================================================

  When a player views a score bulletin from the [S]cores main menu
  option, the door checks whether the current player appears in the
  displayed top 15. If they do NOT appear (their rank is 16 or
  higher), their own entry is displayed at the bottom of the bulletin
  screen on row 22, showing their actual rank position and stats.

  This gives players who are not yet on the leaderboard a clear
  indication of where they stand relative to the top players.

  Players with zero wins do not appear in this ranking display since
  they have no qualifying statistics for any of the three leaderboards.

  If a player IS already in the top 15 for that bulletin, no extra
  row is shown (they are already visible in the main list).

  The ranking is recalculated live each time the bulletin is viewed,
  so it always reflects the most current database state.


===========================================================================
 16.  SCORE BULLETINS
===========================================================================

  Three ANSI score bulletin files are generated automatically in the
  BULLETIN\ subdirectory each time a player exits the game after
  playing at least one game. The bulletins are regenerated fresh
  from the full database each time.

  WUMP-01.ANS  -  TOP WUMPUS HUNTERS (sorted by total wins, descending)
  Columns: Rank, Player Name, Wins, Games Played, Win%

  WUMP-02.ANS  -  SPEED CHAMPIONS (sorted by fastest win time, ascending)
  Columns: Rank, Player Name, Best Time, Moves, Date

  WUMP-03.ANS  -  MOST EFFICIENT HUNTERS (sorted by fewest moves, ascending,
                  then by fastest time as tiebreaker)
  Columns: Rank, Player Name, Best Moves, Best Time, Wins

  Each bulletin shows the top 15 qualifying players. Only players with
  at least 1 win are included in any bulletin.

  The bulletin files can also be displayed by your BBS software as
  regular bulletin files (many BBS systems can show .ANS files in
  their bulletin menus). Point your BBS bulletin display to the
  BULLETIN\ directory.

  NOTE: If no players have won any games yet, each bulletin will
  display "No qualifying players yet." in place of the rankings.
  

===========================================================================
 17.  ERROR TRAPPING AND LOGGING
===========================================================================

  All significant events are recorded in WUMPUS.LOG in the door's
  working directory. The log file is automatically trimmed to the
  most recent 500 lines to prevent unbounded growth.

  LOG ENTRY TYPES

  === ENTERED ===    Player started a session
  === EXITED ===     Player ended a session (includes reason and move count)
  SOLVED:            Player won a game (includes moves and time)
  DIED:              Player died (includes move count)
  INFO:              Informational event (e.g. bulletins generated)
  WARNING:           Non-fatal issue (e.g. database write failed)
  ERROR:             Serious problem (e.g. database open failed)
  DEBUG:             Diagnostic output (only present during debugging)

  COMMON WARNINGS AND THEIR CAUSES

  ERROR: DBSavePlayer BTAddRec IsamError=10398
    The player record could not be saved because a record with that
    slot number already exists. This typically means the player's
    name key is missing from the index (database corruption). Delete
    and reseed the database to resolve.

  WARNING: BulScan BTOpenFileBlock failed IsamError=N
    The bulletin scanner could not open the database. Check that
    DATA\PLAYERS.DAT and DATA\PLAYERS.IDX exist and are not locked
    by another process.

  WARNING: DBGetTopByWins BTInitIsam failed IsamError=N
    B-Tree Filer could not initialise. This may indicate insufficient
    memory or a file permission issue.

  WARNING: Cannot create BULLETIN directory
    The door cannot create the BULLETIN\ subdirectory. Check that
    the door's working directory is writable.

  WARNING: Cannot create DATA directory
    The door cannot create the DATA\ subdirectory. Check directory
    permissions.

  IsamError codes are B-Tree Filer internal error numbers. The most
  common values are:

    9004   File not found (database does not exist yet)
   10002   Unexpected end of file (database may be corrupt)
   10200   Duplicate key (attempted to add a key that already exists)
   10398   Duplicate record number (record slot already in use)

  If you encounter persistent database errors, the safest resolution
  is to back up the database, delete PLAYERS.DAT and PLAYERS.IDX,
  run SEEDDB.EXE to rebuild, and restore your backup if you have one.


===========================================================================
 18.  MULTI-NODE CONSIDERATIONS
===========================================================================

  Hunt The Wumpus supports multiple simultaneous nodes through the /N
  and /M command line switches. Each node should use a unique node
  number (/N1, /N2, etc.) and may optionally use a separate config
  file (/M1, /M2, etc.) with node-specific drop file paths (/P).

  DATABASE CONCURRENCY

  The player database is opened in exclusive mode during game result
  saves (DBRecordResult). On a single-node system or when games are
  unlikely to end simultaneously, this is acceptable.

  For true multi-node safety where multiple players may finish games
  at the same time, it is recommended to run SHARE.EXE before
  launching any node sessions. SHARE.EXE enables DOS file locking:

    SHARE.EXE /F:4096 /L:20

  Without SHARE.EXE, simultaneous writes from two nodes could
  potentially corrupt the database. Bulletin reads are done in
  read-only mode and are safe from multiple nodes at any time.

  BULLETIN GENERATION

  Bulletins are regenerated by every node that completes a game. On
  a busy multi-node system this means multiple nodes may attempt to
  write the same bulletin files simultaneously. This is a low risk
  since writes are fast and infrequent, but for maximum safety
  consider a scheduled external bulletin generation approach if
  you have many simultaneous players.


===========================================================================
 19.  KNOWN LIMITATIONS
===========================================================================

  - The cave map layout is fixed (original Yob dodecahedron). There
    is no option to randomise the topology between games.

  - The game runs in 80x24 terminal mode. Terminals larger than 80
    columns or fewer than 24 rows will display incorrectly. Ensure
    your BBS forces 80x24 before launching the door.

  - ANSI graphics are required. Players with ANSI disabled will see
    raw escape codes. The BBS should only offer this door to callers
    who have ANSI graphics enabled.

  - The RIP graphics mode (/R switch) is present in DDPlus but the
    door does not include RIP screen files. The switch is accepted
    without error but has no effect on display.

  - Player names are limited to 25 characters. Names longer than 25
    characters will be truncated at the database level.

  - Win% on bulletin 1 is calculated as integer division. A player
    with 1 win from 3 games shows 33% (not 33.3%).

  - The score bulletins only include players with at least 1 win.
    Players who have played but never won do not appear on any
    leaderboard.


===========================================================================
 20.  CONTACT INFORMATION
===========================================================================

  Hunt The Wumpus
  Developed by Tom Swartz

  Danger Bay BBS - telnet://dangerbaybbs.dyndns.org:1337
  Facebook - https://www.facebook.com/groups/dangerbaybbs
  EMail - dangerbaybbs@hotmail.com

  Bug reports, suggestions, and feedback are welcome. Please include
  your WUMPUS.LOG file (or the relevant portion) when reporting issues,
  along with a description of your BBS software, DOS version, and the
  exact error or unexpected behaviour you observed.

  Screenshots are very helpful.

  When reporting database errors, include the full IsamError number
  from the log and indicate whether SHARE.EXE is running on your system.

  Latest version of this door will be available on Danger Bay BBS
  in the door game files section.


===========================================================================
  END OF SYSOP INSTALLATION MANUAL
  Hunt The Wumpus v1.0
  (c) 2026 Tom Swartz / Danger Bay BBS - All Rights Reserved
===========================================================================
