PuTTY
PuTTY is a free implementation of telnet, ssh and terminal emulation by Simon Tatham. It is the preferred way to play NetHack on a public server on Windows, as it is much more versatile and standards-compliant than Microsoft's telnet.exe that comes with Windows.
PuTTY can be downloaded from the PuTTY homepage.
Recommended settings
If at all possible, connect using the SSH protocol, as Telnet provides no encryption or authentication and leaves your credentials vulnerable to network snoopers.
To make IBMgraphics work with PuTTY, you need to set Remote Character Set (under Window/Translation) to CP437
To make PuTTY looks exactly like the Windows terminal window, set the Font (under Window/Appearance) to Terminal
Make sure auto-wrap mode (under Terminal) is switched off or you terminal might get spammed with text artifacts.
When using number_pad, it may be necessary to disable application keypad mode (under Terminal/Features).
When connecting to a server using dgamelaunch, you may become disconnected if you accidentally resize the window to have a different width or height in onscreen characters. To prevent this from happening, choose between Change the size of the font and Forbid resizing completely under Window. You can also set the starting window size here.
By default, right-click pastes in PuTTY. This can easily lose your game if you accidentally right-click a window when you have a long piece of text on the clipboard. It's recommended that you change the mouse button actions from Compromise to Windows (under Window/Selection) to disable this. Remember that, unless you save your session settings, you have to set this option again every time you play.
On some public servers running dgamelaunch, you can configure PuTTY to log in automatically. Servers running other software may have their own auto-login methods.
Color themes
Colors can be configured to your preference by going to Window/Color and editing the RGB codes of each color. To avoid the work, many color schemes can be found here; just follow the instructions in the README file.
NetHack mode
PuTTY has a special mode for playing NetHack[1]. You can enable it by selecting ‘NetHack’ in the ‘Initial state of numeric keypad’ control (under Terminal/Keyboard).
In this mode, the numeric keypad keys 1-9 generate the NetHack movement commands (hjklyubn). The 5 key generates the . command (do nothing).
In addition, pressing Shift or Ctrl with the keypad keys generate the Shift- or Ctrl-keys you would expect (e.g. keypad-7 generates ‘y’, so Shift-keypad-7 generates ‘Y’ and Ctrl-keypad-7 generates Ctrl-Y); these commands tell NetHack to keep moving you in the same direction until you encounter something interesting.
For some reason, this feature only works properly when Num Lock is on.
(Note that OPTIONS=number_pad:<1,2,3,4> is superior to this client-level setting, since it lets you use the letters for other commands rather than redundant movement commands, but the option could be useful if you're playing on a server that doesn't let you edit your config file.)