Lich:Software: Difference between revisions

The official GemStone IV encyclopedia.
Jump to navigation Jump to search
(10 intermediate revisions by 5 users not shown)
Line 9: Line 9:
<CENTER>{{boldmono|<tt>Quick Start Guides</tt>}}</CENTER>
<CENTER>{{boldmono|<tt>Quick Start Guides</tt>}}</CENTER>


Windows - Video guide from Ordim at [https://www.youtube.com/watch?v=jfbtfYM11II YouTube].
'''Windows 7 / 8''' - Video guide from Ordim at [https://www.youtube.com/watch?v=jfbtfYM11II YouTube].


'''Windows 10''' - Download the [http://bit.ly/Win10-Lich-Installer Installer].
Linux - [[Lich_(software)#Chromebook_&_Debian_variants|Installation - Lich (software)]]


Mac - [[Mac Installation - Lich (software)|Installation - Lich (software)]]
'''Linux''' - [[Lich_(software)#Chromebook_&_Debian_variants|Installation - Lich (software)]]

'''Mac''' - [[Mac Installation - Lich (software)|Installation - Lich (software)]]
</div>
</div>


Line 26: Line 28:
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:
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:


* '''[[Script Go2 | 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 a 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.
* '''[[Script Go2 | 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.
* '''[[Script Narost | narost]]''': This script pops up a window to show you which room you a 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.
* '''[[Script Narost | 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.
* '''[[Script Infomon | 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.
* '''[[Script LNet | 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.
* '''[[Script LNet | 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.
* '''[[Script Repository | 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.
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.
Line 41: Line 43:


===Windows===
===Windows===
Go to Tillmen's website and head to the [http://lichproject.org/download.html Downloads] page. There is a step-by-step video guide from Ordim to go along with Tillmen's page at [https://www.youtube.com/watch?v=jfbtfYM11II YouTube].
'''For Windows 7 / 8''': Go to Tillmen's website and head to the [http://lichproject.org/download.html Downloads] page. There is a step-by-step video guide from Ordim to go along with Tillmen's page at [https://www.youtube.com/watch?v=jfbtfYM11II YouTube].


'''For Windows 10''' users: you can download the [http://bit.ly/Win10-Lich-Installer Installer] and install everything you need automatically. Always remember to back up existing Lich / Simutronics files. '''''This installer may also work for some Windows 7 / 8 users, but caution is advised'''''.
[https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p648.exe Windows Ruby Download]

With a little more setup, you can use a more recent version of Ruby or the 64-bit variant (e.g. [https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.5-1/rubyinstaller-2.4.5-1-x64.exe Ruby 2.4.5-1 (x64)]):

<pre log>
1. Download and install Ruby 2.4.5-1 (x64) (or latest 2.4 version) without Devkit from https://rubyinstaller.org/downloads/.
a. Uncheck to run 'ridk install' on last screen.
2. From a Command Prompt, run this command from your Ruby\bin directory (e.g. C:\Ruby24-x64\bin\):
gem install sqlite3:1.3.13 cairo:1.16.1 gtk2:3.2.9 --no-document
3. Create a shortcut that points your C:\Ruby24-x64\bin\rubyw.exe with a parameter pointing to the C:\<dir>\lich.rbw.
a. On your desktop, right-click then select New > Shortcut. Browse to the location where you installed Ruby (default would be C:\Ruby24-x64\bin), then select the rubyw.exe.
b. After you create the shortcut, right-click on it, then go to Properties. In the Target window, add a space, then paste the path to the lich.rbw (e.g. C:\Ruby24-x64\bin\rubyw.exe C:\Lich\lich.rbw) (use quotes around either part if they have a space).
c. Click the Advanced button and check to run as administrator.

Latest tested gem versions for Ruby 2.4.5-1 (x64) on Windows 10 as of 1/17/19:
sqlite3 1.3.13
cairo 1.16.1
gtk2 3.2.9
</pre>


===Mac OS X===
===Mac OS X===
Line 67: Line 51:


===Chromebook & Debian variants===
===Chromebook & Debian variants===
The following steps should install Lich and Profanity for users of Debian/Chromebooks. Profanity a the terminal-based Front-End that will let you play the game (in lieu of The Wizard or Stormfront).
<pre log>

Update the list of available software and make sure some requirements are installed:
<!-- don't think I'm gonna include this stuff but might as well not delete it.
:<small>sudo: as a super-user</small>
:<small>apt-get: Debian's software repository</small>
::<small>-y: answer all questions yes</small>
-->
<pre>
sudo apt-get -y update
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 libgdbm3 libgdbm-dev libsqlite3-dev unzip
sudo apt-get -y install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev libsqlite3-dev unzip
</pre>

Install '''<tt>[https://github.com/rbenv/rbenv rbenv]</tt>''', a Ruby version manager. Add it to the <tt>PATH</tt> so that it will work outside of its own directory, and set it up to work when you launch the shell (terminal):
<pre>
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
</pre>

Run the shell's launch script now to enable those two changes and get rbenv working:
<pre>
source ~/.bashrc
source ~/.bashrc
</pre>

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:
<pre>
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.5.1 -v
rbenv install 2.5.1 -v
rbenv global 2.5.1
rbenv global 2.5.1
</pre>

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:
<pre>
echo "gem: --no-document" > ~/.gemrc
echo "gem: --no-document" > ~/.gemrc
gem install sqlite3 gtk2 curses
gem install sqlite3 gtk2 curses
</pre>

Install Lich and Profanity:
<pre>
curl --remote-name https://lichproject.org/download/lich-4.6.49.zip
curl --remote-name https://lichproject.org/download/lich-4.6.49.zip
unzip lich-*.zip
unzip lich-*.zip

Revision as of 07:39, 28 May 2019

;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 Guides

Windows 7 / 8 - Video guide from Ordim at YouTube.

Windows 10 - Download the Installer.

Linux - Installation - Lich (software)

Mac - Installation - Lich (software)

What is "The 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

Although Lich is most commonly used on Windows, it can indeed be installed and is used on Linux and Mac machines alike. The beauty of Lich is that once installed, the interface and all the scripts run similar to all platforms. For instructions on installing Lich in its current state, please see the following information based on the operating system you are using.

Windows

For Windows 7 / 8: Go to Tillmen's website and head to the Downloads page. There is a step-by-step video guide from Ordim to go along with Tillmen's page at YouTube.

For Windows 10 users: you can download the Installer and install everything you need automatically. Always remember to back up existing Lich / Simutronics files. This installer may also work for some Windows 7 / 8 users, but caution is advised.

Mac OS X

For instructions on installing on a Mac, see Mac Installation - Lich (software).

Chromebook & Debian variants

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

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 libgdbm3 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.5.1 -v
rbenv global 2.5.1

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 gtk2 curses

Install Lich and Profanity:

curl --remote-name https://lichproject.org/download/lich-4.6.49.zip
unzip lich-*.zip
git clone https://github.com/matt-lowe/ProfanityFE.git

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.

Resources

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