Lich:Software/Installation

The official GemStone IV encyclopedia.
< Lich:Software
Revision as of 13:32, 29 May 2022 by DOUG (talk | contribs) (Updating with current info - 5/29/22)
Jump to navigation Jump to search

About

Lich is an add-on scripting engine that works alongside existing front ends. The most common installation is a combination of Lich on Windows using the Wrayth or Wizard FE. Lich is also used by many on both MacOS and multiple Linux distributions.

Installing the Latest Stable Release

Windows

These instructions are not for DragonRealms. For those scroll to the bottom.

For Windows 11/ 10 / 8 / 7 users: you can download the Ruby4Lich5.exe Installer and install everything you need automatically. If you have never played before, follow the 'New Installation' instructions. If you have played before, and have used Lich before, follow the 'Upgrade Installation' instructions.

Several very popular scripts have been updated to work with the new Lich version. If your favorite script doesn't work right, and if downloading the author's latest doesn't fix it, check out the jinx repo or ask in Discord #scripting for assistance. Always try the repo first - authors may be updating their scripts and adding cool new features that are not included at this link.

New Installation for Lich 5 (3/1/2022)

  1. Please log into the game of your choice through the Simutronics website first. Install the launcher (not SGE), and install your FrontEnd of Choice. The Wrayth FrontEnd is presently the supported FrontEnd, but Wizard will work as well, if you are nostalgic. After you've logged in, log out and continue.
  2. Download and Run the Ruby4Lich5.exe Installer. You will receive the Microsoft Warning because this is not distributed through the MS Store. Click on 'More Info' and then select the 'Run Anyway' button.
  3. The installation may take a few minutes, especially on non-SSD harddrives.
  4. A Lich5 folder will be placed on your desktop after the install is finished, open that folder and double click the lich.rbw file contained inside to start Lich's Game Entry window.
  5. Use your existing Simutronics Account and Password and click connect. Then select the character you wish to play, and select the FrontEnd you wish to use. Then click the Play button.
  6. Your game FrontEnd should start, and you should see Lich5 initializing. You will see it downloading files - these are the map files, wait for the download to finish.
  7. You should see a window open titled 'xNarost', this is the map window.
  8. In the game command line enter -> ;repo download jinx <- and wait the few seconds for it to finish. This is an alternative, maintained by Elanthia Online, to the Lich repository to facilitate downloading/updating scripts when the repository is offline.

Upgrade Installation for Lich 5 from Lich 4 (3/6/2021)

Developers: This installer will associate all .rb and .rbw files to this installation. You may want to just check in with the Discord scripting channel to get the latest Lich files and roll your own Ruby.

Note: Back up your existing lich folder for a failsafe experience. Seriously. Put a copy somewhere safe.

Note2: You are updating to Ruby 2.6.6 and GTK3 - smoother running and more stable. This means that some of your existing scripts may need to be updated.

Note3: This installer is safe to run with existing installations of Ruby. This is done to facilitate a rapid return to the prior version if something doesn't work right. Remember to uninstall your older Ruby if you are satisfied with this new installation to get back precious disk space.

  1. Download and Run the Ruby4Lich5.exe Installer. You will receive the Microsoft Warning because this is not distributed through the MS Store. Click on 'More Info' and then select the 'Run Anyway' button.
  2. The installation may take a few minutes, especially on non-SSD harddrives.
  3. A Lich5 folder will be placed on your desktop after the install is finished.
  4. Since you likely have a ton of information already saved in your previous lich folder, the fastest way to update to Lich5 is to open the Lich5 folder, open your existing lich folder, select ALL in your existing lich folder, and drag it over to the Lich5 folder. DO NOT OVERWRITE any files that already exist. If you do, your new Lich5 installation will not work. Always keep the existing Lich5 file when copying over your old information. You did back up your existing lich folder, right?
  5. Log in as you normally would. The Lich Quick Game Entry and Game Entry windows will look different, so don't be surprised. The Lich Quick Game Entry window should show your accounts in tabs on the left side, click through them to be sure your characters are all still listed under their tabs.

Special note to Profanity / Illthorn and other third-party FrontEnd users - this installer does not create an entry to the Environment Path variable. If you're using a third-party FrontEnd, be sure to add the Ruby4Lich5\bin directory to your path. See how here.

Additional assistance in installation can be found in the scripting channel of the GemStone Discord.

Upgrade Lich 5 to the Current Version

If you are on an older version of Lich 5 and want to upgrade to the most current version, copy and paste these three commands one at a time then restart lich.

;lich5-update --update
;jinx data update spell-list.xml --repo=elanthia-online
;jinx script update waggle.lic --repo=elanthia-online
Then restart lich using "quit" or "exit".

Mac OS X

Players with Macs can use Installing Lich on Macs for installation help.

This process works well for Mac OS Catalina and Big Sur.

If you have not updated your Mac OS yet, these instructions may work depending on your actual version. If you run into a snag, follow the contact instructions provided.

Chromebook & Debian variants

The following steps should install Lich and Profanity for users of Debian/Chromebooks. Profanity is a terminal-based Front-End that will let you play the game (in lieu of The Wizard or Wrayth).

Update the list of available software and make sure some requirements are installed:

sudo apt-get -y update
sudo apt-get -y install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libsqlite3-dev unzip

Install rbenv, a Ruby version manager. Add it to the PATH so that it will work outside of its own directory, and set it up to work when you launch the shell (terminal):

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Run the shell's launch script now to enable those two changes and get rbenv working:

source ~/.bashrc

Download the tools to let rbenv install Ruby on its own, then install Ruby 2.5.1 and set it to be our default version of Ruby system-wide:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.7.6 -v
rbenv global 2.7.6

Tell Ruby not to create documentation for its gems (plugins/packages) unless asked, because it takes a long time and they are available online. Then install the dependencies for Lich and Profanity:

echo "gem: --no-document" > ~/.gemrc
gem install sqlite3 gtk3 curses

Install Lich and Profanity:

curl --remote-name https://github.com/elanthia-online/lich-5/archive/refs/tags/v5.6.0.zip
unzip lich-*.zip
git clone https://github.com/elanthia-online/ProfanityFE.git

Fedora

There are notable differences between the versions of Fedora that are commonly available:

  • Fedora 31 uses Ruby version 2.6.5 which has no compatibility issues with the base lich version or the Beta GTK3 variant.
  • Fedora 32 uses Ruby version 2.7.1 which requires modification of scripts to match SAFE commands. This is a minor version difference, but is notable.

1. Update The Base Installation:

$ sudo dnf -y update
$ sudo dnf -y install vim git

2. Install required Ruby and Development packages:

$ sudo dnf install -y autoconf bison gcc gdbm gdbm-devel glib2-devel gobject-introspection-devel \
libyaml-devel libffi-devel make ncurses-devel openssl-devel readline-devel redhat-rpm-config \
ruby ruby-devel sqlite-devel unzip zlib-devel

3. Perform Ruby Gem Installations:

$ gem install rake
$ gem update

3.a. For GTK2 (base Lich)

$ gem install sqlite3 gtk2 curses

3.b. For GTK3 Beta

$ gem install sqlite3 gtk3 curses

4.a. Download Lich (GTK2):

$ cd ~
$ curl --remote-name https://lichproject.org/download/lich-4.6.52.zip
$ unzip lich-4.6.52.zip

4.b. Download Lich (GTK3):

$ cd ~
$ git clone https://github.com/elanthia-online/lich-5.git

5. Clone Profanity:

$ cd ~
$ git clone https://github.com/elanthia-online/ProfanityFE.git

Please refer to the Profanity FE page for initial configuration and additional instructions.

Ecosystem Information

  • DragonRealms Variant

Setup and Install instructions

Lich Changelog

5.6.1 (current)

-o- Fix for XML to limit login errors (DR)
-o- Fix for XMLData.active_spells to properly register wizard 'recovery' spell cooldowns
-o- Messaging updates to remove error in Wizard FE encodings
-o- Corrects for error in detecting PSM skill changes (cman) via warrior / rogue guild lessons
-o- Deprecates LNet script from master repository
-o- Miscellaneous small bug squashing

5.6.0

-o- (DragonRealms) Support for Genie and Frostbite frontends
-o- (GemStone) Changed methods to improve ;go2 speed and reduce lich.db3 calls
-o- (GemStone) Updates to support silver_count function
-o- (Both) Changed method for updating lich ecosystem

5.5.0

-o- Support for DragonRealms
-o- Updated support for scripts like BigShot
-o- Providing the LichID and UID on Profanity
-o- Spell.force_incant, .force_channel, and .force_evoke
-o- Standardized message method for script authors
-o- Sundry small improvements / fixes and changes
-o- And the creme de la creme - a custom directory

5.4.0

-o- Simu Room IDs (formally called 'unique ID' or 'uid' for Lich) added to Map, mapDB where known, and ;go2 for navigation (courtesy Xanlin and with our thanks!) ;go2 u7120 for all you ex-GMs out there. 
-o- Room titles will now display the Lich ID and / or the UID for the room based on user selections - default is on for both, and enabled / disabled via Lich.display_lichid or Lich.display_uid toggles that can be set to on / off or true / false. (;e Lich.display_lichid=true/false and ;e Lich.display_uid=true/false) You can remove that rnum from your autostart now! To gain the benefit of the UID deployment, be sure to ;repo download-mapdb
-o- REQUESTS: Drop 5 minute timeout function from Lich
-o- waitrt? and waitcastrt? will still pause activities, but will return TRUE or FALSE in keeping with the Ruby functionname? tradition (no more failing to get a weapon out due to RT from climbing!)
-o- empty_hands and fill_hands will now check to see if the character is in roundtime before trying to put away or retrieve held items
-o- Infomon received an update that keeps spell timers in sync with the information received from the server - no more need to immediately do a spell active in game to get the right times to display for various legacy scripts and ;magic after visiting the invoker or using an SK item
-o- Lich now provides a facility to get current coins on the character that is a bit more agnostic to data changes from Simu - Lich::Util.silver_count
-o- Various other small tidbits to help ease maintenance and future development
-o- PLEASE NOTE:  This update is required for the newest Bigshot (released today!) and for future eloot and eherbs scripts (release RSN)

5.3.0

-o- Added support for Wrayth (renamed Stormfront) installations 
-o- Converted Linux | WINE login methods to 'method 0', does not use Simu launcher

5.2.1

-o- Support for STOWing items irrespective of special item scripts
-o- Improved query support for Effects and CMans
-o- Fix Lich bug to respect the 'groupmovement' flag in game
-o- Fix Lich round time calculations (more aggressive timing)
-o- Dark Mode is now a thing
-o- Lich4 Style GUI layout available
-o- Several file location changes to support future code change efforts

5.0.19

-o- Benefit: Monks with Mental Acuity (all 3 of you) rejoice - stamina casting!
-o- Benefit: PSM3 included, no charge. No hair remaining, either!
-o- Benefit: Ok, stay seated: Some of your various SF spell duration windows may work. . . better? Yes, not perfect, but better. No pictures, please!
-o- Updated infomon that properly detects Cloak of Shadows on those pesky sorcerers, and the Raise Dead Cooldown periods for those wondrous clerics.
-o- A new update process for Lich 5 - tired of having to download that script over and over just to update? Get yourself a copy of lich5-update.lic. Note, if you already have it, you're set! If not - ;jinx script install lich5-update --repo=elanthia-online

5.0.11

-o- Updated the method used to log onto SIMU servers.
-o- Added the Animalist item specifics to Lich5's empty and fill hands routines
-o- Improved Invoker messages for Avalon and Wizard FEs (no change for SF FE)
-o- Improved cleanup and store methods when player EXIT's or QUIT's game
-o- Crafted two new methods (stash_hands and equip_hands) for future script use
-o- Some behind-the-scenes cleanup to improve maintaining the Lich5 ecosystem
-o- Add Spell Active improvements
-o- Add PSM and Ranger improvements

Resources

Third-Party Software - edit
Lich Installation: Lich
Downloadable Lich Scripts: Go2 | Map | Repository | Popular Scripts