Lich (software)

The official GemStone IV encyclopedia.
(Redirected from The Lich)
Jump to: navigation, search
;TUNE TOWNCRIER to join the TownCrier channel and get GS news and tips every five minutes. There is no chat on this channel.

About

The Lich is third-party software that expands scripting capabilities on Simutronics front end clients (The Wizard and StormFront for Windows users, and Avalon for Mac OS X users), allowing players to script using the Ruby Programming Language, a high-level programming language with almost limitless capability. The program comes bundled with several scripts, such as scripts that calculate a character's redux, move from any location to another within a database, walk through an area until a creature is found, and spell up a character using all available spells. Also, there is a repository that allows for the quick, easy downloading of user-made scripts through The Lich, itself. Scripts can range from being very simple to quite advanced; for example, there is a script, titled xpSF, that modifies the experience window in StormFront to display additional information about the character's experience level that updates itself when experience is gained.

Quick Start & Installation Guides

What is "Lich"?

Lich is an open source scripting engine for text-based MUDs. It is not a complete front-end in and of itself: it operates much like a proxy server and communicates with the user through their chosen front-end (effectively giving the appearance of expanding the front-end's features with its own). It allows you to write and run scripts for a text-based MUD in the Ruby language.

Lich was originally created by Shaelun, who brought it up from an idea to version 3.57. Starting with version 3.58, Lich is maintained by Tillmen. Tillmen's versions focus more heavily on Simutronics games, specifically Gemstone IV. If you are interested in non-Simutronics games, you might be better served with Shaelun's version.

The Lich is written to be compatible with other third-party software, such as PsiNet and Black Lightning.

What can Lich do for me?

The Lich program, absent of any scripts, doesn't appear to do much of anything (besides allow you to alias commands in the game). What Lich is doing behind the scenes allows you to use pretty powerful scripts, such as:

  • go2: This script makes long and short journeys easy. It is powered by a database of 18,677 rooms with 42,695 known movements connecting those rooms (as of 10-2-2010, for Gemstone IV). Some of those movements include tasks such as navigating mazes, dealing with slippery ice, or waiting in line to use a rope bridge. It includes a large list of common locations in each town, and takes you to the closest one. For example typing ";go2 bank" will take you to whatever bank is closest to you.
  • narost: This script pops up a window to show you which room you are in on a map. The script originally used only Tsoran's maps, but since those are becoming increasingly outdated, new maps are being created and added to narost. The script continues to show you what room you are in as you move around, changing maps as needed. It allows you to click on a room to make the go2 script take you there, and some other things.
  • infomon: This script is responsible for tracking any useful information that the main Lich program doesn't. The most useful thing it tracks is the spells that are on you, and their remaining time. It also keeps track of other peoples spell ranks that use Lich, to give more accurate spell tracking.
  • lnet: This script is a simple chat script that allows you to chat with other people using Lich. It is a great source of help for those new to Lich. It also allows scripts to transfer information to other characters (disabled by default) to allow, for example, a spellup script (waggle) to know exactly how many casts of what spells another character needs.
  • repository: This script allows you to upload and download scripts from the Lich server. There are many, many more scripts available for tasks big and small.

In addition to the powerful Ruby scripts, Lich can run most WizardFE/Stormfront scripts unaltered. This allows you to use the scripts you already have, but since Lich is running them, you can have any number of them going at once. However, learning a little Ruby goes a long way. Scripts that take a hundred lines in WizardFE/Stormfront can usually be rewritten as a dozen or so lines in Ruby, and work much better.

What operating systems does it work with?

Starting in version 3.58, Lich is written completely in Ruby. This means it should it should run on any platform that can run the Ruby interpreter. Lich is developed on Linux, but the majority of the user base uses Windows (XP, Vista, Win7, Win8).

Installation

Please review the Lich_(software)/Installation page.

Jinx (;repository alternative)

Jinx is a project that is an alternative form of script installation from the default ;repository. It can serve up scripts for download similar to the ;repo however it is not dependent on a single server that may be prone to outages. Any one can set up their own script library, and then users can add it as a source for the ;jinx script to search and download from.

Jinx can be downloaded and installed into your scripts folder from the Elanthia Online github:

https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/jinx.lic

Right-click the above link and save it into the scripts folder in your lich directory.

Alternatively, the following command can be issued in game via lich to attempt to download the script to the proper directory for you (this command is for when the repository is down and the script cannot be downloaded naturally):

;e require 'open-uri';begin;jinx_remote = open("https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/jinx.lic"); jinx_local = File.open(File.join(SCRIPT_DIR, 'jinx.lic'), "wb"); jinx_local.write(jinx_remote.read);ensure; jinx_remote.close(); jinx_local.close();end

once installed you can issue:

;jinx help

for basic usage information.

Jinx Lich Repository Mirror

In the event the main ;repository is unavailable, there is currently an actively maintained ;jinx repository that is a direct mirror.

https://github.com/FarFigNewGut/lich_repo_mirror

Scripts can be manually retrieved from this Github repository (they are all located in the lib folder). The repository is also packaged and published for use directly with Jinx:

;jinx repo add ffnglichrepoarchive https://ffnglichrepoarchive.netlify.app

(You can use something shorter instead of "ffnglichrepoarchive" for the repo name if you'd like.)

Once it is setup as a source for ;jinx you can install any scripts from the repo with:

# install script for the first time
;jinx script install --repo=ffnglichrepoarchive <script name>

# update previously installed script
;jinx script update --repo=ffnglichrepoarchive <script name>

For example if you wanted to download or update xnarost.lic:

# first install
;jinx script install --repo=ffnglichrepoarchive xnarost

# update if you had previously downloaded xnarost
;jinx script update --repo=ffnglichrepoarchive xnarost

F.A.Q.

Q: Where did my inventory windows go?

A: If you use inventory windows in Stormfront, you’ll find they have disappeared the first time you run Lich on each character. Lich hijacks the setting to provide container contents to scripts. In doing so, it’s unable to tell what the setting was to start with, so it turns it off (from Stormfront’s point of view). Just type “set inv on” to turn it back on.

Q: Why do I keep disconnecting immediately after login?

A: This generally happens on only one character, and affects only Stormfront. It seems to be caused by Stormfront downloading a characters settings from the Simu server. To fix it, change Stormfront to store scripts/highlights/macros/etc locally, or log in once on Stormfront without Lich to allow it to do whatever it’s trying to do.

Q: How come when I cast spells on people it doesn't tell the correct duration for the spell?

A: This is due to not setting permissions correctly with LNet once logged in. In general, most people should be fine with typing: ;LNET ALLOW ALL ALL. This should allow anyone with Lich installed to detect your spell durations. It also allows other things, to see exactly what you can do type ;LNET HELP ingame and read over the output it provides.


GTK3 Beta Test

Welcome to the GTK3 Ruby Lich Public Beta!

Before we begin, there are a couple of things you should know about participating in this beta program:

1) It IS a beta program. If something can go wrong, it just might, here. So follow these instructions carefully to have the BEST shot at recovering your Lich installation and continuing to enjoy Gemstone.

  • It is vitally important that you NOT participate in the GTK3 beta if you are not already a Lich user. If you are new to Gemstone and Lich, do not use this Public Beta. Instead, use the stable installer build at https://bit.ly/WinLich .
  • If you are already a Lich user, and you are comfortable participating in the Public Beta, then you should at an absolute minimum, back up your existing Lich folder. The beta installer does not touch the existing lich folder, but if something can go wrong, you should have a copy saved somewhere.
  • If you are already a Lich user, and you are comfortable participating in the Public Beta, then you should rename your existing Ruby installation. If you accepted the default installation from the stable installer build, your Ruby installation is at C:\Ruby4Lich . You can simply rename that folder C:\save-Ruby4Lich , and you will be able to easily revert back from the beta to your current Ruby4Lich installation.
  • Remember that the GTK3 beta is intended to retire GTK2, given its age and lack of updates. What this means to you is that any Lich program that uses a graphical user interface (GUI) will behave differently. The team has updated the LICH.RBW file and the core scripts distributed by Tillmen to work with GTK3. The team has also updated some of the more popular scripts and included them in a subdirectory for you to use, if you wish.

2) If you are happy with what you have read so far, and are eager to get started, exit all characters from the game.

3) Back up your lich directory and rename your existing Ruby4Lich (or other Ruby) installation.

4) Download the BetaGTK3-Ruby4Lich installer here: https://www.dropbox.com/s/upkg2qy1vmip31z/BetaGTK3-Ruby4Lich.exe?dl=1

5) Run the installer. Be patient, it may take some time especially on non-SSD harddrives - it is installing 70K plus files.

6) When done, click FINISH on the installer, and you will see the GTK3Lich folder on your desktop. Run the LICH.RBW file from that folder and confirm you can log in with Lich active.

At this point, you can make plans to copy the GTK3Lich files into your existing Lich directory so you don't have to redo everything. You did remember to back up your existing Lich directory, right? If not, do it now before you start moving scripts around.

Any and all errors please share in the #scripting channel on Discord. Please ensure you provide a current run of ;version with your report

Enjoy!


GTK3 Public Beta FAQ

Q: Why am I renaming my Ruby4Lich directory instead of just deleting it?

A: During the beta test you may find a critical script that you cannot live without that simply does not work right. If you delete your existing Ruby4Lich installation, and later decide to exit the beta test, you'll have to reinstall Ruby4Lich to continue enjoying Lich and Gemstone. Renaming will save you time, if you decide the beta program is not for you.

Q: What should I do when I see a bunch of information about a script that I'm running needing to be fixed?

A: Come to Discord#scripting and put the script name up with a reference to GTK3. The team will look at it, and convert it or notify the script author to do the update.

Q: I just copied the new GTK3Lich scripts into my standard Lich folder, and now nothing works right. What do I do?

A: Check to be sure you also copied the Lich.rbw file over - without that, your install will not work properly.

Q: Why are we doing this when the existing installer works?

A: Three reasons - the most important being that we want to update to a faster and more stable Ruby. Second, we want to get onto the more current graphics display framework (GTK3), since the older existing graphics display framework (GTK2) is not updated and has some defects in it. Third, some exciting new scripts are being developed that will only work with the more current graphics display framework.

Q: What's my emergency recovery procedure if I just want to go back to what I know?

A: Tricky question! That will depend on what you did or chose not to do from the recommendations. The short list based on the recommendations is to restore your original LICH folder from the copy you made at the very beginning, then uninstall the GTK3Beta-Ruby4Lich application and delete the folder, then rename your saved Ruby4Lich folder back to just Ruby4Lich. You are now ready to try starting up your restored LICH installation. If it asks you how to deal with lich.rbw, just associate the file with the Ruby4Lich\bin\rubyw.exe application. That should restore your functionality. If it doesn't, swing by Discord#scripting and let us know.


Resources


Third-Party Software - edit
Utility: Lich | PsiNet
Scripts Included with Lich: LNet | Go2 | Narost | Repository
Downloadable Lich Scripts: UberPlugins | Waggle | Sloot | Bigshot