Unix Hearse client version 1.5

Source hearse-1.5.tar.gz
Debian binary package hearse_1.5-5_all.deb
RPM binary package hearse-1.5-1.noarch.rpm
Older versions distribution directory
current change log changelog
current notes Notes
bones-info script bones-info

Nethack sometimes saves the level on which you die (including your stuff, what killed you, and your ghost) in a "bones file". These files get loaded into later Nethack games. If you're the only Nethack player on your system you'll only get bones files you created yourself.

With Hearse, you can automatically exchange bones files with other Nethack players. When run it uploads any new bones files it finds on your system, then downloads any bones files the server feels like giving it. This web page describes the Unix Hearse client. Here's the man page and a "screen shot":

    # hearse
    hearse: uploading bones
    hearse: bonD0.4 offering to server
    hearse: Server already has this bones file
    hearse: bonM0.5 offering to server
    hearse: bonM0.5 uploaded
    hearse: downloading bones
    hearse: downloaded bonM0.3
    hearse: Finished downloading files

    This version (Testing) has a total of 19 bones files.  You uploaded
    4 of them.
    # _

An important thing to note is that by default using Hearse will cause you to end up with more bones than you otherwise would have. This changes the game's balance and is considered by many players to be a mild form of cheating. You can address this by turning on the --delete-uploaded option, but the down side is you'll never encounter your own bones files.

Alexis Manning wrote the Hearse server and the Windows client. See the Hearse home page for more information about the protocol, the server, and other versions.

Nethack and bones file versions

Nethack bones files are highly version, feature, and platform specific. These things taken together form a fingerprint which is put at the start of a bones file. Nethack itself checks that the fingerprint in a bones file matches the one it expects to see. It won't load a bones file which has a different fingerprint.

The Hearse server has to be told what bones file fingerprints to allow. At the very least it accepts bones created by the Debian 3.4 Nethack packages and the official 3.4 RPM, on both big and little endian systems. If you'd like to check whether your bones files are compatible with these, run bones-info against one of your bones files. A compatible bones file on a little endian system will have v1/v2/v3/v4 values like this:

    $ bones-info bonD0.4
    bonD0.4     sex=l v1=50594304   v2=1969350    v3=555422078  v4=2759955912
And on a big endian system it will look like this:
    $ bones-info bonG0.O.gz
    bonD0.4     sex=l v1=132099     v2=3322682880 v3=2115050273 v4=3365241252
To see what accounts for differences, use the --verbose switch. The standard compile looks like this:
    $ bones-info --auto --verbose bonD0.4
    bonD0.4: 18389 bytes
	   read as: little endian
       incarnation: 50594304   (3.4.2.0)
       feature_set: 1969350    (REINCARNATION SINKS KOPS MAIL TOURIST STEED
				TEXTCOLOR INSURANCE ELBERETH EXP_ON_BOTL)
      entity_count: 555422078  (33 artifacts, 433 objects, 382 monsters)
      struct_sizes: 2759955912 (164 flag, 64 obj, 101 monst, 456 you)
See the the bones-info man page for details about the program.

If your version isn't compatible you might be able to recompile it so that it is, or you can visit the Hearse home page and contact Alexis. He'll add versions with demand to the server's fingerprint list.

Binary packages

You can download the source for the Unix Hearse client from the distribution directory. You'll also find there an RPM binary package I put together, but I don't have any systems which use RPM so I haven't tested the result. Let me know if you have any problems (or if you know the answers to any of my RPM questions in the Notes file).

Hearse is available in Debian directly (I'm a Debian developer), but not yet in the stable release. If you like you can configure apt to download hearse (and updates) from here. Add

    deb http://www.argon.org/~roderick/hearse dist/

to your /etc/apt/sources.list file, then run

    # apt-get update && apt-get install hearse


Roderick Schertler <roderick@argon.org>

Up to Roderick's home page