Special Upgrade Instructions

The new Install Manager should make upgrading a breeze, so long as you haven’t renamed any of the objects or made code changes beyond the published configuration options. If you’ve renamed objects, change their names back before attempting the upgrade. If you’ve made code changes… good luck :)

  • Make a backup! I’ve tested the installers a few dozen times but you never know.
  • Open the release ZIP file. You’ll see two sets of folders: one for a fresh install, and one for upgrades.
  • Install the Install Manager from the Upgrade folder.
  • Install the Register Existing Objects script from the Upgrade folder. This will find all your existing installed systems and register them with the Install Manager so they can be upgraded. Pay attention to warnings in red. They could mean you simply don’t have a module installed, or they could also mean you’ve renamed one of the objects and need to name it back for the upgrade to succeed.
  • Go through every module (other than Install Manager) listed in the “Fresh Install” folder in the order listed by their file numbers. If you already have that module installed, install the patch file from the Upgrades folder. If it’s a new system that you want, use the Fresh Install installer. If you don’t want it, obviously skip it :)

IMPORTANT NOTES:

  • The Install Manager must always be in the inventory of whoever is doing the installations. For that reason, I recommend you always have a central “CodeWiz” character owning and installing all of your softcode objects, as explained in Installation.
  • The install files are numbered in order. They MUST be installed in the proper order or the installation will fail.
  • Use caution with copy/paste as some editors will try to put extra linebreaks into the code. I recommend Notepad on Windows or TextEdit on Mac.

Alts

The one thing not covered by the upgrade is +alts system. It was completely overhauled, which means your existing alts will not be copied over without special steps. Run these three commands after you’ve finished upgrading everything:

@set me=!NO_COMMAND &cmd-reregister-alts me+ $+reregister *:@dolist xget(%0,alts)@fo %0=+alts/register ## @dolist real_players()+ {@switch [words(xget(##,alts))]>0,+reregister ##}

Postmaster

The old Postmaster system has been obsoleted in favor of Faramail. Just nuke the postmaster objects. If you want to keep your old mailing lists I think you should be able to just copy them from the old mailing list object to the new one.

Compatability

Tested On: PennMUSH 1.8.3 p 13

Changelog

Big Changes

Install Manager

A brand new installation manager tracks which modules you have installed, allows you to upgrade them (fairly) seamlessly, while protecting old data. It also lets you cleanly uninstall a system.

Also, all systems now create +jobs when they’re installed for things you need to remember to do, and install their own help files, player attributes and Cron jobs.

FS3

Public release of my own original skills/chargen/combat system.

Those who were beta testing this probably want to grab the new version since there were a few minor bugfixes (like Nukes bouncing off Viper armor).

FaraMail

Public release of a fully featured softcoded +mail system.
For those who have used/seen it on my other games, this version has a few improvements, like integration with the Friends system (for +mail friends) and no longer chokes on really big folders.

Myrddin’s BBS, Myrddin’s Cron, Idle Purger

These systems are not mine, but I’ve created my own “branched” versions of them that integrate more seamlessly with the rest of my code (including the install manager). The BBS and CRON systems are from Myrddin, the Idle Purger is from Shofari.

Some features I’ve added to the BBS:

  • +bbnew/+bbnext for scrolling through new messages
  • +bbreply for replying to BBS posts.
  • +bbarchive for arching old posts off-game
  • BBS posts read on one alt will be marked read on others automatically.

+alts

Ground-up redesign to fix various bugs around registering/unregistering alts. Changed default mail sys to faramail. Added staff-only alts() function.

Little Changes

  • +actors - Added +actor/clear and actor() fun
  • +bg - Added name of player to BG submission job.
  • +census - +faction/+org/+position command details now work properly when in chargen. They also now display names without underscores.
  • +events - Events on the same day now sort in a non-random order.
  • Global Functions - Added prettify and unprettify functions for handling underscores and spaces when going from player-friendly views to MUSH-attribute-views.
  • Staff Jobs - Added +jobs/new, +jobs/catchup for reading new jobs. Changed high priority highlight color.
  • +motd - Removed the Tip of the Day to reduce spam. Also I didn’t feel like updating the tips for all the new systems :)
  • Room Parents - Local help files are now named LHELP_ not HELP_ to avoid confusion with the global help files.
  • Staff Commands - Added a couple new staff commands: +nuke, +grep and +chown.