community.pennmush.org https://community.pennmush.org/rss.xml en New version of CPO https://community.pennmush.org/node/14244 <span class="field field--name-title field--type-string field--label-hidden">New version of CPO</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ray73864</span></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 2016-03-31 21:47</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>New version of CPO running on Drupal 8 instead of Drupal 6, some things still not working fully.</p> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Fri, 01 Apr 2016 02:47:29 +0000 ray73864 14244 at https://community.pennmush.org https://community.pennmush.org/node/14244#comments April First https://community.pennmush.org/node/9957 <span class="field field--name-title field--type-string field--label-hidden">April First</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>walker</span></span> <span class="field field--name-created field--type-created field--label-hidden">Mon, 2014-03-31 23:28</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/11" hreflang="en">Humor</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Why yes, it _is_ April first. And yes, there _is_ something going on, as of Midnight, April 1st, Eastern Time. (I'm going to bed early so couldn't wait for M*U*S*H midnight. Sorry!)</p> <p>A note to those who immediately connected a few minutes after @shutdown - it ended up taking me about 20 minutes to get everything properly set up and running, firewalled, etc. So if you attempted a connection during that time that seemed like it should've worked but didn't, then try again.</p> <p>(And a few people were seeing nothing - may have happened to others. Hopefully that's fixed! If there's any more issues, let me know here!)</p> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Tue, 01 Apr 2014 04:28:31 +0000 walker 9957 at https://community.pennmush.org https://community.pennmush.org/node/9957#comments M*U*S*H PSA - Fundraising https://community.pennmush.org/node/2304 <span class="field field--name-title field--type-string field--label-hidden">M*U*S*H PSA - Fundraising</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>talvo</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 2013-02-20 20:42</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Fellow M*U*S*Hers,</p> <p>Some of you may recall a recent dbsave theme about ways to raise money for M*U*S*H. While this was, like most dbsaves, done in jest, our hosting costs are quite high - almost $600 a year.</p> <p>For the last few years, the PennDevs have split the cost for Gaebolg - the machine which hosts M*U*S*H, the pennmush.org websites, and the devs' test games, among other things. However, with the economy being what it currently is, meeting these costs has become more difficult. Therefore, we'd like to invite donations from the community; if you're in a position to contribute any amount, and would like to do so, we'd be very grateful!</p> <p>Donations can be made online via Google Checkout (to Walker, our accountant), and all donations will be kept anonymous unless you request otherwise - if you choose to give your M*U*S*H charname when donating, we'll be happy to reward you with a shiny badge on your +finger in thanks for your donation.</p> <p>For more information, or to make a donation, please see <a href="http://www.pennmush.org/donate.html">http://www.pennmush.org/donate.html</a> . If you have any questions, please feel free to give me or another admin a shout. We'd also be happy to hear any fundraising ideas you might have.</p> <p>Thank you for your time, and of course for keeping us entertained.<br /> And for your moneyz. ;)</p> <p>Mike, on behalf of the broke-ass admins. ;)</p> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Thu, 21 Feb 2013 02:42:55 +0000 talvo 2304 at https://community.pennmush.org https://community.pennmush.org/node/2304#comments PennMUSH 1.8.5p0 https://community.pennmush.org/node/1005 <span class="field field--name-title field--type-string field--label-hidden">PennMUSH 1.8.5p0</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>raevnos</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sun, 2012-02-12 01:22</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/8" hreflang="en">Releases</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>The PennMUSH development team is proud to announce the release of 1.8.5 patchlevel 0. As usual, lots of fixes, some new stuff, and, justifying the version bump, some major new changes in requirements to compile and run a PennMUSH (Formerly optional libraries are now mandatory.). </p> <p>Get it at <a href="http://download.pennmush.org/Source">download.pennmush.org</a> or at <a href="http://code.google.com/p/pennmush/wiki/Downloads?tm=2">the googlecode project download page</a>.</p> <p>Changes below the cut.</p> <p>Major changes</p> <ul><li>The PCRE library is now required to build Penn, instead of falling back to an old, buggy version formerly bundled with the MUSH. <b>[SW]</b> Daniko assisted greatly with Windows changes and documentation.</li> <li>The OpenSSL library is now required to build Penn. Again, Daniko has provided instructions for installing on Windows. <b>[SW]</b></li> <li>A new command prefix, "}", enables debug for a single execution of the command - }think foo, }+who, etc. See 'help }' for more info. Suggested by <em>Wiggles and <b>[GM]</b></em>. <b>[MG]</b></li> </ul><p>Minor changes</p> <ul><li>Added a new event, OBJECT`FLAG, triggered when a flag/power with the "event" restriction is set or cleared. Suggested by <em><b>[SW]</b></em>. <b>[MG]</b></li> <li>Expanded help on lock types and <code>@powers</code>. <b>[MG]</b></li> <li><code>@startups</code> are now processed in db order (#0, #1, etc) on reboot instead of giving priority to player objects. <b>[MG]</b></li> <li><code>@startups</code> (and <code>local_startup()</code> in local.c) are now triggered slightly later, ensuring that the db is fully loaded, and that the connected player list is loaded on <code>@shutdown/reboot</code>. Suggested by <em>Padraic</em>. <b>[MG]</b></li> <li>Switch names that are defined but not used by any commands are warned about on startup, and several unused ones have been removed from the master list. <b>[SW]</b></li> <li>Tweak utils/mkcmds.pl for the above change and to remove references to generating the obsolete patches.h. <b>[SW]</b></li> <li>Tweak the parameters of the skip list used to store memcheck counts to save some memory. <b>[SW]</b></li> <li>Bring the scheme scripts in utils up to date with current versions of chicken scheme (The implementation of the language they're written for.) <b>[SW]</b></li> <li>The test harness code strips trailing whitespace before attempting to match against expected results, making it easier to use bounded regexps. <b>[SW]</b></li> <li><code>@destination</code> (for variable exits) is now a standard attribute, and has a helpfile. <b>[MG]</b></li> <li>Sound is now propagated through audible variable exits, and exits <code>@linked</code> to 'home'. Suggested by <em>Mercutio</em>. <b>[SW]</b></li> <li>The internal QUEUE attribute is no longer used to track the number of action lists an object has queued; the objdata system is used instead. <b>[SW]</b></li> <li><code>isobjid()</code> now requires a full object id (with :ctime), and will return 0 for simple dbrefs, or objids of destroyed/invalid objects. <code>isdbref()</code> still matches both dbrefs and objids. Suggested by <em>Covenent</em>. <b>[MG]</b></li> <li><code>@entrances</code> and <code>entrances()</code> now use the same internal routines as <code>@search</code>, and have similar (and saner) privs. From a suggestion by Sketch. <b>[MG]</b></li> <li>Connection messages that are evaluated from an attribute instead of read from a file get the dbref of the connected player as %1, as long as they're ones shown post-connection (motd_file, etc.) <b>[SW]</b></li> <li>Passwords are, thanks to OpenSSL digest routines, now stored in a less error prone, more secure, flexible and extendable format. Existing player passwords will be upgraded automatically on login. <b>[SW]</b></li> <li>New script in utils/ for manipulating player passwords in an offline database. Useful if you forget God's password. <b>[SW]</b></li> <li>The my_vsnprintf function in the hardcode has been renamed to mush_vsnprintf to avoid a conflict with MySQL. Reported by <em>Balerion @ Blood of Dragons</em>. <b>[MG]</b></li> <li>The enactor (%#) for the PLAYER`DISCONNECT event is now more useful, instead of always being set to the dbref of the player disconnecting (%0). Suggested by <em>Padraic</em>. <b>[MG]</b></li> <li>The SOCKET`LOGINFAIL event now gets passed the name that was entered as %5 when no matching player is found. Suggested by <em>Daniel Powell</em>. <b>[MG]</b></li> </ul><p>Commands</p> <ul><li>Added <code>@mail/review</code> for reading mail you've sent, and <code>@mail/retract</code> for deleting unread mail that you sent. Idea from MUX. Patch by Minion.</li> <li><code>@hook/list</code> now shows error messages if you don't have permission to use it, or if a command has no hooks, instead of failing silently. Suggested by <em>Padraic</em>. <b>[MG]</b></li> <li>Wizards can now <code>@pcreate</code> players with restricted names, as well as being able to rename existing players to forbidden names. Suggested by <em>Nymeria @ Blood of Dragons</em>. <b>[MG]</b></li> </ul><p>Functions</p> <ul><li>Functions that take a sort type argument now accept 'mtime' for sorting based on object's modification time. Patch by Minion.</li> <li>New <code>registers()</code> function, like <code>listq()</code> but returns all kinds of registers (q-registers, %0-%9 args, iter/switch context, regexp captures). Also takes an output separator arg. Suggested by <em>Wiggles</em>. <b>[MG]</b></li> <li>digest(list) returns all message digest algorithms the server supports. <b>[SW]</b></li> <li><code>sha0()</code> has been deprecated in favor of <code>digest()</code>. <b>[SW]</b></li> </ul><p>Fixes</p> <ul><li><code>lit()</code> didn't properly handle ''s. Reported by <em>Wiggles</em>. <b>[MG]</b></li> <li><code>listq()</code> incorrectly returned all registers (including %0-%9, %i0, etc), not just %q-registers. Reported by <em>Wiggles</em>. <b>[MG]</b></li> <li>The mud_url code didn't always work correctly in Firefox because http headers weren't sent. <b>[MG]</b></li> <li>%0 and %1 arguments weren't properly passed through verb attributes after a change in p8. Reported by <em>Padraic</em>. <b>[MG]</b></li> <li>Fix really stupid copy-and-paste error in magic sorts on strings with ANSI, which broke <code>setinter()</code> and friends. Reported by <em>Minion</em>. <b>[MG]</b></li> <li>Help fixes by Wiggles, Mouvar and others. <b>[MG]</b></li> <li>Memory leak in <code>ldelete()</code> fixed. <b>[MG]</b></li> <li>Fix a crashbug reported by Minion. <b>[MG]</b></li> <li>Sorting functions now ignore ANSI when sorting a string as a number or dbref. From report by Mouvar. <b>[MG]</b></li> <li><code>strreplace()</code> was broken for overly long length arguments. Reported by <em>Ashen-Shugar</em>. <b>[SW]</b></li> <li>Compile errors on Windows with OpenSSL. Reported by <em>Daniko</em>.</li> <li><code>@uptime</code> could report negative times for the first dump, purge, etc after a game was started. Reported by <em>Cooee</em>. <b>[MG]</b></li> <li>override/inplace hooks from .cnf files didn't work correctly. <b>[MG]</b></li> <li>The portmsg announcer daemon was broken. Reported by <em>Minion</em>. <b>[SW]</b></li> <li>A change in p8 broke the sending of the Pueblo hello string in some cases. Reported by <em>Mercutio</em>. <b>[MG]</b></li> <li>Fix crash bug in <code>@sitelock/remove</code> <b>[SW]</b></li> <li>ssl_slave would drop connections if it couldn't resolve a valid hostname for the connecting IP address. <b>[SW]</b></li> </ul></div> Sun, 12 Feb 2012 07:22:28 +0000 raevnos 1005 at https://community.pennmush.org Notify your MUSH automatically of new Github pushes https://community.pennmush.org/node/995 <span class="field field--name-title field--type-string field--label-hidden">Notify your MUSH automatically of new Github pushes</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Eratl</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 2011-10-26 16:12</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/13" hreflang="en">Tools</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Just wanted to share that I've open-sourced my latest little creation, a <a href="http://www.sinatrarb.com/">Sinatra</a> web application designed to receive post-push POSTs from <a href="http://www.github.com">Github</a>. On my latest MUSH project, we're using git and Github heavily, with multiple repositories for the game's code, softcode, etc, and this provides a handy way to not only keep the coders up to date on new pushes, but also keep everyone the game up to date on what's happening, even if they're not Git-savvy. </p> <p><a href="http://i.imgur.com/wHEXG.jpg">Here's an example</a> of what it looks like, game-side...</p> <p>And here's the link (hosted on Github, naturally!) with instructions on setting it up for your game: <a href="https://github.com/tkrajcar/github-notify-mush">https://github.com/tkrajcar/github-notify-mush</a></p> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Wed, 26 Oct 2011 21:12:54 +0000 Eratl 995 at https://community.pennmush.org https://community.pennmush.org/node/995#comments Give your MUSH a web-based guest client! https://community.pennmush.org/node/993 <span class="field field--name-title field--type-string field--label-hidden">Give your MUSH a web-based guest client!</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>walker</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sun, 2011-10-16 13:05</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/23" hreflang="en">Clients</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>As a followup with <a href="http://community.pennmush.org/story/kindling-new-client">Banana</a> - I am now offering, for free, guest web accounts for anyone who would like the ability to offer a lightweight, web-based guest connection to their mush.</p> <p>You can see an example here: <a href="http://client.pennmush.org/guest/bugmush">http://client.pennmush.org/guest/bugmush</a> - That's my development mush.</p> <p>M*U*S*H and CrossroadsMUSH are also available. (But please note, you can only 'guest' to one mush at a time!)</p> <p>If you would like to set one up for your mush, this is what I need from you:</p> <p>1) Your MUSH's name, host and port. (e.g: WalkerMUSH at walker.pennmush.org port 4240</p> <p>2) Write up some text (or you can use HTML!) for the header and footer of the client.</p> <p>3) Optionally, you can have some text to auto-send. e.g: "connect guest" and "+newbie Hello from a Web Guest!"</p> <p>4) Contact me as Walker at M*U*S*H and we'll get you set up and going! =). Alternately, email those to me at captdeaf@gmail.com</p> <p>FAQ:</p> <p>&gt; Can I have it in a different layout or add other features to it?</p> <p>Absolutely! The client can be as customized as you want it to be - but that's out of the scope of this blog post =). And you'd have to do the work of customizing, but I can tell you where+what to do.</p> <p>&gt; What about security? Can somebody spam me with it?</p> <p>They can, but they can spam you anyway. If it turns out to be a problem, then ban the pennmush.org IP - The client.pennmush.org server is currently running on it. And if you want, we can talk more about this as well, just contact me on M*U*S*H! =).</p> <p>&gt; Are there logs?</p> <p>All output from the mush is logged, and tagged by guest number. If that concerns you, then you don't have to use it - you are free to download, install, and maintain a copy of Banana on your own server =).</p> <p>&gt; Can I use it as a web client to connect to any mu*s I want?</p> <p>Certainly, but this requires getting a user account from me. Anonymous people can only connect freely to mushes who want them. Again, if you want full control, it's open source.</p> <p>&gt; Why are you doing this?</p> <p>For several reasons.</p> <p>1) I wrote Banana, and I want to see it used =).<br /> 2) I think that a web client might get more people into MUSHing, which is a tough trick in this day and age.<br /> 3) I could use the broader user base for bugtesting =).<br /> 4) Because the bandwidth involved is minimal, and it's fun.</p> <p>&gt; Where can I get more information about Banana?</p> <p>From two places:</p> <p>1) The CPO blog post about Banana: <a href="http://community.pennmush.org/story/kindling-new-client">http://community.pennmush.org/story/kindling-new-client</a><br /> 2) My personal blog post about it: <a href="http://www.carbonatedblog.com/2011/09/bananananana.html">http://www.carbonatedblog.com/2011/09/bananananana.html</a></p> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Sun, 16 Oct 2011 18:05:07 +0000 walker 993 at https://community.pennmush.org https://community.pennmush.org/node/993#comments Mr. Wiggles Guide to Building on A Mush https://community.pennmush.org/node/989 <span class="field field--name-title field--type-string field--label-hidden">Mr. Wiggles Guide to Building on A Mush</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>MrWigggles</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 2011-10-12 20:12</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/10" hreflang="en">Education</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Hey there, somehow, you've manage to find these series of articles on building on a mush. Some of these articles will be PennMush explicit (and marked as such), but there will still be various articles that'll help you in building in general. </p> <p>These articles will cover good practices, and explain why they should be done as so. It'll give examples on how to use the various digging commands.</p> <p>It'll cover the general guide lines on how to write a good descriptions. </p> <p>Hopefully, I'll do a decent job of transcribing my experience of being a builder in order to help others in the future.</p> </div> Thu, 13 Oct 2011 01:12:20 +0000 MrWigggles 989 at https://community.pennmush.org PennMUSH 1.8.4p7 https://community.pennmush.org/node/979 <span class="field field--name-title field--type-string field--label-hidden">PennMUSH 1.8.4p7</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>raevnos</span></span> <span class="field field--name-created field--type-created field--label-hidden">Mon, 2011-09-26 02:32</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/8" hreflang="en">Releases</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>PennMUS 1.8.4p7 as been released, available from <a href="//download.pennmush.org/Source">http://download.pennmush.org/Source</a>. Lots of important bug fixes and new stuff. </p> <p>Changes include:</p> <hr /> Version 1.8.4 patchlevel 7 (Sep 25, 2011) <p>Deprecation</p> <ul><li><code>@elock</code>, <code>@eunlock</code>, <code>@ulock</code> and <code>@uunlock</code> are deprecated. <b>[SW]</b></li> <li><code>@doing</code> is now deprecated (see below).</li> <li>The "newline_one_char" mush.cnf option is now deprecated, and will soon always be "Yes". If you have it set to No and have any code that assumes strlen(%r) == 2, you should change it now. <b>[MG]</b></li> </ul><p>Major changes</p> <ul><li>DOING is now a standard attribute. Your <code>@doing</code> can be any length, and <code>doing()</code> returns the whole string (though it will still be truncated when displayed on WHO), can contain ANSI and will be evaluated each time it's displayed, allowing for random/rotating doings. The <code>@doing</code> command will escape its input before setting into an attribute, for backwards compatability, but is now deprecated; use &amp;doing to store code. <b>[MG]</b></li> <li>All objects with the same flags or powers set share the same storage for those flags. Large games should see slightly reduced memory use. Suggested by <em><b>[GM]</b></em>. <b>[SW]</b></li> </ul><p>Minor changes</p> <ul><li>Rewrite memcheck allocation tracking to use a more efficient data structure. <b>[SW]</b></li> <li>Help file improvements, by Ender and others. <b>[SW]</b> <b>[MG]</b></li> <li>Added a new 'getting started' helpfile, that gives a brief overview of how to move, talk, use channels and <code>@mail</code>. Suggested by <em>Wiggles</em>. <b>[MG]</b></li> <li><code>@decompile</code> now uses '&amp;attr obj=value', even for standard attributes, to avoid possible clashes with command names. Suggested by <em>Mercutio</em>. <b>[MG]</b></li> <li>Extended convtime understands timestamps of the form 'YYYY-MM-DD hh:mm:ss'. Suggested by <em>Padraic</em>. <b>[SW]</b></li> <li><code>pemit()</code> now accepts a list of port numbers, to pemit to multiple ports at once. Suggested by <em>Padraic</em>. <b>[MG]</b></li> <li>Built in functions and commands can now be marked as being deprecated. Using one of these functions or commands results in a warning to the owner of the object executing them. Deprecated functions and commands might be removed in future patch levels; code using them needs to be rewritten. <b>[SW]</b></li> <li>Rewrite function restriction parsing and reporting to make it easier to add new restrictions. <b>[SW]</b></li> <li>Code cleanup. <b>[SW]</b></li> <li>Channels are now ungagged on disconnect, instead of connect, so you'll see your "&lt;Foo&gt; Bar has connected." message next time you log in. <b>[MG]</b></li> <li>WARN_ON_MISSING can now be <code>@hooked</code>. Suggested by <em>Padraic</em>. Also, help has been added for that and UNIMPLEMENTED_COMMAND. <b>[MG]</b></li> <li><code>fn()</code> didn't always work correctly on a UserFn function, especially when nested in another function. Reported by <em>Padraic</em>. <b>[MG]</b></li> <li>Accents are no longer stripped from output sent to players who haven't logged in (those at the connect screen). Suggested by <em>geradon</em>. <b>[MG]</b></li> <li>Softcode functions are now passed an additional argument, eflags, by the hardcode, which should be used when the function calls <code>process_expression()</code>. See HACKING.184 for more info. <b>[MG]</b></li> </ul><p>Functions</p> <ul><li>Mortals can now use lwho(me). Allows for lwho(%#) on ancestors to be used by all. Suggested by <em>Minion</em>. <b>[MG]</b></li> <li><code>xwho()</code> now takes an optional &lt;looker&gt; arg, like <code>lwho()</code>. <b>[MG]</b></li> <li><code>rand()</code> without an argument returns a floating point number greater than or equal to 0 and less than 1. <b>[SW]</b></li> <li><code>itemize()</code> is now more ANSI-aware. Reported by <em>Jules</em>. <b>[MG]</b></li> <li><code>fullalias()</code> didn't include old-style exit aliases (which were a part of the exit name). <b>[MG]</b></li> </ul><p>Locks</p> <ul><li>New locks, <code>@lock/filter</code> and <code>@lock/infilter</code>, which must be passed (along with any <code>@filter/</code><code>@infilter</code> set) for an object to forward sound. Patch by Padraic.</li> </ul><p>Fixes</p> <ul><li>Verified that Penn compiles using the clang compiler, and fix a few warnings it generated. <b>[SW]</b></li> <li>Better fix for the DBREFLIST issue fixed in p6. <b>[SW]</b></li> <li><code>@pemit/list</code> stopped reporting when it failed to match an object in p5. Reported by <em>Padraic</em>. <b>[MG]</b></li> <li>'page' evaluated its args incorrectly when used in an $-command. Reported by <em>Invidia<code>@Dune3</code></em>. <b>[MG]</b></li> <li>Win32 compile fixes by Daniel Powell. <b>[MG]</b></li> <li>Fix an off-by-one error in <code>wrap()</code>. Report by Padraic, patch by Minion <b>[MG]</b></li> <li>Sorting code didn't do proper objid checks, so setinter(#1:123, #1:456) would return #1:123 instead of nothing. <b>[MG]</b></li> <li>The Can_spoof power was only aliased to Can_nspemit (its original name) in upgraded dbs, not in new games created from minimal db. Reported by <em>Ben Ramsey</em>. <b>[MG]</b></li> <li>Fix a crash bug in <code>@function/restrict</code> on malformed input. Reported by <em>Padraic</em>. <b>[SW]</b></li> <li>Some fixes to the test suite. Reported by <em>Covenent</em>. <b>[MG]</b></li> <li><code>@pageformat</code> included nospoof information. Reported by <em>Jules</em>. <b>[MG]</b></li> <li><code>case()</code> clobbered $0-$9 subs. Reported by <em>Jules</em>. <b>[MG]</b></li> <li>Named regexp captures -- (?P&lt;NAME&gt;pattern) -- were broken in a recent patchlevel. Reported by <em>Jules</em>. <b>[MG]</b></li> <li>Markup wasn't stripped from queued commands, making it possible for ANSI to bleed. Reported by <em>Wiggles</em>. <b>[MG]</b></li> <li>Pueblo players couldn't see ANSI in connect screens. From a report by geradon. <b>[MG]</b></li> <li><code>money()</code> behaved incorrectly when the tiny_math config option was on. Reported by <em>Daniell Powell</em>. <b>[MG]</b></li> <li>Databases with 8-bit characters couldn't be saved using the internal libz compression routines. <b>[SW]</b></li> <li>It was possible to create a player with a forbidden name from the login screen. Reported by <em>Andrew Bell</em>. <b>[MG]</b></li> </ul></div> Mon, 26 Sep 2011 07:32:47 +0000 raevnos 979 at https://community.pennmush.org New protocols: Additional musings https://community.pennmush.org/node/953 <span class="field field--name-title field--type-string field--label-hidden">New protocols: Additional musings</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Cheetah</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 2011-08-13 19:08</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/16" hreflang="en">Community</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Let me briefly cover two additional topics on the matter. One's about how to proceed once some ideas have trickled in. One's on, more or less, what the protocol would do as I envision it (but not yet HOW). I strongly suggest not reading this post until after you've made your suggestion on the previous one, if you're planning to do that.</p> <p>The process of defining the protocol would happen roughly as follows: </p> <ol> <li>Gather all basic ideas on what functionality the protocol should provide. </li> <li>Discuss with codebase and client devs which features would be feasible. Which could be, with the possibility to degrade gracefully. During all future steps, keep a line of feedback with devs. </li> <li>Design how the protocol should achieve this in an abstract sense. (More on this below.) </li> <li>Design how the protocol should convey this information in a <em>specific</em> sense. (Mentioning words like 'XML' before this step would just be wildly premature.) </li> <li>Actually work to implement the protocol with at least one client and server. </li> <li>Hopefully become popular enough to spread. </li> </ol> <p>Now.. Let's take a few points from step 1 and I'll give you my ideas so far for step 3. Again, you'll note that I'm not making any suggestions on how to represent things specifically. This is neither the hard part, nor is it interesting if step 3 can't be tackled adequately. (Much as reasoning about what shape a car should be for optimal performance is a bit premature if you're still working on inventing the engine.)</p> <p>Some of the suggested or already existing uses of a protocol would be, in random order: Supplying metadata. Creating clickable links to send commands. Creating clickable links to pass to a browser. Creating links to images. (Which the client could interpret as clickables, or display inline.)</p> <p>The idea, then, is to tag text not based on what you'd like to do with it, but by what what it <em>means</em>. (Note that I say 'tag', and if you really want you could think of it as an XML tag or something, but keep in mind that at this point we're still far more abstract than that.) For example, we might want a 'player' tag that says a bit of text represents a player name. And perhaps a bit of additional data that keeps track of the player's dbref. An 'exit' tag would be pretty similar, except representing an exit name, typically in the current room.</p> <p>So, too, we could add a 'link' tag for web links, or an 'image' tag to represent a link specifically to an image.</p> <p>This, then, would cover metadata, web links and images. How about commands? Let's add another system to the protocol, working very vaguely like a stylesheet. The MUSH would send the client a set of instructions, suggestions even, on what commands to run when clicked. For example, an exit tag should present 'go exit', a player tag should present '+finger player', and so on. At this point it would be safe to give mortals the 'exit' tag for use, right?</p> <p>Well, one final snag: Now they can tag a bit of text like set(#7,WIZARD) as an exit, which would break our nice security model. To prevent this, I'd propose a directive to the client that says which characters to escape, and how. Typically, a MUSH would tell to escape ()[]{}\ with the \ character. At this point the client would never send those characters unescaped, and so softcode never evals.</p> <p>Of course, sometimes it's plain useful to have the escaping not occur, and sometimes it's even safe. For example, the help command never evaluates, so not only is it safe to keep from escaping help topics, in cases like 'help %N' it would actively break things. Here we'd probably want to mark the 'help' tag as not requiring escaping. In addition, we can safely let mortals use this help tag.</p> <p>It would make sense to supply a default set of tags, associated commands, and permissions for using them, and of course MUSH admin should be able to add, modify and remove tags and their permissions to taste. As long as individual tag permissions are handled with caution, it would allow mortals to use clickable tags with no additional permissions in ways that are impossible for security reasons with Pueblo. In addition, it could allow users to redefine what they want to happen when they click on specific entities. With a set of 'alternatives' you could even build context menus (say, +finger, +info and +time on player tags to allow a right click to invoke any of those).</p> <p>If a client solely wants to use the metadata, not the clickability, it can. If a client wants to interpret images as inline, it can. The client can make any amount of assumptions it wants about the metatada, preferably by means of a set of standard tags like player, image, link, exit, etc. The client should (by default) make no assumptions about on-click actions and the like. Those are handled by the directives from the MUSH itself that say how to handle click actions. Of course, a user could then override the defaults to suit their needs if the client has that functionality.</p> <p>I've about rambled on long enough now. I'm open for questions and comments. If this inspires you to work on this sort of thing yourself, I'm quite willing to let you and offer advice. If not, maybe I'll give this a shot myself at some point.</p> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Sun, 14 Aug 2011 00:08:50 +0000 Cheetah 953 at https://community.pennmush.org https://community.pennmush.org/node/953#comments Input regarding Pueblo-replacing protocols. https://community.pennmush.org/node/952 <span class="field field--name-title field--type-string field--label-hidden">Input regarding Pueblo-replacing protocols.</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Cheetah</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 2011-08-13 16:52</span> <div class="field field--name-topic field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/taxonomy/term/16" hreflang="en">Community</a></div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Huge disclaimer to start: Nothing may come of this.</p> <p>If you can live with that, let me add a redeeming thingy: If I don't actually work on this at all, at least the data will be available for future reference.</p> <p>So are you ready? Okay.. Given an implementation of a new protocol to do the sort of thing Pueblo does, but isn't Pueblo, what sort of things would you require? What sort of things would you suggest avoiding?</p> <p>Please note, I'm mainly talking about functionality here, not implementation details. If your suggestion contains words such as 'XML', you'd better be actively, personally concerned with the implementation of such a protocol, as a client dev of a codebase dev ;)</p> <p>Of course, if you <em>are</em> a dev of either kind, I'll gladly listen to concerns about implementation, especially if they'd be deal breakers for support. Beyond that that, I'm looking for softcoders, end users and similar points of view. I have some vague ideas bubbling in my head, but I need to hear the sort of thing I couldn't come up with and, on the other hand, confirmation that the sort of thing I think of isn't stupid ;)</p> <p>List of some things I have so far:</p> <ul> <li>Minimal requirements for specific 'tag' support in clients and graceful degradation. </li> <li>Availability of metadata </li> <li>Flexible security model, suitable for calling from mortal code </li> <li>Extensibility of the protocol </li> <li>Extended colors </li> <li>Potential for clickable links (browser or command) </li> <li>Potential for linking media </li> <li>Potential for context menus </li> <li>Should be easy to use from softcode </li> <li>Should be optional, like Pueblo is now, and should be able to add on to current client and server codebases. </li> </ul> <p>Things that have been requested but are outside the scope of the protocol:</p> <ul> <li>Unicode support </li> <li>Negotiation of capabilities outside of the protocol (such as extended ansi or character encoding) </li> </ul> </div> <section class="field field--name-field-blog-comments field--type-comment field--label-above comment-wrapper"> </section> Sat, 13 Aug 2011 21:52:17 +0000 Cheetah 952 at https://community.pennmush.org https://community.pennmush.org/node/952#comments