Files
nethack/doc/nethack.txt
2024-12-26 17:34:18 -05:00

290 lines
16 KiB
Plaintext

NETHACK(6) Games Manual NETHACK(6)
NAME
nethack - Exploring The Mazes of Menace
SYNOPSIS
nethack [ -d|--directory directory ] [ -w|--windowtype interface ]
[ --nethackrc:RC-file | --no-nethackrc ] [ -n ] [ -dec | -ibm ]
[ -u playername ] [ -X | -D ] [ -p profession ] [ -r race ] [ -@ ]
Also [ -A|-Arc | -B|-Bar | -C|-Cav | -H|-Hea | -K|-Kni | -M|-Mon |
-P|-Pri | -R|-Rog | -Ran | -S|-Sam | -T|-Tou | -V|-Val | -W|-Wiz ]
nethack [ -d|--directory directory ] -s|--scores [ -v ]
[ -p profession ] [ -r race ] [ playernames ]
nethack [ --usage | --help ] [ --showpaths ]
[ --version[:copy|:dump|:show] ]
DESCRIPTION
NetHack is a display oriented Dungeons & Dragons(tm) - like game. The
standard tty display and command structure resemble rogue.
Other, more graphical display options exist for most platforms.
To get started you really only need to know two commands. The command
? will give you a list of the available commands (as well as other
information) and the command / will identify the things you see on the
screen.
To win the game (as opposed to merely playing to beat other people's
high scores) you must locate the Amulet of Yendor which is somewhere
below the 20th level of the dungeon and get it out. Few people achieve
this; most never do. Those who have done so go down in history as
heroes among heroes -- and then they find ways of making the game even
harder. See the Guidebook section on Conduct if this game has gotten
too easy for you.
When the game ends, whether by your dying, quitting, or escaping from
the caves, NetHack will give you (a fragment of) the list of top scor-
ers. The scoring is based on many aspects of your behavior, but a
rough estimate is obtained by taking the amount of gold you've found in
the cave plus four times your (real) experience. Precious stones may
be worth a lot of gold when brought to the exit. There is a 10% pen-
alty for getting yourself killed.
The environment variable NETHACKOPTIONS can be used to initialize many
run-time options. The ? command provides a description of these
options and syntax. (The -dec and -ibm command line options are mutu-
ally exclusive and are equivalent to the decgraphics and ibmgraphics
run-time options described there, and are provided purely for conve-
nience on systems supporting multiple types of terminals.)
Because the option list can be very long, options may also be included
in a configuration file. The default is located in your home directory
and named .nethackrc on UNIX systems (including descendants such as
linux, NetBSD, and macOS). On Windows, the name is also .nethackrc but
the location can vary (see --showpaths below). On other systems, the
default may be different, possibly NetHack.cnf. On MS-DOS, the name is
defaults.nh in NetHack's directory (folder), while on VMS|OpenVMS it is
nethack.ini in your home directory. The default configuration file may
be overridden via the --nethackrc:rc-file command line option or by
setting NETHACKOPTIONS in your environment to a string consisting of an
@ character followed by the path and filename.
The -u playername option supplies the answer to the question "Who are
you?". It overrides any name from the options or configuration file,
USER, LOGNAME, or getlogin(), which will otherwise be tried in order.
If none of these provides a useful name, the player will be asked for
one. Player names (in conjunction with uids) are used to identify save
files, so you can have several saved games under different names. Con-
versely, you must use the appropriate player name to restore a saved
game.
A playername suffix can be used to specify the profession, race, align-
ment and/or gender of the character. The full syntax of the playername
that includes a suffix is "name-ppp-rrr-aaa-ggg". "ppp" are at least
the first three letters of the profession (this can also be specified
using a separate -p profession option). "rrr" are at least the first
three letters of the character's race (this can also be specified using
a separate -r race option). "aaa" are at least the first three letters
of the character's alignment, and "ggg" are at least the first three
letters of the character's gender. Any of the parts of the suffix may
be left out.
-p profession can be used to determine the character profession, also
known as the role. You can specify either the male or female name for
the character role, or the first three characters of the role as an
abbreviation.
Likewise, -r race can be used to explicitly request that a race be cho-
sen.
The -A|-Arc | -B|-Bar | -C|-Cav | -H|-Hea | -K|-Kni | -M|-Mon | -P|-Pri
| -R|-Rog | -Ran | -S|-Sam | -T|-Tou | -V|-Val | -W|-Wiz options for
role selection are maintained for compatibility with older versions of
the program. They are mutually exclusive and the single-letter form
must be uppercase. Ranger has no single-letter choice because -R is
already used for the Rogue role.
-@ tells nethack to choose any omitted characteristics (profes-
sion/role, race, gender, alignment) randomly without prompting. Other-
wise, leaving out any of these characteristics will result in you being
prompted during game startup for the information.
The -n option suppresses printing of any news from the game administra-
tor.
The -X option will start the game in a special non-scoring discovery
mode (also known as explore mode). -D will start the game in debug
mode (also known as wizard mode) after changing the character name to
"wizard", if the player is allowed. Otherwise it will switch to -X.
Control of who is allowed to use debug mode is done via the "WIZARDS="
line in nethack's sysconf file.
The -d or --directory option, which must be the first argument if it
appears, supplies a directory which is to serve as the playground. It
overrides the value from NETHACKDIR, HACKDIR, or the directory speci-
fied by the game administrator during compilation (usually
/usr/games/lib/nethackdir). This option is usually only useful to the
game administrator. The playground must contain several auxiliary
files such as help files, the list of top scorers, and a subdirectory
save where games are saved.
The -w or --windowtype interface option can be used to specify which
interface to use if the program has been built with support for more
than one. Specifying a value on the command line overrides any value
specified in the run-time configuration file. NetHack's #version com-
mand shows available interfaces.
The --nethackrc:RC-file option will use RC-file instead of the default
run-time configuration file (typically ~/.nethackrc) and the
--no-nethackrc option can be used to skip any run-time configuration
file.
Some options provide feedback and then exit rather than play the game:
The -s or --scores option alone will print out the list of your scores
on the current version. An immediately following -v reports on all
versions present in the score file. '-s|-s -v' may also be followed by
arguments -p profession and -r race to print the scores of particular
roles and races only. Either can be specified multiple times to
include more than one role or more than one race. When both are speci-
fied, score entries which match either the role or the race (or both)
are printed rather than just entries which match both. '-s|-s -v' may
be followed by one or more player names to print the scores of the
players mentioned, by 'all' to print out all scores, or by a number to
print that many top scores. Combining names with role or race or both
will report entries which match any of those rather than just the ones
which match all.
--version or --version:show can be used to cause NetHack to show the
version number, the date and time that the program was built from its
source code, and possibly some auxiliary information about that source
code, then exit. The optional auxiliary information is git commit hash
(reflecting the source code's most recent modification when extracted
from the git version control system, if that is in use) if available
when the program was built. On some platforms such as Windows and
macOS, a variation, --version:copy, can be used to cause NetHack to
show the version information, then exit, while also leaving a copy of
that information in the paste buffer or clipboard for potential inser-
tion into things like bug reports. On any platform, --version:dump can
be used to show most of the data used when checking whether a save file
or bones file is compatible with the program. The program will display
a line containing five numbers expressed in hexadecimal, then exit.
--showpaths can be used to cause NetHack to show where it is expecting
to find various files. Among other things it shows the path to and
name for the player's run-time configuration file, a text file which
can be edited to customize aspects of how the game operates.
--usage or --help will display information similar to this manual page,
then exit. Use 'nethack --usage | more' to read it a page at a time.
AUTHORS
Jay Fenlason (+ Kenny Woodland, Mike Thome and Jon Payne) wrote the
original hack, very much like rogue (but full of bugs).
Andries Brouwer continuously deformed their sources into an entirely
different game.
Mike Stephenson has continued the perversion of sources, adding various
warped character classes and sadistic traps with the help of many
strange people who reside in that place between the worlds, the Usenet
Zone. A number of these miscreants are immortalized in the historical
roll of dishonor and various other places.
The resulting mess is now called NetHack, to denote its development by
the Usenet. Andries Brouwer has made this request for the distinction,
as he may eventually release a new version of his own.
FILES
Run-time configuration options were discussed above and use a platform
specific name for a file in a platform specific location. For Unix,
the name is '.nethackrc' in the user's home directory.
All other files are in the playground directory, normally
/usr/games/lib/nethackdir. If DLB was defined during the compile, the
data files and special levels will be inside a larger file, normally
nhdat, instead of being separate files.
nethack The program itself.
Guidebook | Guidebook.txt NetHack's user manual.
data, oracles, rumors Data files used by NetHack.
bogusmon Another data file.
engrave, epitaph, tribute Still more data files.
symbols Data file holding sets of specifications
for how to display monsters, objects, and
map features.
options Data file containing a description of the
build-time option settings.
help, hh, cmdhelp Help data files. ('cmdhelp' is obsolete.)
opthelp, optmenu, wizhelp More help data files.
keyhelp, usagehlp Even more help data files.
*.lua Predefined special levels, dungeon control
for special levels, quest texts.
history A short history of NetHack.
license Rules governing redistribution.
record The list of top scorers.
logfile An extended list of games played
(optional).
xlogfile A more detailed version of 'logfile'
(also optional).
paniclog Record of exceptional conditions
discovered during program execution.
xlock.nn Description of dungeon level 'nn' of
active game 'x' if there's a limit on the
number of simultaneously active games.
UUcccccc.nn Alternate form for dungeon level 'nn'
of active game by user 'UU' playing
character named 'cccccc' when there's no
limit on number of active games.
perm Lock file for xlock.0 or UUcccccc.0.
bonD0.nn Descriptions of the ghost and belongings
of a deceased adventurer who met his or
her demise on level 'nn'. A subsequent
character might encounter this old level.
save/ A subdirectory containing saved games.
sysconf System-wide options. Required if
program is built with 'SYSCF' option
enabled, ignored if not.
The location of 'sysconf' is specified at build time and can't be
changed except by updating source file "config.h" and rebuilding the
program.
NetHack's Guidebook might not be present if whoever packaged or
installed the program distribution neglected to include it.
In a perfect world, 'paniclog' would remain empty.
ENVIRONMENT
USER or LOGNAME Your login name.
HOME Your home directory.
SHELL Your shell.
TERM The type of your terminal.
HACKPAGER or PAGER Replacement for default pager.
MAIL Mailbox file.
MAILREADER Replacement for default reader
(probably /bin/mail or /usr/ucb/mail).
NETHACKDIR or HACKDIR Playground.
NETHACKOPTIONS String predefining several NetHack options.
If the same option is specified in both NETHACKOPTIONS and .nethackrc,
the value assigned in NETHACKOPTIONS takes precedence.
SHOPTYPE and SPLEVTYPE can be used in debugging (wizard) mode.
DEBUGFILES can be used if the program was built with 'DEBUG' enabled.
SEE ALSO
recover(6)
BUGS
Probably infinite.
COPYRIGHT
This file is Copyright (C) Robert Patrick Rankin, 2024 for version
NetHack-3.7:1.31. NetHack may be freely redistributed. See license
for details.
Dungeons & Dragons is a Trademark of Wizards of the Coast, Inc.
NETHACK 25 December 2024 NETHACK(6)