Welcome to EbonFarm!

I ported David McCullum's wonderful Ebonhack, to ease pudding farming..


I started pudding farming by pasting text into putty, while connected to NAO. Talking with paxed on IRC led us to conclude that pasting too much data could crash netHack!

So I moved onto using AuthoHotKey to farm with putty, but It was very slow, because I couldn't reliably tell when the screen had finished refreshing.

I had been using EbonHack to play on NAO normally, so I thought, why not work with this, and add a farming windows to it.


(22 MB) EbonFarm 0.15, source code, QT Dependencies, and windows EXE file


EbonFarm is based around your "Safe Spot".

When you click "Farm" or "Loot", EbonFarm detects the current cursor position, and calls that your "Safe Spot".

You have to hide a lot of messages from nethack to use EbonFarm, see my NAO nethackrc for examples of the "hide" messages I use.

Both vt_tiledata and num_keys must be enabled. num_keys for movement, and vt_tiledata for EbonFarm to determine when the commands it sent have completed.

The radio buttons are used to tell where you want to attack or offer.

The "Attacks" entry is how many attack message are sent in each network message, using 3 would be like like pasting in "F3F3F3"

The "Rounds" entry is how many network message are sent in between changing weapons, currently EbonFarm will re-wield the weapon before starting any round, even if only 1 weapon is used..

The "Offer" option will sacrifice the corpses it has recently killed.

The "Loot" button will attempt to BUC the item class selected, it is only useful if your Safe Spot has an "uncursed sack" as the only container, and you are picking items up from an altar.

Regardless of "Offer", or "Loot", if there is no pudding in the flagged direction for 7 rounds, then EbonFarm will Loot scrolls off of the alter. This is to pick up the scrolls of scare monster.

To Do List

  1. Make the farming work with an arbitrary container, and not require a 'uncursed sack'. Bags of Holding will never be valid, because wands and other bags can destroy them.
  2. Allow user to specify their own "Safe" and "Dangerous" monsters. Currently, these are the classifications:
    • Safe Monsters: "PsSafZB:"
    • Dangerous Monsters: "@c"
  3. Allow user to specify what food to eat. Currently the food prompt MUST match "[elw or ?*]", e for the food, l for lizard and w for wolfsbane, but you can split stacks of any food to make that prompt


  1. You can contact me with bugs, or feature requests at coplate+ebonfarm@gmail.com
  2. If there is something that is not discussed in the instructions, let me know and I will add them. I am often idling in #nethack on irc.feenode.net as user coplate