nethack - Exploring The Mazes of Menace
nethack [ -d directory ] [ -n ] [ -p profession (role) ] [ -r race ] [
-[DX] ] [ -u playername ] [ -dec ] [ -ibm ]
nethack [ -d directory ] -s [ -v ] [ -p profession (role) ] [ -r race ]
[ playernames ]
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 if you are using either a
PC, or an X11 interface.
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
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. Nobody has
achieved this yet; anybody who does will probably go down in history as
a hero among heros.
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
scorers. 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%
penalty 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
equivalent to the decgraphics and ibmgraphics run-time options
described there, and are provided purely for convenience on systems
supporting multiple types of terminals.)
Because the option list can be very long (particularly when specifying
graphics characters), options may also be included in a configuration
file. The default is located in your home directory and named
.nethackrc on Unix systems. On Debian systems, use .nethackrc.gnome
for the Gnome windowing port, use .nethackrc.x11 for the X11 windowing
port, and use .nethackrc.qt for the QT windowing port. You can use
.nethackrc.tty for the non-graphical version. The configuration file’s
location may be specified by setting NETHACKOPTIONS to a string
consisting of an @ character followed by the 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.
Conversely, you must use the appropriate player name to restore a saved
A playername suffix can be used to specify the profession, race,
alignment 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 last 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 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. -p @ has been
retained to explicitly request that a random role be chosen. It may
need to be quoted with a backslash (\@) if @ is the "kill" character
(see "stty") for the terminal, in order to prevent the current input
line from being cleared.
Likewise, -r race can be used to explicitly request that a race be
Leaving out any of these characteristics will result in you being
prompted during the game startup for the information.
The -s 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. The -s may also be followed by arguments -p
and -r to print the scores of particular roles and races only. It may
also 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.
The -n option suppresses printing of any news from the game
The -D or -X option will start the game in a special non-scoring
discovery mode. -D will, if the player is the game administrator,
start in debugging (wizard) mode instead.
The -d 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 specified by the game
administrator during compilation (usually /usr/lib/games/nethack).
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.
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
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.
All files are in the playground, normally /usr/lib/games/nethack. 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
nethack The program itself.
data, oracles, rumors Data files used by NetHack.
options, quest.dat More data files.
help, hh Help data files.
cmdhelp, opthelp, wizhelp More help data files.
*.lev Predefined special levels.
dungeon Control file for special levels.
history A short history of NetHack.
license Rules governing redistribution.
record The list of top scorers.
logfile An extended list of games
xlock.nnn Description of a dungeon level.
perm Lock file for xlock.dd.
bonesDD.nn Descriptions of the ghost and
belongings of a deceased
save A subdirectory containing the
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
NETHACKOPTIONS String predefining several NetHack
In addition, SHOPTYPE is used in debugging (wizard) mode.
dgn_comp(6), lev_comp(6), recover(6)
Dungeons & Dragons is a Trademark of Wizards of the Coast, Inc.