CPU mining

CPU mining was, once upon a time, the use of CPUs to mint bitcoin.

As it came to be supplanted by GPU mining, there were people who still wanted their CPUs to be able to make them money, so various alternative blockchain-based currencies were created which used scrypt in an attempt to make them “unfriendly” to GPUs.

As it turned out, the forms of scrypt used did not make GPUs completely useless for “mining” these new coins. Nonetheless, the use of scrypt did cause GPUs to have significantly less advantage over CPUs than they had with the original bitcoin, and eventually Litecoin won out over various other scrypt based chains as the coin of choice for those taking the scrypt route.

However, GPUs still have quite an advantage, to the extent that as GPUs migrate to Litecoin with the advent of ASIC devices for mining bitcoin and all the chains that can be merged-mined alongside bitcoin, it is expected that CPUs will become obsolete for Litecoin mining.

Various factions of players of the Galactic Milieu however had already begun experimenting on alternative methods of distributing currencies, and it was realised that in some ways the mining of cryptocurrencies has similarities to “the grind” experienced in the course of advancement in various games. Playing a game is something that CPUs could quite well be expected to be better at than GPUs, and ASICs seem quite unlikely to ever really be suitable for such purposes, at least not if the game world or game universe is reasonably dynamic.

The Open Transactions platform had meanwhile been coming along rather nicely, providing a nice consistent trading interface players of all kinds of games could use to conduct currency exchange and soon possibly also actual trade of goods that actually need to be transported from place to place.

Thus the players began to see the way ahead toward a new era of “CPU mining”, an era which would see not only the intergalactic mining operations already long underway but also an ever increasing population of characters mining metals and stones, and farming foodstuffs, and chopping wood and so on and so forth using the CoffeeMUD platform as a kind of ready-made “text mode API” through which to create whole new sets of tasks computers can perform to earn virtual currencies and resources; tasks far more suited to CPUs than to GPUs or ASICs.

With various plans afoot to create “coloured bitcoins”, it is starting to look as if “colouring” the coins, or satoshis, or inputs or outputs or somesuch of existing chains might turn out to be an even better solution to the “how to simply and easily create new currencies” problem than merged mining turned out to be. So increasing numbers of players are investing in a whole new array of “CPU mining” ideas which they hope will greatly enrich the game and create vast numbers of new opportunities for trade and commerce.

Already several factions have begun work on various “CPU mining” scripts, with somewhat mixed success so far. Essentially there is a software technology contest among the players, as each faction tries to keep decreasing the amount of manual intervention their characters need in order to achieve maximum 24/7 productivity.


The CoffeeMUD platform has so far been very well received among players, and appears to have excellent potential for keeping CPUs well ahead of GPUs in terms of their effectiveness at “mining” the platform. For example players quite early on discovered how the game's weather subsystem helps create uncertainty for all characters operating on scripts outdoors, due to the chance of slipping on ice and thus failing to move, losing count of how far one has moved in the desired direction. Obviously such things can be worked around, but the more workarounds scripting needs the better CPUs should end up doing against GPUs.

Eating, drinking, bathing and sleeping also make scripts more interesting, and have led to various discoveries as to what kinds of architecture or landscape might be most profitable for scripted characters to work in. It did not take long, for example, for players to realise that fountains only contain so much water; they need to be rebuilt periodically as they become empty. Then someone discovered that pools are actually water rooms, so the next innovation is expected to be the inclusion of such pool rooms instead of the use of fountains.

It is clear though that given an area free from interference by enemy characters, it is only a matter of scripting to reach a point where a whole array of pretty much standardised productive 24/7 automatic activities for characters are widely in use, so work has already begun on the structural and administrative details involved in massive deployment of “CPU mining” based games.

The original playtesting instance, MUDgaard, demonstrated the kind of loads 24/7 play can place on a server, and in fact it became so popular that it was necessary not only to close it to new users but also to move it physically from the server it had been sharing with other applications. It is now clear that dedicated physical servers will be required; in the meantime no new players are being accepted due to lack of infrastructure. Because “CPU mining” strikes directly to the economic heart of things third party hosting is not being considered; the servers will be hosted in the same secure facilities as the Digitalis Open Transactions server and the OTdemo Open Transactions server.

An idea of the scale of operations that are contemplated can be obtained by considering the sending of a unit of settlers on the Freeciv scale of play on a starship voyage to another planet. Such a journey takes most of a year, and when the unit of settlers forms a city at the destination the city is shown as having a population of ten thousand. Thus presumably the unit of settlers consists of about ten thousand people, and they need to survive on a starship in space for close to a year. It seems reasonable that they be provided with some kind of citrus or something to prevent scurvy, so quartermasters are considering sending something like two million oranges, or a million servings of orange juice and a million servings of lemonade, along on the journey. That is a lot of fruit-picking and possibly also a lot of juice-making. Then if you are going to allow the CoffeeMUD scale to provide the scurvy-prevention, why not let it provide three good meals a day per colonist too? That could provide markets for a whole lot of prepared food of kinds that store well.

Such calculations are useful the other way around too: by figuring out how many characters it will take to produce what such a unit of colonists needs for its voyage, we can the figure out based on how much it costs per character to be an active, producing character some indication of what the “real cost”, in terms of bandwidth and processor power, is, thus get an idea of how much the Freeciv scale should need to pay toward the CoffeeMUD scale for such provisions.

This in turn should be helpful for keeping players at large scales of play hopefully somewhat aware that the millions of tons of goods they are shipping around are valuable, thus that throwing them away for trivial sums of fiat currency is silly and hopefully even self-defeating.

MUD clients

There are many clients available for use with MUDs, however not all of them run on all or most operating systems and not all of them use the same scripting syntax. Thus it can be important to consider ahead of time, before selecting such a client, who will need to be able to use the scripts you write, what clients any scripts others have written that you might want to obtain and use are written for, and what operating systems the people needing to run your scripts might end up using.

So far TinyFugue has been the client of choice for CPU mining on CoffeeMUD MUDs, mostly because that is the one the Brits, Canucks, Ixians and Darlings have been using and they have all been able to share snippets of script.


Scripts for MUD clients typically consist of triggers; you tell the client various strings of text that you expect to see from the MUD and sequences of actions to have it output to the MUD on behalf of your character when it sees such strings.

For example when it sees some text from the MUD that indicates your character is hungry, it should send to the MUD an “eat something” command. CoffeeMUD does not seem to have a generic term that applies to all edible items so for CoffeeMUD you will need to have it specify a particular thing to eat, and that in turn means you need to have ensured you will have some of that particular thing on hand. Since you generally do not have a choice about what kind of edible thing you find when you forage you might want to buy your food so that you know exactly what it is that you will have on hand come the time that hunger strikes. Many characters thus buy magic berries of some particular type from Fellowship Faery instead of trying to prepare their own preserved foodstuffs ahead of time, though of course this is a matter of personal preference. The magic berries are popular not only because they are very nutritious and do not go bad with age but also because they double as healing berries so a character who keeps a supply of magic berries on hand to serve as food also thereby happens to have a supply of healing on hand without using up additional carrying capacity.

Basic triggers you will want include eating when you are hungry, drinking when you are thirsty, replenishing your food supply when you run out of food, replenishing your drink supply when you run out of drink, and stashing your loot or produce somewhere when you obtain loot or produce. If you do not have darkvision (infravision is not darkvision, it only lets you sense the presence of people, by their heat signatures, it is no good for seeing your inventory for example) you will want to carry a source of light, and if it is something like a lantern or torch you will want to automatically replenish it when it goes out. So far most players have found that trying to deal with lanterns has been fraught with problems, so torches are currently the popular choice for a light source despite their vulnerability to rain. You are of course free to determine for yourself what kind of light source suits your need best, or you could choose to deploy Drow or Duergar characters since both Drow and Duergar have darkvision as a natural ability. (Always on, not some kind of spell you have to keep casting every time it expires.)

Speaking of the actual type of character to deploy for CPU mining purposes, you should prefer to use Artisans, because Artisans get experience points for the kinds of activities that your scripted “CPU mining” characters will be performing, such as mining, foraging, food prep, cooking, weaponsmithing, pretty much any of the mundane activities that the adventurer types turn up their noses at and get no experience points for. You can expect Artisans to reach maximum level in just a few weeks of “CPU mining” so they are really the only sensible choice as characters dedicated to such activities.

In addition to eating and drinking, characters also need to sleep. So you will want to be checking for fatigue as well as hunger and thirst. Then too once you have your characters sleeping you will want to have them go back to work when they wake up. You will then have a complete cycle: upon waking, the character should ensure it has food, drink and, if it needs light, a light source; then head off somewhere to work. Coming home to sleep will be taken care of by a trigger when it becomes fatigued, as will eating and drinking. You can avoid the need to replenish food and drink supplies during the workday by having enough on hand when setting out, so that the character will not run out of food or drink before becoming fatigued.

Food turns out to be another advantage of races that live in caves, as it seems that when foraging in caves you end up with various kinds of mushroom, most of which the command “eat mushroom” will work on. There is a mushroom variety known as “wood ear” that is an exception so those will tend to accumulate if everyone's eating command just says to eat mushrooms but the fact that the majority of the foods found by foraging in caves do respond as “mushroom” is useful enough that along with the darkvision of Duergar and Drow races it does seem that for “CPU mining” purposes the Duergar and Drow might well be the races of choice.

Thus it has turned out that one of the simplest setups is to create Duergar artisans who will live at the Duergar starting area mining, foraging and digging for gems. If mining fails to find anything they switch to gem digging, if gem digging fails to find anything they switch to foraging and if foraging fails to find anything they switch to mining. This loops them through these three activities, only one of which - mining - they actually have at level one so they also have a trigger on “Huh?” so that when they try to dig for gems, or to forage, before reaching level two (the level at which artisans automatically gain those skills) they will go back to mining. This lets them start out from scratch with the same set of triggers they can go on using indefinitely. Their starting area is simplistic enough that they are in no danger of getting lost when they do the limited amount of moving around they need for filling waterskins and bathing, and the community already there piles up mushrooms where the scripts expect to find them so that new characters do not starve before their own foraging skill kicks in to keep them supplied with food. This simple setup has led to an explosion in the population of Duergar recently however obviously it will also put them in competition with each other eventually for getting resources to market so even though these initial scripts suffice to get new Duergar artisans started up and keep them going indefinitely they will need to move out to land of their own eventually. For the first few families to do so though there are several equally simple little sets of caves not far away which should suit them perfectly, requiring very minimal changes in their scripts to account for the slightly different configurations of the caves (which direction to the water, basically).

A useful thing to know when scripting for low level start from scratch characters is that when they do first gain gem digging skill at level two actually digging up some gems is likely to take longer than the default AFK (Away From Keyboard) timeout, causing their AFK trigger to get triggered which can interrupt their gem digging wasting all the time they already put in trying to mine the gems. For this reason the startup Duergar artisan scripts now in common use have the artisan smile upon each “continuing to dig” message while digging gems. This smile resets their AFK timeout counter. Basically it is a workaround to get them past the problem of being very slow at digging at such low levels.

Once basic scripts are in place to keep characters gathering resources, eating, drinking, and sleeping reliably, there are some potential optimisations beyond simply minimising the use of light sources or choosing character types that see in the dark naturally. Players are starting to test things like the use of soap to lower the number of actions, or ticks of time, spent bathing, and the use of beds to improve the efficacy of sleep. Players have noticed that often when a character sleeps it seems to sleep on long past the point at which it is no longer fatigued, so they are starting to try experiments to determine whether that seemingly “extra” sleep actually gains them anything, such as a longer useful period of wakefulness before needing to sleep again, or is basically wasted time that the character could instead be spending actively gathering resources or manufacturing products. Beyond optimisation of the basic production activities some are also looking ahead to larger logistic issues, in particular the possibility of setting up trade networks so that players who do not wish to deal with the logistics of transporting things for sale can perhaps be visited by travelling traders who will come to them to buy their products. In essence enough players have developed reasonably reliable basic production routines that some are starting to look into refining their processes and possibly trying to build more complicated networks of actions while still remaining robust.


You should seriously consider joining, or even forming, a clan because the “Clan Donate” spell can make shipping loot and produce home much simpler and the “Clan Home” spell can make the process of getting home to sleep much simpler. In particular the latter can get you home to a known place from pretty much anywhere, so it is extremely useful as a kind of “reset” command to get back to a known place any time your scripted behavior gets thrown out of synch, such as when slippery ground causes you to not be where you expect to be, leading in turn to further travels going further astray and so on, leaving you gosh knows where. These two clan abilities are so useful that really it is almost kind of silly not to be part of a clan. Being able to teleport stuff home from almost anywhere, and being able to teleport home yourself from almost anywhere, are well worth even the price of forming a clan yourself so forming a clan is an investment that anyone seriously interested in “CPU mining” should make.

Persistence of objects

The majority of “rooms” of a MUD do not retain arbitrary items “dropped” in them by players, so if you just go out into the wilds and start harvesting resources and piling it at your feet you will be vulnerable to having it all vanish whenever the system needs to be restarted or rebooted for any reason. The mainline solution to this is to obtain land from real estate agents, either clan land or land that is personal to the character. Basically this is most of what the whole land renting and ownership system is all about: providing persistence for objects that are on owned or rented land.

When the Brits and Canucks first settled MUDgaard for example they had one of their number personally rent a room in the Midgaard stables, and they all dumped all their stuff there. Technically anyone other than the actual renter of that room probably would have been flagged somewhere in Midgaard's laws system as a thief when they removed anything from that room, but as town guards never enter the stables it sufficed at the time. Actually there were no reports of theives so maybe somehow the laws system did not even track these “thefts”, possibly precisely because the room they rented was not directly adjacent to any “city street” room patrolled by the city guards. When they moved to the endless plains area once that was created, all potential problems with guards went away as that area has no laws system in place at all. Yes this means anyone can steal from anyone there without non player guards trying to intervene but it also is helpful for the kind of communal sharing of persistent storage space those early players were doing.

Because the Duergar race, with its darkvision, is looking like it might turn out to be a popular race for “CPU miners” a new area is now being built for MUDgaard which is designed from the start as a place for Duergar CPU-miner characters to start out. It has been set as the starting area for all characters of the Duergar race, and an initial few characters have already moved in and started to playtest it and figure out how best to make it a reasonable place to start. The problem of land renting or ownership did not take long to arise for these initial settlers, because only hours after they moved in a system reboot took place, causing their lack of any actual deeds to the rooms they were using to bite them: all the stuff they had piled on the ground there vanished during the reboot. That is in fact what led directly to this portion of this page being written, as it led to discussion of the problem of who the heck would the Duergar buy or rent land from down in some deep dark cave. The initial design for the area had in mind that these Duergar would live very deep, with Drow between them and the surface; they would be in a sense castaways, when they initially appear there upon creation of their character they appear in a shallow corner of an underground lake, seemingly washed up there as if they had fallen into water somewhere and gotten washed away down to this deep dark lake area that is to be their new home.

The fact that they really do seem to actually need to be able to obtain deeds so that their objects can persist turns out to help bolster the Drow story in that it makes it necessary that there be someone to get land deeds from and that particular background story logically places the Drow as the people from whom they would obtain such deeds. It now looks like this will mean a second chain of banks is going to be created, a Drow bank distinct from the Midgaard bank chain used by surface dwellers. This is needed because the money for rents comes from bank accounts and these deep caves are not really a place where the Midgaard bank can reasonably maintain a branch office.

The bottom line here is that unless you deposit your items directly into a bank for safekeeping, a service for which the bank charges a percentage based fee (0.8% per MUD-month currently), you really do need to obtain a deed to some room or rooms (“land”) in order to be able to store your loot across reboots and room-refreshes.


Running MUD clients is really not very CPU-intensive at all, so as a form of CPU mining it capitalises on the advantages that CPUs have over GPUs, FPGAs and ASICs without really making huge demands upon CPUs. Even a small system such as a Raspberry Pi could run quite a few characters very comfortably, so really the cost of connectivity and bandwidth to and from the server, and the cost of server resources at the server end, are probably the largest bottlenecks cost-wise. Really the server has more work to do per chracter than the client does, so it is expected that the cost of player accounts on servers is going to be a more significant expense to players than is the provision and maintenance of their own client machines. The use of text-mode games - MUDs - instead of some variety of graphics-intensive game should help hold these costs down though so hopefully this activity will still manage to remain accessible to low income people. Actually it is even hoped that the lack of fancy graphics might well help limit its appeal to people who are well supplied with money, due to its failure to fully exploit the kinds of high end systems such people might well own and wish to see at their prettiest. Possibly though the concept can eventually expand into the realm of graphics-intensive systems, maybe even OpenSimulator, though it seems likely the more that happens the less accessible it can be expected to be for low income people.


QR Code
QR Code cpu_mining (generated for current page)