As I am a wizard (i.e., coder) on an LP mud, I feel obligated to mention LPC. A mud is an online text environment, a “multi-user dungeon” as it were. It’s basically what you describe: it’s an all-text adventure game. You telnet in (or use one a number of popular mud clients) and interact with real people in a roleplaying context.
This is not exactly what you are asking for, I know. You would need to download the LP mudlib source and compile it on a *nix machine. It is not the easiest compile in the world, at least, it wasn’t for me, but with a little editing you can make it work. The upside is that you instantly have a pre-built framework for darn near everything you could ever want to do in a text environment. Objects, rooms, monsters, weapons, armor, etc., all already set up and debugged. You can then focus on extending and adding your own personal touch to the world.
LPC is derived from C, and anyone with C-family programming experience can pick it up fairly easily. It is custom designed for the world of mudding. In terms of your requirements, well, it can handle text as well as C can, more or less. While you will be forced to run a *nix machine, it will be platform independent for your users – anyone with telnet can play.
If you are interested, there are plenty of helpful websites with information on muds in general and LPC specifically. If you are not interested, well, as I said, as a wizard on an LP mud, I must evangelize when given the opportunity. Here are some links to pursue:
http://www.sneakers.org/lpmud/www.neosoft.com/genesis/lpc.html -- LPC Programming Language Tutorial
http://www.imaginary.com/LPMud/lpmud_faq.html -- LP Mud FAQ (imaginary.com is a solid mud resource all around)
There is also at least one mud newsgroup oriented towards wizards and mud administatration. Furthermore, the wizards on most muds I am familiar with tend to be reasonably friendly, and would not mind fielding any questions you might have.
The LP mud FAQ contains links to FTP sites with everything you need to download. I downloaded from ftp://ftp.lysator.liu.se, so I know that one works.
Ok – required mentioning of an obscure little language with a specific mission that does its job quite well is now over. It’s not every day I get to talk about this to someone outside the mud world.