| 1 |
============================================================================ |
|---|
| 2 |
User's Guide to PennMUSH 1.8.x |
|---|
| 3 |
============================================================================ |
|---|
| 4 |
|
|---|
| 5 |
Some of this Guide was written by Amberyl, and is used with permission. |
|---|
| 6 |
Most of it is by Paul/Javelin. This most recent version has been |
|---|
| 7 |
updated by Alex/Talek and Javelin. |
|---|
| 8 |
|
|---|
| 9 |
Installation information can be found in the files INSTALL or |
|---|
| 10 |
UPGRADING, depending on whether it's a new install or an upgrade. |
|---|
| 11 |
The file I18N discusses internationalization. |
|---|
| 12 |
|
|---|
| 13 |
I. Introduction and history |
|---|
| 14 |
II. Getting Help, Reporting Bugs |
|---|
| 15 |
III. Getting a .pennmush.org hostname and mailing lists |
|---|
| 16 |
IV. Miscellaneous |
|---|
| 17 |
V. Comments |
|---|
| 18 |
|
|---|
| 19 |
You may also want to take a look at Javelin's Guide for PennMUSH Gods, |
|---|
| 20 |
at http://pennmush.org/~alansz/guide.html |
|---|
| 21 |
or by ftp from pennmush.org, /pub/PennMUSH/Guide |
|---|
| 22 |
============================================================================ |
|---|
| 23 |
|
|---|
| 24 |
I. Introduction and history |
|---|
| 25 |
|
|---|
| 26 |
PennMUSH uses a version-numbering system that includes version |
|---|
| 27 |
numbers (like 1.7.2) and patchlevels (like p32), usually written |
|---|
| 28 |
together (1.7.2p32). |
|---|
| 29 |
|
|---|
| 30 |
Starting with 1.7.2, version numbers that are even (like 1.7.2) are |
|---|
| 31 |
stable releases - patchlevels on the latest stable release will only be |
|---|
| 32 |
issued to fix serious bugs. Version numbers that are odd (like 1.7.3) |
|---|
| 33 |
are development releases - patchlevels on the latest development release |
|---|
| 34 |
may include new features as well as bugfixes, and development releases |
|---|
| 35 |
may not be as stable as stable releases. On the other hand, some new |
|---|
| 36 |
features may *increase* stability without fixing bugs per se, and it's |
|---|
| 37 |
quite likely that later patchlevels on the development version will be |
|---|
| 38 |
more stable than those on the "stable" version. |
|---|
| 39 |
|
|---|
| 40 |
PennMUSH is a TinyMUD derivative, and one of the branches along the MUSH |
|---|
| 41 |
line. "Vanilla" TinyMUSH, which added the "v" registers and functions to |
|---|
| 42 |
the basic TinyMUD building commands, was written by Larry Foard. The code |
|---|
| 43 |
was later expanded by Jin, of MicroMUSH. In January of 1991, MicroMUSH |
|---|
| 44 |
changed its name to MicroMUSE, and the code there continued to develop |
|---|
| 45 |
under the MUSE name. At that same point in time, Moonchilde took the |
|---|
| 46 |
last public release of that code and began a series of improvements |
|---|
| 47 |
and extensions. |
|---|
| 48 |
|
|---|
| 49 |
That code was released as PernMUSH, named for the MUSH that Moonchilde |
|---|
| 50 |
was running. The last released version of that code was version 1.15, |
|---|
| 51 |
at the end of November 1991. PernMUSH itself had switched over to |
|---|
| 52 |
TinyMUSH 2.0, which Moonchilde had co-written with Glenn Crocker |
|---|
| 53 |
(Wizard of TinyCWRU); there was no longer a reason for Moonchilde to |
|---|
| 54 |
maintain this code. |
|---|
| 55 |
|
|---|
| 56 |
In January of 1992, Amberyl began working on the PernMUSH 1.15 code |
|---|
| 57 |
release, for TinyKrynn. She took over the code, which no one was |
|---|
| 58 |
supporting, and is continuing to work on extending this code, as well |
|---|
| 59 |
as improving its compatibility with TinyMUSH 2.0. She changed the name |
|---|
| 60 |
to PennMUSH (named for her school, the University of Pennsylvania), to |
|---|
| 61 |
avoid the confusion that resulted from PernMUSH actually running |
|---|
| 62 |
TinyMUSH 2.0. |
|---|
| 63 |
|
|---|
| 64 |
In January of 1995, Amberyl passed on her mantle to Javelin (aka |
|---|
| 65 |
Paul@Dune, Alan Schwartz), who continuted as the maintainer of the |
|---|
| 66 |
primary public distribution in development. He released two patchlevels |
|---|
| 67 |
numbered "dune-1" and "dune-2" before releasing PennMUSH 1.50 pl11 and |
|---|
| 68 |
later distributions. The numbering scheme changed again with PennMUSH |
|---|
| 69 |
1.6.0 (see CHANGES.OLD). |
|---|
| 70 |
|
|---|
| 71 |
Gradually during the early part of 1995, Alan formed the PennMUSH |
|---|
| 72 |
development team with T. Alexander Popiel (Talek) and Ralph Melton. |
|---|
| 73 |
The development process became more formalized, with official patches, |
|---|
| 74 |
a dedicated bug reporting email address, and better tracking of |
|---|
| 75 |
outstanding issues and history. |
|---|
| 76 |
|
|---|
| 77 |
In August of 1997, Ralph Melton left the PennMUSH development team, |
|---|
| 78 |
and Thorvald Natvig joined as a new member. Many thanks go to Ralph |
|---|
| 79 |
who contributed much time, code, and good cheer to PennMUSH. |
|---|
| 80 |
Since that time, the development team has gained and lost members. |
|---|
| 81 |
The current membership is usually listed at the top of the |
|---|
| 82 |
latest CHANGES.<version> file. |
|---|
| 83 |
|
|---|
| 84 |
In November 2002, with the release of PennMUSH 1.7.6, PennMUSH |
|---|
| 85 |
began using the Artistic License (see the COPYRITE file), |
|---|
| 86 |
an open source/free software license. This license was |
|---|
| 87 |
simultaneously adopted by TinyMUSH (2.2.5, 3.x) and TinyMUX to |
|---|
| 88 |
facilitate code sharing and widen use. |
|---|
| 89 |
|
|---|
| 90 |
In July 2006, Javelin retired from the role of Maintainer, passing the |
|---|
| 91 |
mantle of lead developer to Raevnos and that of release management to |
|---|
| 92 |
Ervin Hearn (Noltar). Many thanks go to Javelin whose contributions and |
|---|
| 93 |
guidance of PennMUSH have shaped it into the codebase that it is today. |
|---|
| 94 |
|
|---|
| 95 |
A MUSH manual should be available at ftp.digex.net, ftp.math.okstate.edu, |
|---|
| 96 |
primerd.prime.com, or from wherever you got this code from. The manual |
|---|
| 97 |
should be numbered version 2.007 or higher. |
|---|
| 98 |
|
|---|
| 99 |
If you are planning on modifying the source code to PennMUSH, you'll |
|---|
| 100 |
probably want Javelin's Guide for PennMUSH Gods, which should be |
|---|
| 101 |
available where you got this code, or, in hypertext, as |
|---|
| 102 |
http://pennmush.org/~alansz/guide.html. More recent versions |
|---|
| 103 |
may be available at http://community.pennmush.org. |
|---|
| 104 |
|
|---|
| 105 |
Enjoy! |
|---|
| 106 |
|
|---|
| 107 |
============================================================================ |
|---|
| 108 |
|
|---|
| 109 |
II. Getting Help, Reporting Bugs |
|---|
| 110 |
|
|---|
| 111 |
Here are some guidelines about where and how to report bugs or problems |
|---|
| 112 |
or generally look for help. |
|---|
| 113 |
|
|---|
| 114 |
There are three places one could get help with a problem: |
|---|
| 115 |
|
|---|
| 116 |
1. pennmush@pennmush.org is the PennMUSH mailing list. |
|---|
| 117 |
To subscribe, visit http://www.pennmush.org/mailman/listinfo/pennmush |
|---|
| 118 |
|
|---|
| 119 |
The PennMUSH mailing list should only be used for problems, |
|---|
| 120 |
bugs, suggestions, ideas, discussion, etc. that are OF GENERAL INTEREST. |
|---|
| 121 |
It's often hard to say what's of general interest, but a good |
|---|
| 122 |
rule of thumb is: |
|---|
| 123 |
|
|---|
| 124 |
Anything that occurs before the MUSH process is running is |
|---|
| 125 |
*not* of general interest |
|---|
| 126 |
|
|---|
| 127 |
That is, don't report problems with downloading PennMUSH, compilation, |
|---|
| 128 |
installation, restarts, or database corruption to the mailing list. |
|---|
| 129 |
These are often system specific. |
|---|
| 130 |
|
|---|
| 131 |
(If you don't want to hear these discussions, but do want to be |
|---|
| 132 |
informed of new patches, subscribe to pennmush-announce instead, |
|---|
| 133 |
at http://www.pennmush.org/mailman/listinfo/pennmush-announce) |
|---|
| 134 |
|
|---|
| 135 |
2. The PennMUSH bug-tracking site is http://dev.pennmush.org/ |
|---|
| 136 |
To file a new report, click on the 'New Ticket' link. If |
|---|
| 137 |
you want to get emails about updates to the bug report, put your |
|---|
| 138 |
email address in the appropriate field. For 'type', please select |
|---|
| 139 |
the most appropriate category: Bug, suggested feature, documetation |
|---|
| 140 |
issue, build/compliation problems, etc. Be sure to include what version |
|---|
| 141 |
of PennMUSH you found the problem on. |
|---|
| 142 |
|
|---|
| 143 |
If the problem resulted in a crash and a core dump, a stack trace of |
|---|
| 144 |
the core dump (see the section above) should also be included. |
|---|
| 145 |
|
|---|
| 146 |
If we need additional stuff (like a log of the Configure or make), we'll |
|---|
| 147 |
ask for it, but if you know that it's relevant, you can send it along, |
|---|
| 148 |
too. |
|---|
| 149 |
|
|---|
| 150 |
You can also search to see if anyone else has already reported the issue,' |
|---|
| 151 |
see what issues have been fixed for upcoming releases, and much more at |
|---|
| 152 |
the site. |
|---|
| 153 |
|
|---|
| 154 |
The old way of emailing pennmush-bugs@pennmush.org still works, but using |
|---|
| 155 |
the web interface allows you to specifically give an issue type when |
|---|
| 156 |
reporting something. |
|---|
| 157 |
|
|---|
| 158 |
============================================================================ |
|---|
| 159 |
|
|---|
| 160 |
III. Getting a .pennmush.org hostname and mailing lists |
|---|
| 161 |
|
|---|
| 162 |
Thanks to donations from the PennMUSH community, Javelin was able to |
|---|
| 163 |
register the pennmush.org domain name, and, if you're running a PennMUSH, |
|---|
| 164 |
you can have yourmush.pennmush.org assigned as a hostname for your MUSH, |
|---|
| 165 |
so players don't need to telnet to obscuresite.obscuredomain.com! |
|---|
| 166 |
|
|---|
| 167 |
NOTE: A hostname is not the same thing as a site. We don't have accounts |
|---|
| 168 |
for you to run your MUSH from. You must already have your MUSH |
|---|
| 169 |
running at someplace.edu or whatever -- we just provide a nice hostname |
|---|
| 170 |
that will resolve into your current site's IP address. |
|---|
| 171 |
|
|---|
| 172 |
How do you get a pennmush.org hostname? Go to |
|---|
| 173 |
http://services.pennmush.org/, and follow the instructions. |
|---|
| 174 |
It may take a day or two before the hostname will work. |
|---|
| 175 |
|
|---|
| 176 |
Thovald also has volunteered to host mailing lists for MUSHes in |
|---|
| 177 |
the pennmush.org domain. Details are on the same web page. |
|---|
| 178 |
|
|---|
| 179 |
============================================================================ |
|---|
| 180 |
|
|---|
| 181 |
IV. Miscellaneous |
|---|
| 182 |
|
|---|
| 183 |
IV.a Announcing when a mush is down |
|---|
| 184 |
|
|---|
| 185 |
If your mush is no longer running on a given port or server and |
|---|
| 186 |
you want to and are able to leave a programming running listening |
|---|
| 187 |
on that port, you can tell people about a new location or other news. |
|---|
| 188 |
|
|---|
| 189 |
Run: |
|---|
| 190 |
|
|---|
| 191 |
% make portmsg |
|---|
| 192 |
|
|---|
| 193 |
Then start the port announcer with: |
|---|
| 194 |
|
|---|
| 195 |
% ./src/portmsg message.txt port# |
|---|
| 196 |
|
|---|
| 197 |
Any connections to the given port will see the contents of the message |
|---|
| 198 |
file and then be disconnected after a few seconds. |
|---|
| 199 |
|
|---|
| 200 |
IV.b Running under gdb |
|---|
| 201 |
|
|---|
| 202 |
If you start the game through gdb (As opposed to attaching to a |
|---|
| 203 |
running process) pass the --no-session argument to netmush/netmud to |
|---|
| 204 |
avoid detaching from the controlling terminal (Done via fork() and |
|---|
| 205 |
setsid()). If you don't know what gdb is, don't worry about this. |
|---|
| 206 |
|
|---|
| 207 |
V. Comments |
|---|
| 208 |
|
|---|
| 209 |
V.a. Amberyl's Comments |
|---|
| 210 |
|
|---|
| 211 |
These are in the first person. :) |
|---|
| 212 |
|
|---|
| 213 |
I've been working with this code for a year and a quarter now. I can't |
|---|
| 214 |
claim that it's particularly elegant or inspired; all I can say is that |
|---|
| 215 |
it works (most of the time), and that I've had fun writing it. I'm |
|---|
| 216 |
also hoping that it's quite readable; the sections I've added or |
|---|
| 217 |
revised tend to be quite heavily commented. |
|---|
| 218 |
|
|---|
| 219 |
A number of people have been contributed a lot, directly and |
|---|
| 220 |
indirectly, to PennMUSH; many of them are credited in copyright.h. |
|---|
| 221 |
Read the file and embarrass them the next time you see them. ;) |
|---|
| 222 |
|
|---|
| 223 |
PennMUSH 1.50 patchlevel 3 contains the promised parser rewrite. A |
|---|
| 224 |
great deal of the code is derived or directly taken from the TinyMUSH |
|---|
| 225 |
2.0 parser; credit goes to JT Traub (Moonchilde) and Glenn Crocker |
|---|
| 226 |
(Wizard) for writing the thing in the first place. In most cases, the |
|---|
| 227 |
1.50 parser should now be functionally identical to the parser in |
|---|
| 228 |
TinyMUSH 2.0.9; see the news file for a brief summary of the changes. |
|---|
| 229 |
Major differences between the 1.50 and 2.0 parsers are almost certainly |
|---|
| 230 |
bugs, and should be reported to me. |
|---|
| 231 |
|
|---|
| 232 |
I do have a life, though, and academics/job/social stuff take priority. |
|---|
| 233 |
Thus, don't get too upset if it takes me a while to add your pet hack. |
|---|
| 234 |
:) I'm generally happy to discuss code and life in general, though, so |
|---|
| 235 |
if you see me on a MUSH, feel free to say hi. |
|---|
| 236 |
|
|---|
| 237 |
Enjoy your MUSH. |
|---|
| 238 |
|
|---|
| 239 |
-- Lydia Leong (lwl@digex.net) |
|---|
| 240 |
"Amberyl" just about everywhere |
|---|
| 241 |
|
|---|
| 242 |
V.b. Paul/Javelin's Comments |
|---|
| 243 |
|
|---|
| 244 |
And let me recognize T. Alexander Popiel, Shawn Wagner, Nick Gammon, |
|---|
| 245 |
Dan Williams, Ervin Hearn III, Ralph Melton, David Cheatham, and Thorvald |
|---|
| 246 |
Natvig, other past and present members of the PennMUSH development or |
|---|
| 247 |
porting team. Working with them is a real pleasure. |
|---|
| 248 |
|
|---|
| 249 |
I am trying to keep extending the functionality of the server, while |
|---|
| 250 |
optimizing and rewriting things wherever possible. I'm always |
|---|
| 251 |
interested in improvements or ideas for the code, as well as anything |
|---|
| 252 |
you might have done to get it to compile and run on unusual systems. |
|---|
| 253 |
|
|---|
| 254 |
|
|---|
| 255 |
-- Alan Schwartz (dunemush@pennmush.org) |
|---|
| 256 |
Javelin at most places |
|---|
| 257 |
|
|---|
| 258 |
|
|---|
| 259 |
V.c. Alex/Talek's Comments |
|---|
| 260 |
|
|---|
| 261 |
I would like to thank Ralph, Amberyl, Moonchilde, and all the others |
|---|
| 262 |
who went either with us or before us. |
|---|
| 263 |
|
|---|
| 264 |
PennMUSH is the embodiment of many years of hard work by many people. |
|---|
| 265 |
May it never stagnate. |
|---|
| 266 |
|
|---|
| 267 |
-- Alex (talek@pennmush.org) |
|---|
| 268 |
|
|---|