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 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=2759955912And 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=3365241252To 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.
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