Fix some issues found with fuzz testing
[aNetHack.git] / doc / nethack.6
blob3803ae583b18f4226ab0fdc91eb84a64676fcbdd
1 .TH NETHACK 6 "7 December 2015"
2 .\" NetHack 3.6  nethack.6      $NHDT-Date: 1449616496 2015/12/08 23:14:56 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.11 $
3 .SH NAME
4 nethack \- Exploring The Mazes of Menace
5 .SH SYNOPSIS
6 .na
7 .hy 0
8 .B nethack
10 .B \-d
11 .I directory
14 .B \-n
17 .B \-p
18 .I profession
21 .B \-r
22 .I race
25 .B \-[DX]
28 .B \-u
29 .I playername
32 .B \-dec
35 .B \-ibm
37 .PP
38 .B nethack
40 .B \-d
41 .I directory
43 .B \-s
45 .B \-v
48 .B \-p
49 .I profession
52 .B \-r
53 .I race
56 .I playernames
58 .ad
59 .hy 14
60 .\" Make sure path is not hyphenated below
61 .hw nethackdir
62 .SH DESCRIPTION
63 .PP
64 .I NetHack
65 is a display oriented Dungeons & Dragons(tm) - like game.
66 The standard tty display and command structure resemble rogue.
67 .PP
68 Other, more graphical display options exist for most platforms.
69 .PP
70 To get started you really only need to know two commands.  The command
71 .B ?
72 will give you a list of the available commands (as well as other information)
73 and the command
74 .B /
75 will identify the things you see on the screen.
76 .PP
77 To win the game (as opposed to merely playing to beat other people's high
78 scores) you must locate the Amulet of Yendor which is somewhere below
79 the 20th level of the dungeon and get it out.
80 Few people achieve this; most never do.  Those who have go down
81 in history as heros among heroes - and then they find ways of making the
82 game even harder.  See the
83 .I Guidebook
84 section on Conduct if this game has gotten too easy for you.
85 .PP
86 When the game ends, whether by your dying, quitting, or escaping
87 from the caves,
88 .I NetHack
89 will give you (a fragment of) the list of top scorers.
90 The scoring is based on many aspects of your behavior, but a rough estimate
91 is obtained by taking the amount of gold you've found in the cave plus four
92 times your (real) experience.
93 Precious stones may be worth a lot of gold when brought to the exit.
94 There is a 10% penalty for getting yourself killed.
95 .PP
96 The environment variable NETHACKOPTIONS can be used to initialize many
97 run-time options.
98 The ? command provides a description of these options and syntax.
99 (The
100 .B \-dec
102 .B \-ibm
103 command line options are equivalent to the
104 .B decgraphics
106 .B ibmgraphics
107 run-time options described there,
108 and are provided purely for convenience on systems
109 supporting multiple types of terminals.)
111 Because the option list can be very long (particularly when specifying
112 graphics characters), options may also be included in a configuration
113 file.
114 The default is located in your home directory and
115 named .nethackrc on Unix systems.  On other systems, the default may be
116 different, usually NetHack.cnf.  On DOS or Windows, the name is
117 defaults.nh, while on the Macintosh or BeOS, it is NetHack Defaults.
118 The configuration file's location may be specified by setting NETHACKOPTIONS
119 to a string consisting of an @ character followed by the filename.
122 .B \-u
123 .I playername
124 option supplies the answer to the question "Who are you?".
125 It overrides any name from the options or configuration file, USER, LOGNAME,
126 or getlogin(), which will otherwise be tried in order.
127 If none of these provides a useful name, the player will be asked for one.
128 Player names (in conjunction with uids) are used to identify save files,
129 so you can have several saved games under different names.
130 Conversely, you must use the appropriate player name to restore a saved game.
133 .I playername
134 suffix can be used to specify the profession, race, alignment and/or gender
135 of the character.  The full syntax of the playername that includes a
136 suffix is "name-ppp-rrr-aaa-ggg".  "ppp" are at least the first three letters
137 of the profession (this can also be specified using a separate 
138 .B \-p
139 .I profession
140 option).  "rrr" are at least the first three letters of the character's
141 race (this can also be specified using a separate 
142 .B \-r
143 .I race
144 option).  "aaa" are at last the first three letters of the character's
145 alignment, and "ggg" are at least the first three letters of the
146 character's gender.  Any of the parts of the suffix may be left out.
148 .B \-p
149 .I profession
150 can be used to determine the character profession, also known as the role.
151 You can specify either the male or female name for the character role, or
152 the first three characters of the role as an abbreviation.
153 .B "\-p \@"
154 has been retained to explicitly request that a random role be chosen.
155 It may need to be quoted with a backslash (\\@) if @
156 is the "kill" character (see "stty") for the terminal, in order
157 to prevent the current input line from being cleared.
159 Likewise,
160 .B \-r
161 .I race
162 can be used to explicitly request that a race be chosen.
164 Leaving out any of these characteristics will result in you being prompted
165 during the game startup for the information.
169 .B \-s
170 option alone will print out the list of your scores on the current version.
171 An immediately following
172 .B \-v
173 reports on all versions present in the score file.
175 .B \-s
176 may also be followed by arguments
177 .B \-p
179 .B \-r
180 to print the scores of particular roles and races only.
181 It may also be followed by one or more player names to print the scores of the
182 players mentioned, by 'all' to print out all scores, or by a number to print
183 that many top scores.
186 .B \-n
187 option suppresses printing of any news from the game administrator.
190 .B \-D
192 .B \-X
193 option will start the game in a special non-scoring discovery mode.
194 .B \-D
195 will, if the player is the game administrator, start in debugging (wizard)
196 mode instead.
199 .B \-d
200 option, which must be the first argument if it appears,
201 supplies a directory which is to serve as the playground.
202 It overrides the value from NETHACKDIR, HACKDIR,
203 or the directory specified by the game administrator during compilation
204 (usually /usr/games/lib/nethackdir).
205 This option is usually only useful to the game administrator.
206 The playground must contain several auxiliary files such as help files,
207 the list of top scorers, and a subdirectory
208 .I save
209 where games are saved.
210 .SH AUTHORS
212 Jay Fenlason (+ Kenny Woodland, Mike Thome and Jon Payne) wrote the
213 original hack, very much like rogue (but full of bugs).
215 Andries Brouwer continuously deformed their sources into an entirely
216 different game.
218 Mike Stephenson has continued the perversion of sources, adding various
219 warped character classes and sadistic traps with the help of many strange
220 people who reside in that place between the worlds, the Usenet Zone.
221 A number of these miscreants are immortalized in the historical
222 roll of dishonor and various other places.
224 The resulting mess is now called NetHack, to denote its
225 development by the Usenet.  Andries Brouwer has made this request for the
226 distinction, as he may eventually release a new version of his own.
227 .SH FILES
229 Run-time configuration options were discussed above and use a platform
230 specific name for a file in a platform specific location.  For Unix, the
231 name is '.nethackrc' in the user's home directory.
234 All other files are in the playground directory,
235 normally /usr/games/lib/nethackdir.
236 If DLB was defined during the compile, the data files and special levels
237 will be inside a larger file, normally nhdat, instead of being separate
238 files.
242 .ta \w'cmdhelp, opthelp, wizhelp\ \ \ 'u
243 nethack         The program itself.
245 data, oracles, rumors   Data files used by NetHack.
247 quest.dat, bogusmon     More data files.
249 engrave, epitaph, tribute       Still more data files.
251 symbols Data file holding sets of specifications
253         for how to display monsters, objects, and
255         map features.
257 options Data file containing a description of the
258         build-time option settings.
260 help, hh        Help data files.
262 cmdhelp, opthelp, wizhelp       More help data files.
264 *.lev   Predefined special levels.
266 dungeon Control file for special levels.
268 history A short history of NetHack.
270 license Rules governing redistribution.
272 record  The list of top scorers.
274 logfile An extended list of games played
276         (optional).
278 xlogfile        A more detailed version of 'logfile'
280         (also optional).
282 paniclog        Record of exceptional conditions
284         discovered during program execution.
286 xlock.nn        Description of dungeon level 'nn' of
288         active game 'x' if there's a limit on the
290         number of simultaneously active games.
292 UUcccccc.nn     Alternate form for dungeon level 'nn'
294         of active game by user 'UU' playing
296         character named 'cccccc' when there's no
298         limit on number of active games.
300 perm    Lock file for xlock.0 or UUcccccc.0.
302 bonesDD.nn      Descriptions of the ghost and belongings
304         of a deceased adventurer who met his
306         or her demise on level 'nn'.
308 .\"following line should contain <space><tab>
309         
311 save/   A subdirectory containing saved games.
313 .\"following line should contain <space><tab>
314         
316 sysconf System-wide options.  Required if
318         program is built with 'SYSCF' option
320         enabled, ignored if not.
323 The location of 'sysconf' is specified at build time and can't be changed
324 except by updating source file "config.h" and rebuilding the program.
327 In a perfect world, 'paniclog' would remain empty.
328 .SH ENVIRONMENT
330 .ta \w'NETHACKDIR or HACKDIR\ \ \ 'u
331 USER or LOGNAME Your login name.
333 HOME            Your home directory.
335 SHELL           Your shell.
337 TERM            The type of your terminal.
339 HACKPAGER or PAGER      Replacement for default pager.
341 MAIL    Mailbox file.
343 MAILREADER      Replacement for default reader
345         (probably /bin/mail or /usr/ucb/mail).
347 NETHACKDIR or HACKDIR   Playground.
349 NETHACKOPTIONS  String predefining several NetHack
351         options.
354 If the same option is specified in both NETHACKOPTIONS and .nethackrc,
355 the value assigned in NETHACKOPTIONS takes precedence.
358 SHOPTYPE and SPLEVTYPE can be used in debugging (wizard) mode.
360 DEBUGFILES can be used if the program was built with 'DEBUG' enabled.
361 .SH "SEE ALSO"
363 dgn_comp(6), lev_comp(6), recover(6)
364 .SH BUGS
366 Probably infinite.
370 Dungeons & Dragons is a Trademark of Wizards of the Coast, Inc.