| 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) |
|---|