A public server allows one to play NetHack or a variant in a shared space on the Internet where one can encounter other people's bones and see scores in the server's score list. Most NetHack servers usually also add some interface patches and bug fixes; this list will not specify those. You may also choose to watch someone's game that is in progress.
You can access a public server by using a telnet or SSH client, such as PuTTY on Windows (see the PuTTY page for recommended settings) or ssh (OpenSSH) on Linux, other UNIX systems, MacOS, or (under Windows) WSL. Some public servers may not accept both telnet and SSH.
List of public servers
|Server||Location||Games||How to connect|
|nethack.alt.org (NAO)||Virginia, United States (Amazon us-east-1)||
|ascension.run (ASCRUN, formerly nethack.dank.ninja, nethack.xd.cm, acehack.de)||Falkenstein/Vogtl., Germany|
|feorar.org||Frankfurt a.M., Germany|
|Cafe / Veekun NetHack||Dallas, Texas, United States|
|grunthack.org||Virginia, United States|
|games.libreplanet.org||Boston, Massachusetts, United States|
|Public VMS / VAX Hack||San Francisco, CA, United States||
Setting up your own server
There are several ways to manage your public NetHack server, but the most common is to use dgamelaunch, which manages user accounts and runs the NetHack processes in a chroot jail when a user telnets into the server.
For FreeBSD, there is a work-in-progress document describing how to set up a NetHack server with dgamelaunch, and also provides patches to make auto-login work with FreeBSD telnetd.
Some servers may provide access to archives of data.