mushcode

Home

One of the great joys of MUSH (to me, anyway) is that I was able to learn to program without having a programming background. When I began writing MUSH code, I was a young housewife, with a great deal of free time on my hands. I learned through a very long process of trial and error. The programming I do is called "softcoding", and refers to creating objects on the fly within the MUSH database structure. "Hardcoding" refers to writing scripts in 'real' programming languages (or modifying the TinyMUSH server) and requires more real-world programming training to accomplish. I'm no longer a housewife. In fact, I'm now an IT professional. However, I can honestly say that I would have never been on this career path if I hadn't been interested in MUSHing. Because I wanted to learn to code I "had" to learn how to set up server software (which meant running my own Linux box -- this was before any MU* Windows ports). It all grew from there.

I switch between PennMUSH, TinyMUSH, and TinyMUX coding, the servers are almost identical on a softcode level. Some functions or flags carry different names, while some new ones exist in one server or the other. However, it takes a minimal amount of brainpower to switch from one to the other (after you know at least one!)

If you take *any* code from this site, all that I ask is that you post back the fixes, updates, or changes you may need to make in order to get the code functional elsewhere. There's no single source out there on "how" to softcode. Each of us has to learn from the scattered notes found online, and by deconstructing and reconstructing other peoples' code creations. Please respect that I am trying to provide a service to the MUSH community by providing this archive and give back where you're able.

Servers

It may be useful to install one (or more) servers on a home machine in order to work on code projects. This allows you to have access to wizard powers (assuming you're not wizzing on a live game), and going through the documentation files can teach you much about how the server works.

As a short illustrative example of that, I was asked to work on a PennMUSH game installing WoD globals and my edit of Didi's Chargen. For several weeks, I was frustrated by all of my TinyMUSH/TinyMUX code "breaking" on the Penn server. It was a laborious process to re-write it, but, it seemed that it had to be done. I finally installed Penn on my home machine, to give me more time to work on the porting project. While reading over the sample configuration file, I learned that there was a simple configuration change that would almost magically allow my code to work on Penn. I would have never learned this if I hadn't installed the server, myself.

  • Tiny MUX has both UNIX/Linux and 32-bit Windows native versions under development. Both are very stable. Includes the World of Darkness "Realms" flags, which vastly simplifies the wraith/changeling/umbra code for White Wolf MUX's. This server is still under regular development.
  • TinyMUSH is a merged server that came from combining TinyMUX 1x and old TinyMUSH 2.2x, resulting in what many say is the best and most robust server MU server out there. It's certainly in open and friendly competition with TinyMUX.  
  • PennMUSH is a server that I work on only under protest. I agreed to help out a new WoD game that runs on Penn, which is why I've touched it at all. I find it very confusing when compared to TinyMUSH 2.2, TinyMUSH 3.0, or TinyMUX 1 or 2. I also think it's something of a telling point that flatfiles don't travel from Penn to other servers, which shows just how much divergence there is. It's a nice enough server if you're not "set in your ways" like I am :).

The Wayback archive of my previous MUSHcode site. This old site hosted at Geocities was a long-time resource for people looking for help with MUSH code. RIP Geocities!