Options

From NetHackWiki
Revision as of 08:41, 23 October 2019 by Stenno (talk | contribs) (Moved vt_tiledata from NAO-specific options to the main Options section)
Jump to navigation Jump to search

Contents

The game options affect the look and feel of the game.

They can be changed:

  • permanently in the configuration file at
    • defaults.nh (in the same directory as nethack.exe or nethackW.exe) on DOS and Windows
    • ~/.nethackrc on unix, unix-based or unix-like systems, including OS X and Linux
    • NetHack Defaults on pre-OSX-Mac and BeOS
    • NetHack.cnf on Amiga, Atari, OS/2 and VMS
  • temporarily by using the in-game options screen, accessible by pressing shift + o in the game
  • each time the game is run, on the command line
  • when the game is compiled

There are two types of options, boolean and compound options. Boolean options toggle a setting on or off, while compound options take more diverse values.

Configuration file

Options are usually prefixed by 'OPTIONS=' on each line.

Name a boolean option in the configuration file to turn it on, and prefix it with 'no' or '!' to turn it off. Options can be combined into one line for brevity:

OPTIONS=boulder:0, color, autodig, !cmdassist, norest_on_space

For compound options, the option name and value are separated by a colon:

OPTIONS=catname:Mirri

The above two lines set boulder to 0, enable color and autodig, disable cmdassist and rest_on_space, and set your cat's name to Mirri.

Any line beginning with a '#' is a comment; i.e. the line is ignored.

Persistent options: Some options are marked persistent, and are saved and reloaded along with the game. Changing a persistent option in the configuration file applies only to new games.

If a configuration file does not exist, create a new one that's appropriate for your system with a text file editor. (For Mac OS X Terminal, use ~/.nethackrc instead of NetHack Defaults)

In-game

The in-game configuration menu is brought up by pressing shift + o. It is similar to an item selection menu, where you use alphabetic letters to select which options to change. Boolean options are toggled on or off, while you are prompted to enter new values for compound options.

Some options cannot be changed in-game.

Command line

You can also set options from the command line by setting the NETHACKOPTIONS environment variable. If the value starts with '\' or '/' or '@', it is considered to be a config file name. For example:

NETHACKOPTIONS=boulder:0, color, autodig

or

NETHACKOPTIONS=@/home/username/.nethackrc

Options

AUTOCOMPLETE

Enable or disable autocompletion when entering particular extended commands. Listing them in a comma-separated list enables, prefixing with ! disables. Example:

AUTOCOMPLETE=zap,!annotate

acoustics

Enable messages about what your character hears. Boolean option, defaults to TRUE.

align

Your starting alignment. Compound option, with possible values of lawful, neutral, chaotic, or random. The first letter may be given alone. Prefix with ! to exclude that alignment from being picked randomly. Cannot be set in-game. Example that excludes chaotic:

OPTIONS=align:!c

autodescribe

Automatically describe the terrain under cursor when asked to get a location on the map. The whatis_coord option controls whether the description includes map coordinates. It can be toggled by typing # while targeting.

autodig

Automatically dig, if you're wielding a digging tool and moving into a place that can be dug. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

autoopen

Walking into a door attempts to open it. Boolean option, defaults to TRUE. Persistent.

autopickup

Main article: Autopickup

Automatically pick up things onto which you move. See also pickup_types, pickup_burden, pickup_thrown, and Autopickup_exceptions. Boolean option, defaults to TRUE. Can be set in-game.

AUTOPICKUP_EXCEPTION

Main article: Autopickup_exception

Autopickup exceptions allow you to specify particular expression matches for more nuanced autopickup usage. See the main article for usage information.

autoquiver

Automatically quiver some suitable weapon if your quiver empties when firing. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

BIND

Change the key bindings of special keys, menu accelerators, or extended commands. You can specify multiple bindings for a single command. The format is a comma-separated list, with colon-separated keybinding and command. A binding overrides an existing key usage. Example:

BIND=!:loot,^v:untrap,M-x:terrain

See Binding keys for a more detailed description and a list of bindable special commands.

blind

Start the character permanently blind. Boolean option, defaults to FALSE. Persistent.

bones

Allow saving and loading bones files. Boolean option, defaults to TRUE. Persistent.

boulder

Set the symbol used to display boulders. For example boulder:0 Compound option with default value of `. Can be set in-game.

Can also be defined using ASCII value, and without the OPTIONS prefix simply as

BOULDER=48

For example, BOULDER=64 would be equal to OPTIONS=boulder:@. See also Custom map symbols#BOULDER

This option has been superseded by the SYMBOLS= format described in the symset option, though this method still functions.

catname

Set the name of your starting cat. Compound option, and it cannot be set within game. See also dogname and horsename. Example:

OPTIONS=catname:Whiskers

character

Synonym for role.

checkpoint

Save game state after each level change, for possible recovery after program crash. Boolean option, defaults to TRUE. Can be set in-game.

checkspace

Check free disk space before writing files to disk. You may have to turn this off if you have more than 2 GB free space on the partition used for your save and level files. A boolean option, defaults to on. Only applies when MFLOPPY was defined during compilation.

CHOOSE

Choose at random one of the comma-separated parameters as an active section name. Lines in other sections are ignored. This allows for a fine-tuned options set for particular roles. Example:

CHOOSE=char A, char B
[char A]
OPTIONS=role:arc,race:dwa,align:law,gender:fem
[char B]
OPTIONS=role:wiz,race:elf,align:cha,gender:mal

clicklook

Allows looking at things on the screen by navigating the mouse over them and clicking the right mouse button. Boolean option, defaults to FALSE.

cmdassist

NetHack provides some additional command assistance when it detects some anticipated mistakes. Boolean option, defaults to TRUE. Can be set in-game.

confirm

Have user confirm attacks on peaceful creatures. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

dark_room

Show out-of-sight areas of lit rooms. Boolean value, defaults to FALSE. Persistent.

disclose

Controls the prompts at the end of the game. Possible values are

Each of those values can be preceded with a value that tells how it behaves. The possible values are

  • y - prompt, defaults to yes
  • n - prompt, defaults to no
  • + - disclose without prompting
  • - - don't disclose, don't prompt

The listing of killed monsters can be sorted, so there are two additional choices for v:

  • ? - prompt you and default to ask on the prompt;
  • # - disclose it without prompting, ask for sort order.

For example

OPTIONS=disclose:yi na +v -g -c -o

Persistent.

dogname

Set the name of your starting dog. Compound option, and it cannot be set within game. See also catname and horsename. Example:

OPTIONS=dogname:Cujo

extmenu

Does extended commands interface pop up a menu? Boolean option, defaults to FALSE. Only implemented for the TTY windowport.

female

An obsolete synonym for gender:female. Cannot be set in-game.

fixinv

An object's inventory letter sticks to it when it's dropped, so when you pick it up again, it will have the same inventory letter, unless there is already another item in your inventory using that letter. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

force_invmenu

Commands asking for an inventory item will show a menu instead of a text query with possible menu letters. Default is off.

fruit

Set the name of the user-defineable fruit. Compound option, takes a string, with default value of slime mold. Can be set in-game.

gender

Sets the gender of your character. A compound option, with possible values of male, female, or random. Default value is to pick an appropriate gender randomly. Cannot be set in-game.

goldX

When filtering objects based on blessed/cursed state (BUCX), this options specifices whether to include gold as X (unknown state) when on, and U (uncursed) when off. Default is off.

help

If more information is available for an object looked at with the what is / command, ask if you want to see it. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

herecmd_menu

When using a windowport that supports mouse and clicking on yourself or next to you, show a menu of possible actions for the location. Same as herecmdmenu and therecmdmenu commands.

hilite_pet

Visually distinguish pets from similar animals (This includes both your starting pet and any monsters you happen to tame along the way). Boolean option, defaults to FALSE. Can be set in-game.

hilite_pile

Visually distinguish piles of objects from individual objects. Boolean option, defaults to FALSE.

hilite_status

If the statushilites option is set, this option allows you to customize your game display by setting thresholds to change the color or appearance of fields in the status bar.

This is an "experimental feature" in NetHack 3.6.0 (in particular, it is missing from all official binaries, but most public servers enable it). In NetHack 3.6.1, it has been changed significantly and uses some different syntax.

For a full guide on configuring status hilites, see Status hilites.

The whole feature can be disabled by turning the statushilites option off.

hitpointbar

Show a hit point bar graph behind your name and title. Only available for TTY and Windows GUI, and only when statushilites is on.

horsename

Set the name of your starting horse. Compound option, and it cannot be set within game. See also catname and dogname.

ignintr

Ignore interrupt signals, including breaks. Boolean option, defaults to FALSE. Not implemented on Mac. Can be set in-game. Persistent.

implicit_uncursed

Omit "uncursed" from inventory lists, if possible. Boolean option, defaults to TRUE.

legacy

Display an introductory message when starting the game. Boolean option, defaults to TRUE. Cannot be set in-game.

lit_corridor

Distinguish visually between lit and unlit corridors. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

lootabc

Use the old a, b and c keyboard shortcuts in the looting menu. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

mail

Enable mail delivery during the game. Boolean option, defaults to TRUE. Only meaningful if NetHack was compiled with MAIL. Can be set in-game.

male

An obsolete synonym for gender:male. Cannot be set in-game.

mention_walls

Give feedback when walking against a wall. Boolean value, defaults to FALSE.

menucolors

Main article: Menucolors

Enable coloring menu lines. Boolean value, defaults to FALSE. See main article for how to set menucolors with particular expression matches.

menustyle

Controls the interface used when you need to choose various objects (in response to the Drop command, for instance). Persistent. Compound option, with following possible values:

Option Description
traditional prompt for object class characters, followed by an object-by-object prompt for all matching items
combination prompt for object classes of interest, then display a menu of matching objects
partial skip the object class filtering and immediately display a menu of all objects
full display a menu of object classes, and then a menu of matching objects

menu_deselect_all

Menu character accelerator to deselect all items in a menu. Implemented by the Amiga, Gem, X11 and tty ports. Compound option, with default of '-'. Cannot be set in-game.

menu_deselect_page

Menu character accelerator to deselect all items on this page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '\'. Cannot be set in-game.

menu_first_page

Menu character accelerator to jump to the first page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '^'. Cannot be set in-game.

menu_headings

Controls how the headings in a menu are highlighted. Compound option, with possible values of none, bold, dim, underline, blink, or inverse. Not all ports can actually display all types.

menu_invert_all

Menu character accelerator to toggle the selections in a menu. Implemented by the Amiga, Gem, X11 and tty ports. Compound option, with default of '@'. Cannot be set in-game.

menu_invert_page

Menu character accelerator to toggle the selection on this page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '~'. Cannot be set in-game.

menu_last_page

Menu character accelerator to jump to the last page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '|'. Cannot be set in-game.

menu_next_page

Menu character accelerator to goto the next page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '>'. Cannot be set in-game.

menu_objsyms

Show object symbols in menu headings in menus where the object symbols act as menu accelerators. Boolean option, defaults to FALSE.

menu_overlay

Do not clear the screen before drawing menus, and align menus to the right edge of the screen. Only for the TTY windowport. Boolean option, defaults to TRUE.

menu_previous_page

Menu character accelerator to goto the previous page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '<'. Cannot be set in-game.

menu_search

Menu character accelerator to search for a menu item. Implemented by the Amiga, Gem and X11 ports. Compound option, with default of ':'. Cannot be set in-game.

menu_select_all

Menu character accelerator to select all items in a menu. Implemented by the Amiga, Gem, X11 and tty ports. Compound option, with default of '.'. Cannot be set in-game.

menu_select_page

Menu character accelerator to select all items on this page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of ','. Cannot be set in-game.

menu_tab_sep

Use tabs to separate menu names from their values. This option is only shown when in wizard-mode, and is only meant for testing purposes. (FIXME: move to wizmode section?)

msghistory

Number of message-window messages to save. Compound option, takes a positive number, with default of 20. Maximum and minimum values depend on the window port; For the TTY, X11 and Gem ports the minimum is 20 and maximum 60. Cannot be set in-game.

msg_window

How to show the latest messages recalled with ^P. Compound option, with the following possible values:

Option Description
single show single message
combination two messages as single, then as full
full full window, oldest message first
reversed full window, newest message first

You can use the first letter of an option to specify that option. For backwards compatibility, no value needs to be given; in that case defaults to 'full', or it can be negated like a boolean option, in which case defaults to 'single'. Can be set in-game only if playing the TTY windowport.

MSGTYPE

Main article: MSGTYPE

Can be used to hide obnoxious messages or emphasize dangerous ones. See main article for how to use MSGTYPEs.

name

The name of your character. Compound option, defaults to your user name. If set to player, then NetHack will ask for the user name, even on systems where it normally wouldn't. If suffixed with dash and character role letter (one of -A -B -C -H -K -M -P -Ra -Ro -S -T -V -W), then also defines the character role, or if suffixed with -@, then selects a random role. Cannot be set in-game.

news

Read the NetHack news file at start of game, if present. Boolean option, defaults to TRUE.

nudist

Start the character with no armor. Boolean option, defaults to FALSE. Persistent.

null

Send padding NULLs to terminal. A boolean, defaults to FALSE. Only used if you compiled NetHack with TERMCAP and without TIMED_DELAY. Persistent.

number_pad

Use the number keys to move instead of hjklyubn. Valid options are:

Option Description
0 move by letters; 'yuhjklbn'
1 move by numbers; digit 5 acts as G movement prefix
2 like 1 but 5 works as g prefix instead of as G
3 by numbers using phone key layout; 123 above, 789 below
4 combines 3 with 2; phone layout plus MSDOS compatibility, where 5 means g, alt + 5 means G, and alt + 0 mean I
-1 by letters but use z to go northwest, y to zap wands

With number_pad set to 1, 2, 3, or 4, counts need to be prefixed with n (n50s to search 50 times). Also, some extended commands are available in a short form (l performs #loot, u performs #untrap, etc).

For backwards compatibility, number_pad without a value is synonymous to number_pad:1.

packorder

Sets the order of item classes shown in inventory. Compound option, takes a string of up to 14 characters, with default values of ")[%?+!=/(*`0_. Omitted types are filled in at the end from the previous order. Can be set in-game. Persistent.

paranoid_confirmation

A space-separated list of specific situations where alternate prompting is desired. The default is paranoid_confirmation:pray.

Option Description
Confirm for any prompts which are set to require "yes" rather than 'y', also require "no" to reject instead of accepting any non-yes response as no
quit require "yes" rathern than 'y' to confirm quitting the game or switching into non-scoring explore mode
die require "yes" rather than 'y' to confirm dying (applies only to explore mode)
bones require "yes" rather than 'y' to confirm saving bones data when dying in debug mode
attack require "yes" rather than 'y' to confirm attacking a peaceful monster
pray require 'y' to confirm an attempt to pray rather than immediately praying; on by default
wand-break require "yes" rather than 'y' to confirm breaking a wand. (NetHack 3.6.2 only)
Were-change require "yes" rather than 'y' to confirm changing form due to lycanthropy when hero has polymorph control. (NetHack 3.6.2 only)
Remove require selection from inventory for R and T commands even when wearing just one applicable item
all turn on all of the above

By default, the pray choice is enabled, the others disabled. To disable it without setting any of the other choices, use paranoid_confirmation:none. To keep it enabled while setting any of the others, include it in the list:

OPTIONS=paranoid_confirmation:attack pray Remove

perm_invent

Show permanent inventory window. Boolean option, defaults to FALSE. Not used on TTY. Can be set in-game. Persistent.

pettype

Sets your preferred pet type. A compound option, with possible value of cat, dog, or use none to start a game without a pet. Cannot be set in-game.

pickup_burden

Prompt for confirmation before picking up items that will push the character's encumbrance past a given level -- Unencumbered, Burdened, streSsed, straiNed, Overtaxed, or overLoaded. This will NOT prompt the player if he is about to pick up a loadstone or gold. Defaults to S. Persistent.

pickup_thrown

If this option is on and autopickup is also on, try to pick up things that you threw, even if they aren't in pickup_types or match an autopickup exception. Boolean option, defaults to TRUE. Persistent.

pickup_types

Specify the object types to be picked up when autopickup is on. Default is all to pick up all types. For example "pickup_types:?!/" would pick up all scrolls, potions and wands. Persistent.

pile_limit

When walking across a pile of objects on the floor, threshold at which the message "there are few/several/many objects here" is given instead of showing a popup list of those objects. A value of 0 means "no limit" (always list of the objects); a value of 1 effectively means "never show the objects" since the pile size will always be at least that big; default value is 5. Persistent.

playmode

Values are normal, explore, or debug. Allows selection of explore mode (also known as discovery mode) or debug mode (also known as wizard mode) instead of normal play. Debug mode might only be allowed for someone logged in under a particular user name (on multi-user system) or it might be disabled entirely. Requesting it when not allowed or not possible results in explore mode instead. NAO has both Explore and Debug modes disabled entirely. Default is normal play.

pushweapon

If you wield something when you are already wielding something else, the old weapon is pushed into the alternate weapon slot. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

race

Set your character's race. A compound option, with possible values of human, elf, dwarf, gnome, orc, or random, with default of random. If you prefix a ! to the value, you can exclude that race from being picked randomly. Cannot be set in-game. Persistent.

rest_on_space

Space waits for a turn. This is considered by some as a very easy way to get killed.

Boolean option, defaults to FALSE. Can be set in-game. Persistent.

role

Set your character's role. Can also be random. A compound option. See name option for an alternate method of specifying your role. Normally only the first letter of the value is examined, with r being the exception with Rogue, Ranger, and random values. If you prefix an option with !, you can exclude that role from being picked randomly. Cannot be set in-game. Persistent.

roguesymset

This option may be used to select one of the named symbol sets found within the symbols file to alter the symbols displayed on the screen on the rogue level.

rlecomp

When writing out a save file, perform a run length compression of the map. Not all ports support run length compression. It has no effect on reading an existing save file.

runmode

Set the screen updating interval for multi-turn actions, eg. running or traveling. Can be set in-game. Compound option with the following possible values:

Option Description
teleport update the map after movement has finished
run update the map after every seven or so steps (default)
walk update the map after each step
crawl like walk, but pause briefly after each step

safe_pet

Prevents you from (knowingly) attacking your pet by moving into it. TRUE is the best setting as attacking a pet, should you wish to, is easily accomplished using the fight command. Boolean option, defaults to TRUE. Can be set in-game.

sanity_check

This option turns on debugging output, and is only available in wizard mode. Boolean option, defaults to FALSE. (FIXME: wizmode section?)

scores

Control what part of hiscore list to show at the end of game. Compound option. Can be set in-game. Persistent. Accept the following options, separated by spaces:

  • o - show my own score. Can be prefixed with ! to not show own score.
  • Xa - show X scores around own score
  • Xt - show X scores from the top

For example:

OPTIONS=scores:10t 2a o

showexp

Displays the exact number of experience points next to your experience level on the status line. Useful for seeing how close you are to the next level, but it may increase the length of the status line a lot, pushing important notifications (like Hungry, Ill, FoodPois, etc.) off the end.

Boolean option, defaults to FALSE. Can be set in-game. Persistent.

showrace

Uses the symbol for your race instead of @. That's h for dwarves, o for orcs and G for gnomes. Elves are still @. This could be useful for reminding you not to genocide your racial glyph but is not widely used. Boolean option, defaults to FALSE. Can be set in-game.

showscore

Shows your approximate accumulated score on the bottom line. Boolean option, defaults to false. Can be set in-game. Persistent. Only available if NetHack was compiled with SCORE_ON_BOTL.

silent

Stops your terminal's bell sounding. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

sortloot

Controls the sorting behavior of the pickup lists for inventory and #loot commands and some others. Persistent. The possible values are:

Option Description
full always sort the lists
loot only sort the lists that don't use inventory letters, like with the #loot and pickup commands
none show lists the traditional way without sorting

sortpack

Groups similar kinds of objects in your inventory. TRUE is highly recommended. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

SOUND

Main article: User sounds

Allows user-defined sound file to be played when a message is shown.

sparkle

Display sparkly effect for resisted magical attacks (e.g. a fire attack on a fire-resistant monster). It can be helpful to turn this off on the Plane of Fire, otherwise a dozen or more sparkles will occur per turn. See also timed_delay.

Boolean option, defaults to TRUE. Can be set in-game. Persistent.

standout

Uses standout mode (reverse video) for displaying "--More--". Boolean option, defaults to FALSE. Can be set in-game. Persistent.

status_updates

Allow updates to the status lines at the bottom of the screen (default true).

statushilites

Controls how many turns status hilite behaviors highlight the field. If negated or set to zero, disables status hiliting.

Only useful when you have status hilite rules configured; see the hilite_status option for more information.

suppress_alert

Prevent alert notification messages about feature changes in a NetHack version and the previous versions. Compound option, accepts a string describing a NetHack version. Can be set in-game. Currently only one use, which is to prevent the quiver and quit-command changes:

OPTIONS=suppress_alert:3.3.1

symset

Main article: symset

Select the symbols used to display the game. Replaces the DECgraphics, IBMgraphics, and MACgraphics options.

  • NHAccess (Recommended for blind players)
  • MACgraphics
  • IBMGraphics_2
  • IBMGraphics_1
  • IBMgraphics
  • DECgraphics

Individual symbols may be set using the following format:

SYMBOLS=S_boulder:0
SYMBOLS=S_golem:7
SYMBOLS=S_ghost:8

For a complete list of symbol names, please see the symset article.

time

Displays elapsed game time, in turns, on the status line. Very useful for estimating prayer timeouts, spell lifespan, and more. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

timed_delay

On TTY interfaces (unix and VMS), use a timer instead of sending extra screen output when attempting to pause for a display effect. On MSDOS without the termcap lib, chooses whether or not to pause for visual effect. See also sparkle.

Boolean option, defaults to TRUE if configured into the program. Can be set in-game. Persistent.

tombstone

Prints an ASCII tombstone when you die. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

toptenwin

Prints the top ten high scores in a window rather than stdout. This isn't very useful unless you are using a GUI version. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

travel

Enables the travel command. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

verbose

Chooses whether or not to display certain non-essential messages, such as doors being destroyed. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

vt_tiledata

Main article: vt_tiledata

Boolean option. Turning it on will output extra information in the datastream in the form of escape code "ESC [ ... z", meant for graphical frontends. See also EbonHack.

whatis_coord

When using the / (what is) or ; (far look) commands to look around on the map with autodescribe on, display coordinates after the description. Also works in other situations where you are asked to pick a location.

The possible settings are:

  • c - compass ('east' or '3s' or '2n,4w')
  • f - full compass ('east' or '3south' or '2north,4west')
  • m - map <x,y> (map column x=0 is not used)
  • s - screen [row,column] (row is offset to match tty usage)
  • n - none (no coordinates shown). Default.

The whatis_coord option is also used with the sub-commands m, M, o, and O when using /, where the 'none' setting is overridden with 'map'.

whatis_filter

When using the m, o, d, x or a keys to select a location on the map, allows filtering the possible targets. It can be set by typing " while targeting. It can be set to:

  • n - no filtering (default)
  • v - in view only
  • a - in same area only (e.g. same room or same corridor)

The area-filter tries to be slightly predictive; if you're standing on a doorway, it will consider the area on the side of the door you were last moving toward.

whatis_menu

When using the m, o, d, x or a keys to select a location on the map, uses a menu to pick a target. Otherwise, typing a lowercase letter will cycle through targets from nearest to furthest, and an uppercase letter from furthest to nearest. It can be toggled by typing ! while targeting. Boolean, default off.

whatis_moveskip

When selecting a location on the map, and using shifted movement keys or meta-digit keys to fast-move, instead of moving 8 units at a time, move by skipping the same glyphs. It can be toggled by typing * while targeting. Boolean, default off.

windowtype

Select which windowing system to use, such as tty or X11 (default depends on version). Cannot be set in-game. Example:

OPTIONS=windowtype:tty

wizkit

Wizard mode-only option. Specifies the path to a text file that contains a list of item names, one per line, up to a maximum of 128 lines. Each line is processed by the function that handles wishing. For example

In your config file:

WIZKIT=wizkit.txt

And the contents of wizkit.txt:

blessed monster detection
ring of levitation
amulet of yendor
2 blessed genocide

Makes your character start with those items in inventory, in addition to the normal starting items.

zerocomp

When writing out a save file, perform zero-comp compression of the contents. Not all ports support zero-comp compression. It has no effect on reading an existing save file.

Window Port Customization Options

align_message

Where to align or place the message window. Compound option, with possible values of top, bottom, left, or right. Cannot be set in-game.

align_status

Where to align or place the status window. Compound option, with possible values of top, bottom, left, or right. Cannot be set in-game.

ascii_map

NetHack should display an ASCII character map if it can. Boolean option. Can be set in-game.

color

Main article: colors

NetHack should display color if it can for different monsters, objects, and dungeon features. This option matters only for the TTY windowport. Boolean option, defaults to TRUE on most systems including Windows and Mac. Can be set in-game.

In case the default color scheme is hard to distinguish on your monitor, you might want to edit the color preferences in your terminal emulator.

If you are looking for colors of the wiki itself, see Category:Function_templates and User:Paxed/ReplaceCharsBlock.

eight_bit_tty

NetHack should pass eight-bit character values straight through to your terminal. Boolean option, defaults to FALSE. Can be set in-game.

font_map

NetHack should use a font by the chosen name for the map window.

font_menu

NetHack should use a font by the chosen name for menu windows.

font_message

NetHack should use a font by the chosen name for the message window.

font_status

NetHack should use a font by the chosen name for the status window.

font_text

NetHack should use a font by the chosen name for text windows.

font_size_map

NetHack should use this size font for the map window.

font_size_menu

NetHack should use this size font for menu windows.

font_size_message

NetHack should use this size font for the message window.

font_size_status

NetHack should use this size font for the status window.

font_size_text

NetHack should use this size font for text windows.

fullscreen

NetHack should try and display on the entire screen rather than in a window. Boolean option, defaults to false. Cannot be set in-game.

If the game cannot be displayed in fullscreen through this option and you are using the tty interface, you can usually adjust your terminal emulator configuration to achieve a similar effect (e.g. by increasing the font size).

large_font

NetHack should use a large font.

map_mode

NetHack should display the map in the manner specified. Used in Windows port to choose between tiles or different sizes of ASCII. Consult defaults.nh for possible options.

mouse_support

Use mouse for moving around. A boolean, defaults to FALSE. Is displayed, but cannot be set in-game.

player_selection

NetHack should pop up dialog boxes, or use prompts for character selection. Compound option. Cannot be set in-game.

popup_dialog

NetHack should pop up dialog boxes for input. Boolean option, defaults to false. Can be set in-game.

preload_tiles

NetHack should preload tiles into memory. Boolean option, defaults to true. Cannot be set in-game.

scroll_amount

NetHack should scroll the display this many map cells when the hero reaches the scroll_margin. A compound option, accepts a positive number. Cannot be set in-game.

scroll_margin

NetHack should scroll the display when the hero or cursor is this number of cells away from the edge of the window. A compound option, accepts a positive number. Cannot be set in-game.

selectsaved

NetHack should display a menu of existing saved games for the player to choose from at game startup, if it can. Not all ports support this option.

softkeyboard

Display an on-screen keyboards; handhelds are most likely to support this. Boolean option, defaults to off. Cannot be set in-game.

splash_screen

NetHack should display an opening splash screen when it starts up. Boolean option, defaults to yes.

tile_width

Specify the preferred width of each tile in a tile capable port. Compound option, accepts a positive number. Cannot be set in-game.

tile_height

Specify the preferred height of each tile in a tile capable port. Compound option, accepts a positive number. Cannot be set in-game.

tile_file

Specify the name of an alternative tile file to override the default. Compound option. Cannot be set in-game.

tiled_map

NetHack should display a tiled map if it can. Boolean option, Cannot be set in-game.

use_darkgray

Use bold black instead of blue for black glyphs (TTY only). Boolean option.

use_inverse

Displays certain things in reverse video. Boolean option, defaults to FALSE on non-Win32 platforms. Can be set in-game.

vary_msgcount

NetHack should display this number of messages at a time in the message window. Compound option, accepts a positive number. Cannot be set in-game. Implemented only for the Atari GEM, Win32 GUI and WinCE builds.

windowcolors

NetHack should display windows with the specified foreground/background colors if it can. Compound option. Cannot be set in-game.

OPTIONS=windowcolors:wintype fground/bground

where wintype is one of menu, message, status, text, and fground and bground are colors, either a hexadecimal #rrggbb, one of the named colors (black, red, green, brown, blue, magenta, cyan, orange, brightgreen, yellow, brightblue, brightmagenta, brightcyan, white, trueblack, gray, purple, silver, maroon, fuchsia, lime, olive, navy, teal, aqua), or one of Windows UI colors (activeborder, activecaption, appworkspace, background, btnface, btnshadow, btntext, captiontext, graytext, greytext, highlight, highlighttext, inactiveborder, inactivecaption, menu, menutext, scrollbar, window, windowframe, windowtext).

Example:

OPTIONS=windowcolors:menu white/black message green/yellow status white/blue text #ffffff/#000000

wraptext

NetHack port should wrap long lines of text if they don't fit in the visible portion of the window. Boolean, defaults to false. Can be set in-game.


Platform-specific Customization options

altkeyhandler

Select an alternate keystroke handler dll to load. The name of the handler is specified without the .dll extension and without any path information. Win32 only. Cannot be set in-game. NetHack comes with nhdefkey.dll, nhraykey.dll, and nh340key.dll. If you are using a non-US keyboard layout and cannot type the dollar sign or the hash mark, try nhraykey.

altmeta

Enables extended command shortcuts, such as alt + d to dip.[1] Boolean option, default is off, except on Amiga. Can be set in-game. Is saved into the savefile.[2]

BIOS

Use BIOS calls to update the screen display quickly and to read the keyboard (allowing the use of arrow keys to move) on machines with an IBM PC compatible BIOS ROM. Boolean option, default off. OS/2, PC, and ST NetHack only. Cannot be set in-game.

DECgraphics

Use DEC line-drawing characters. Won't work for all terminals. Boolean option, defaults to TRUE. Can be set in-game. Turning this on sets IBMgraphics to FALSE.

Starting with NetHack 3.6.0, this option is equivalent to symset:DECgraphics.

flush

Prevent typeahead. Boolean option, defaults to off. Only usable on Amiga. Can be set in-game.

IBMgraphics

Main article: IBMgraphics

Use IBM extended characters. Won't work for all terminals. Boolean option, defaults to FALSE. Only implemented for the TTY windowport. Can be set in-game.

Starting with NetHack 3.6.0, this option is equivalent to symset:IBMgraphics.

MacGraphics

Use Mac-specific character set to display map. A boolean, Mac-only, defaults to on. See also IBMgraphics and DECgraphics.

Starting with NetHack 3.6.0, this option is equivalent to symset:MACgraphics.

page_wait

Show --more-- after a page of messages. A boolean, Macs only, defaults to on.

rawio

Force raw (non-cbreak) mode for faster output and more bulletproof input (MS-DOS sometimes treats `^P' as a printer toggle without it) Default off, OS/2, PC, and ST NetHack only. Note: DEC Rainbows hang if this is turned on. Cannot be set in-game.

soundcard

Compound option, defaults to on. Only for the PC NetHack. Cannot be set in-game.

subkeyvalue

(Win32 tty NetHack only). May be used to alter the value of keystrokes that the operating system returns to NetHack to help compensate for international keyboard issues. OPTIONS=subkeyvalue:171/92 will return 92 to NetHack, if 171 was originally going to be returned. You can use multiple subkeyvalue statements in the config file if needed. Cannot be set in-game.

video

Set the video mode used. PC NetHack only. Values are autodetect, default, or vga. Setting vga (or autodetect with vga hardware present) will cause the game to display tiles. Cannot be set in-game.

videocolors

Set the color palette for PC systems using NO_TERMS (default 4-2-6-1-5-3-15-12-10-14-9-13-11, PC NetHack only). The order of colors is red, green, brown, blue, magenta, cyan, bright.white, bright.red, bright.green, yellow, bright.blue, bright.magenta, and bright.cyan. Cannot be set in-game.

Note: If the #version-command shows screen control via foo, where foo is one of mactty, BIOS, DJGPP fast, VGA graphics or WIN32 console I/O, then your version of NetHack supports setting videocolors.

videoshades

Set the intensity level of the three gray scales available (default dark normal light, PC NetHack only). If the game display is difficult to read, try adjusting these scales; if this does not correct the problem, try !color. Cannot be set in-game.


NAO (3.4.3)

Nethack.alt.org implements a few user interface patches that introduce new options. See also the default options file.

Options for the curses interface

See curses interface#Configuration_Options for windowtype, IBMgraphics, cursesgraphics, align_message, align_status, popup_dialog, term_cols, term_rows, windowborders, splash_screen, petattr, guicolor, mouse_support.

apexception_regex

Boolean option, defaults to off. If on, then Autopickup exceptions use regular expressions.

AUTOCOMPLETE

Which extended commands autocomplete. Prefixing the command with ! will prevent it from being autocompleted. For example:

AUTOCOMPLETE=save,!quit

BINDINGS

Key rebinding. Binding a key to nothing will remove the binding. For example:

BINDINGS=!:inventory,v:untrap

Accepts x for regular key x, mx or m-x for meta-x, cx or c-x or ^x for ctrl-x, <enter>, <space> or <esc>

bones

If off, you will never load bones files. You always have the normal chances of leaving bones. Boolean option, default is on. Can be set in-game.

botl_updates

Boolean option. If off, the status lines will not be updated, and you must use the #updatestatus to update it. Useful for blind players using a screen reader.

DUNGEONCOLOR

Allows settings the colors for dungeon features. Takes 41 numbers (between 0 and 15), separated by spaces. Order is the same as DUNGEON. For example:

DUNGEONCOLOR= 0  7  7  7  7  7  7  7  7  7 7  7  7  3  3  3  3  6  2  7 0  7  15 15 3  3  7  7  11 7 4  4  6  1  3  3  3  3  6  7 4

See Colors#NetHack_color_codes.

DUNGEONSYMBOLS

Change terrain feature symbols to UTF8 characters. Only applies when UTF8graphics is on. This takes 41 Unicode codepoints, separated by spaces. Order is the same as DUNGEON.

Accepts the UTF8 characters in either U+FFFF or 0xFFFF format. See also SYMBOL for a much easier way to change a single character type (e.g., "altar") by name.

The following should give an identical output to IBMGraphics:

DUNGEONSYMBOLS = 0x0020 0x2502 0x2500 0x250C 0x2510 0x2514 0x2518 0x253C \
                 0x2534 0x252C 0x2524 0x251C 0x00B7 0x25A0 0x25A0 0x002B \
                 0x002B 0x2261 0x00B1 0x00B7 0x2591 0x2592 0x003C 0x003E \
                 0x003C 0x003E 0x005F 0x007C 0x005C 0x0023 0x2320 0x2248 \
                 0x00B7 0x2248 0x00B7 0x00B7 0x0023 0x0023 0x0020 0x0023 0x2248

This may be useful if your terminal has issues with CP437 emulation (e.g corruption on the Rogue level) or if you use a terminal that defaults to UTF-8 graphics (such as the Linux console or GNOME Terminal).

hilite_hidden_stairs

Boolean option. Hilight items with stairs under them with red background.

hilite_obj_piles

Boolean option. Hilight piles of objects with blue background.

hitpointbar

The name and rank text in status line is colored according to Statuscolors and how much HP you have left. Boolean, defaults to off.

Note that this is available in 3.4.3 with patches and in vanilla 3.6.1, but not in vanilla 3.4.3 or 3.6.0.

hp_monitor

Obsolete. NAO used to have the HPmon-patch, but uses now Statuscolors.

hp_notify

Show HP changes in the message area. Message is defined by hp_notify_fmt. Useful for blind players using a screen reader.

hp_notify_fmt

Sets the notification format for hp_notify. Compound option (a string), default value is [HP%c%a=%h].

Accepts following codes:

  • %a = HP adjustment since last notification. No + or - sign
  • %c = HP adjustment sign ('+' or '-')
  • %h = Current HP
  • %m = Max. HP
  • %H = Current HP, or "max" if hp=maxhp.

item_use_menu

Allow using items directly from inventory. Boolean option, defaults to false.

menu_glyphs

Show item glyphs (colored symbols) in tty menus. Boolean option, defaults to off.

menucolors

Main article: Menucolors

MONSTERCOLOR

Allows changing color for a monster, for example:

MONSTERCOLOR=floating eye:yellow
MONSTERCOLOR=master mind flayer:lightmagenta

Available colours: black, red, green, brown, blue, magenta, cyan, gray, orange, lightgreen, yellow, lightblue, lightmagenta, lightcyan, white.

Nethack.alt.org and UnNetHack have it applied.

MONSTERSYMBOL

Change monster symbol to UTF8 character. Only applies when UTF8graphics is on. For example:

MONSTERSYMBOL='horse':U+24FA

Accepts the UTF8 character in either U+FFFF or 0xFFFF format.

MSGTYPE

Main article: MSGTYPE

Can be used to hide obnoxious messages. On NAO, you can set OPTIONS=msgtype_regex to force MSGTYPE accept regular expressions instead of globbing.

msg_wall_hits

Boolean option. If true, mentions in the message area whenever you walk against a wall. Useful for blind players.

OBJECTSYMBOL

Change object symbol to UTF8 character. Only applies when UTF8graphics is on. For example:

OBJECTSYMBOL='apple':0x03a9

Accepts the UTF8 character in either U+FFFF or 0xFFFF format.

old_C_behavior

With this option set to true, the "C" command will work as it does in vanilla, asking you to select a monster to name. Otherwise, typing "C" will bring up the #name menu. Defaults to false.

paranoid_hit

If using the vi-keys, be cautious when moving northwest (y)- not (z)ap, around peaceful creatures. "y" is also the command to say yes to a question such as "Really attack Izchak?", and it's nearly always a good idea to answer no. Setting the paranoid_hit option (available if your game was compiled with the 'paranoid' patch) to true will help, as this will require you to explicitly type "yes" to hit peacefuls. If you're moving with (z) you end up running into something. This is a boolean option, and can be set in-game.

paranoid_quit

Requires you to type out 'yes' instead of just 'y' to confirm #quit-ting the game.

paranoid_remove

Always prompt for the letter of a jewelry/accessory item to (R)emove, even if only one is worn.

quiver_fired

Boolean option. If on, you'll quiver items if you fire them.

showborn

In dumplogs, displays the number of each type of monster created, rather than just the number killed.

showbuc

Always show BUC status if it is known. By default, "uncursed" is never shown to priests, or to anybody for most items with known charges or enchantment.

show_obj_sym

Displays the glyph for an object class in menus and allows its use as a hotkey to select all objects of that class.

A Boolean. Can be set in-game.

sortloot

Main article: sortloot

Defines how inventory, floor and container contents are sorted.

STATUSCOLORS

Main article: Statuscolors

Can be used to color HP, Pw, and other things on the status lines.

SYMBOL

Change terrain feature symbol to UTF8 character. Only applies when UTF8graphics is on. For example:

SYMBOL='altar':U+0c30

would make all altars show up as the Pi symbol (π).

Accepts the UTF8 character in either U+FFFF or 0xFFFF format. See also DUNGEONSYMBOLS.

TRAPCOLORS

Allows settings the colors for traps. Takes 22 numbers (between 0 and 15), separated by spaces. Order is the same as TRAPS. For example:

TRAPCOLORS= 6 6 7 3 6 1 7 12 4 9 0 0 3 3 5 5 13 7 7 12 12 10

use_darkgray

Use the dark gray color for black, instead of blue. Might not work for all terminals. Boolean option, defaults to off.

UTF8graphics

Use UTF-8 (characters for monsters, objects, and dungeon features. Boolean option, defaults to off. Nearly any Unicode character is allowed, however combining characters and wide characters currently do not work. Note that this also does not play well with the Curses interface.

See also SYMBOL, DUNGEONSYMBOLS, MONSTERSYMBOL, and OBJECTSYMBOL.

win_edge

Boolean option. If true, all menu windows are aligned to the left side of the screen. Defaults to false.


NetHack 3.6.0-specific options (Obsolete)

NetHack 3.4.3-specific options (Obsolete)

asksavedisk

NetHack should ask for save file disk for saving game. Only available if NetHack was compiled with MFLOPPY. Boolean option, defaults to false. Can be set in-game. Is saved into the savefile.

dungeon

Set the character symbols for displaying the dungeon. Compound option, takes a string of up to 41 characters, with default values of

" |--------||.-|++##.##<><>_|\\#{}.}..## #}"
(quotes not included; the throne symbol is escaped: nethack reads \\ as one \)

This can also be defined by using ASCII values instead of characters; see Custom map symbols#DUNGEON.

The order of the symbols is: solid rock, vertical wall, horizontal wall, upper left corner, upper right corner, lower left corner, lower right corner, cross wall, upward T wall, downward T wall, leftward T wall, rightward T wall, no door, vertical open door, horizontal open door, vertical closed door, horizontal closed door, iron bars, tree, floor of a room, dark corridor, lit corridor, stairs up, stairs down, ladder up, ladder down, altar, grave, throne, kitchen sink, fountain, pool or moat, ice, lava, vertical lowered drawbridge, horizontal lowered drawbridge, vertical raised drawbridge, horizontal raised drawbridge, air, cloud, under water.

NetHack 3.6.0: This option has been superseded by the symset option.

effects

Set the character symbols used for displaying various effects. Compound option, takes a string of up to 29 characters, with defaults values of |-\/*!)(0#@*/-\\||\\-//-\\| |\\-/

Can also be defined by using ASCII values instead of characters; see Custom map symbols#EFFECTS.

The order of the symbols is: vertical beam, horizontal beam, left slant, right slant, digging beam, camera flash beam, left boomerang, right boomerang, four glyphs giving the sequence for magic resistance displays, the eight surrounding glyphs for swallowed display, nine glyphs for explosions. An explosion consists of three rows (top, middle, and bottom) of three characters. The explosion is centered in the center of this 3 by 3 array.

NetHack 3.6.0: This option has been superseded by the symset option.

graphics

Set the character symbols used for displaying all graphics. Compound option, takes a string of up to 92 characters

Can also be defined by using ASCII values instead of characters; see Custom map symbols#GRAPHICS.

NetHack 3.6.0: This option has been superseded by the symset option.

monsters

Set the character symbols for displaying the monsters. Compound option, takes a string of up to 60 characters, with default values of
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@ '&;:~]

Cannot be set in-game.

Can also be defined by using ASCII values instead of characters; see Custom map symbols#MONSTERS.

The order of the symbols is ant or other insect, blob, cockatrice, dog or other canine, eye or sphere, feline, gremlin, humanoid, imp or minor demon, jelly, kobold, leprechaun, mimic, nymph, orc, piercer, quadruped, rodent, arachnid or centipede, trapper or lurker above, horse or unicorn, vortex, worm, xan or other mythical/fantastic insect, light, zruty, angelic being, bat or bird, centaur, dragon, elemental, fungus or mold, gnome, giant humanoid, invisible monster, jabberwock, Keystone Kop, lich, mummy, naga, ogre, pudding or ooze, quantum mechanic, rust monster or disenchanter, snake, troll, umber hulk, vampire, wraith, xorn, apelike creature, zombie, human, ghost, golem, demon, sea monster, lizard, long worm tail, and mimic.

NetHack 3.6.0: This option has been superseded by the symset option.

objects

Set the character symbols for displaying the object classes. Compound option, takes a string of up to 17 characters, with default values of ])[="(%!?+/$*`0_.. Cannot be set in-game.

Can also be defined by using ASCII values instead of characters; see Custom map symbols#OBJECTS.

The order of the symbols is illegal-object (should never be seen), weapon, armor, ring, amulet, tool, comestible, potion, scroll, spellbook, wand, gold, gem or rock, boulder or statue, iron ball, chain, and venom.

See also Custom map symbols

NetHack 3.6.0: This option has been superseded by the symset option.

prayconfirm

Prompt for confirmation before praying. A boolean, defaults to TRUE. Can be set in-game. Is saved into the savefile.

NetHack 3.6.0: This option has been superseded by the paranoid_confirmation option.

sound

Enables messages about what your character hears. Quite a handicap if set to FALSE.

A boolean, defaults to TRUE. Can be set in-game. Is saved into the savefile. Some in-game actions, such as fainting from hunger or praying, may reset this option to TRUE. (This is presumably a bug.)

NetHack 3.6.0: This option has been superseded by the acoustics option.

traps

Set the character symbols for displaying traps. Compound option, takes a string of up to 22 characters, with default values of ^^^^^^^^^^^^^^^^^"^^^^. Cannot be set in-game.

Can also be defined by using ASCII values instead of characters; see Custom map symbols#TRAPS.

The order of the symbols is: arrow trap, dart trap, falling rock trap, squeaky board, bear trap, land mine, rolling boulder trap, sleeping gas trap, rust trap, fire trap, pit, spiked pit, hole, trap door, teleportation trap, level teleporter, magic portal, web, statue trap, magic trap, anti-magic field, polymorph trap.

NetHack 3.6.0: This option has been superseded by the symset option.

warnings

Set the character symbols for displaying the warnings. Compound option, takes a string of up to 6 characters, with default values of 012345. Cannot be set in-game.

Can also be defined by using ASCII values instead of characters; see Custom map symbols#WARNINGS.

UnNetHack

showdmg

Wizard mode option in UnNetHack, enables printing the amount of damage inflicted during fight.


This page may need to be updated for the current version of NetHack.

It may contain text specific to NetHack 3.6.1. Information on this page may be out of date.

Editors: After reviewing this page and making necessary edits, please change the {{nethack-361}} tag to the current version's tag or {{noversion}} as appropriate.

  1. esc followed by d on unix systems also works
  2. src/options.c in NetHack 3.6.0, line 54