Lich:Software: Difference between revisions

The official GemStone IV encyclopedia.
Jump to navigation Jump to search
m (Typo fix)
(→‎F.A.Q and Common commands.: updated for Lich 5.7.0 commands)
 
(52 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{3rd-party}}
<div class="alert alert-info"><center>'''{{mono|;TUNE TOWNCRIER }}to join the TownCrier channel and get GS news and tips every five minutes. There is no chat on this channel.'''</center></div>
<div class="alert alert-info"><center>'''{{mono|;TUNE TOWNCRIER }}to join the TownCrier channel and get GS news and tips every five minutes. There is no chat on this channel.'''</center></div>


==About==
===About===
<section begin=About />
<section begin=About />
'''The Lich''' is third-party software that expands scripting capabilities on Simutronics front end clients ([[Wizard (front end)|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. <section end=About />
'''The Lich''' is third-party software that expands scripting capabilities on Simutronics front end clients ([[Wizard (front end)|The Wizard]] and [[Wrayth]] 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 Wrayth to display additional information about the character's experience level that updates itself when experience is gained. <section end=About />


<div {{prettydiv}}>
<div {{prettydiv}}>


<CENTER>{{boldmono|<tt>Quick Start Guides</tt>}}</CENTER>
<CENTER>{{boldmono|<tt>Installation Guides</tt>}}</CENTER>


* '''Windows'''
Windows - Video guide from Ordim at [https://www.youtube.com/watch?v=jfbtfYM11II YouTube].
** [[Lich_(software)/Installation#Windows|Windows]]

*'''Mac'''
Linux - [[Lich_(software)#Chromebook_&_Debian_variants|Installation - Lich (software)]]
** [[Mac_Installation_-_Lich_(software)|Mac OS X]]

* '''Linux'''
Mac - [[Mac Installation - Lich (software)|Installation - Lich (software)]]
** [[Lich_(software)/Installation#Chromebook_.26_Debian_variants|Chromebook & Debian Variants]]
** [[Lich_(software)/Installation#Fedora|Fedora Installation - Lich (software)]]
</div>
</div>


===What is "The Lich"?===
==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 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.
==How Does Lich Function==
Lich defaults on Windows to a Lich 5 folder on your desktop. Lich launches by double clicking on the lich.rbw file. Folders are created inside the Lich 5 directory, the primary ones of user interest are the <CODE>/scripts</CODE> directory and the <CODE>/data</CODE> directory. Scripts contains user downloaded scripts and the Data directory contains information used by lich. The most notable items here are <CODE>alias.db3</CODE>
<CODE>entry.dat</CODE>
<CODE>lich.db3</CODE> which contains all your user information. This file should be backed up often, preferable with something like ;Lich Script:


Lich was originally created by [http://lichproject.sourceforge.net/ Shaelun], who brought it up from an idea to version 3.57. Starting with version 3.58, Lich is maintained by [http://lichproject.org/ 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.
Lich was originally created by [http://lichproject.sourceforge.net/ Shaelun], who brought it up from an idea to version 3.57. Starting with version 3.58 through 4.6.56, Lich was maintained by [http://lichproject.org/ Tillmen]. Tillmen's versions focused 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. Starting with Lich v5, Lich has been forked over by the team at [https://github.com/elanthia-online/lich-5/ Elanthia-Online] to update and continue development in a collaborative format with contributions from both GemstoneIV and DragonRealms contributors. Current [[Lich_(software)/Installation|installation]] instructions now use Lich v5.


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


===What can Lich do for me?===
==How do I use it==
Lich itself doesn't do much. At it's core, it parses incoming XML from the game and runs it through an engine. Scripts that a user downloads perform a varity of functions with that information.
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:


{{#section:Lich:Script Repository|popularscripts}}
* '''[[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 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 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.


==F.A.Q and Common commands.==
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===
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].

[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 textbox, 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===
For instructions on installing on a Mac, see [[Mac Installation - Lich (software)]].

===Chromebook & Debian variants===
<pre log>
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
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.5.1 -v
rbenv global 2.5.1
echo "gem: --no-document" > ~/.gemrc
gem install sqlite3 gtk2 curses
curl --remote-name https://lichproject.org/download/lich-4.6.49.zip
unzip lich-*.zip
git clone https://github.com/matt-lowe/ProfanityFE.git
</pre>

==F.A.Q.==
'''Q: Where did my inventory windows go?'''
'''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.
: A: If you use inventory windows in Wrayth, 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 Wrayth’s point of view). Just type “set inv on” to turn it back on.


'''Q: Why do I keep disconnecting immediately after login?'''
'''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.
: A: This generally happens on only one character, and affects only Wrayth. It seems to be caused by Wrayth downloading a characters settings from the Simu server. To fix it, change Wrayth to store scripts/highlights/macros/etc locally, or log in once on Wrayth 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?'''
'''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.
: 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.

'''Q: How do I enable or disable the various LichID or RealID in room description title?'''
: A: To enable/disable the LichID or RealID you would use one of the following commands in-game:
<syntaxhighlight lang="ruby">
# LichID
;display lichid <true|false>

# RealID
;display uid <true|false>
</syntaxhighlight>


==Resources==
==Resources==
* [[Lich scripting reference]]
* [[Lich scripting reference]]
* [[Mac Installation - Lich (software)]]
* Tillmen's Lich Update (v4.6.37): https://lichproject.org/
* Playershops by Lich: https://ps.lichproject.org/
* Playershops by Lich: https://ps.lichproject.org/
* Support for Lich: Lich Support is best handled in the #scripting channel in the official GS Discord
* Unofficial Support for Lich: http://forum.gsplayers.com/forumdisplay.php?f=104
* Popular Lich scripts: [[Lich:Script_Repository#Popular_Lich_Scripts | Popular Scripts ]]
* Popular Lich script thread: http://forum.gsplayers.com/showthread.php?81229-What-Lich-Scripts-Do-You-Regularly-Use
* Fix [[F2P]] login: http://forum.gsplayers.com/showthread.php?94776-Getting-Lich-to-work-with-F2P-accounts
* Original Lich (v3.57): http://lichproject.sourceforge.net/


{{Third-Party Software}}
{{Third-Party Software}}
[[Category:Third-Party Software]]
[[Category:New Player]]
[[Category:New Player]]

Latest revision as of 19:04, 29 January 2024

Lich:Software is a third party script and is not maintained by Simutronics. Simutronics is not responsible for the accuracy of the information presented on this page, nor is it liable for issues stemming from the use of the application on players' personal devices.

;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 Wrayth 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 Wrayth to display additional information about the character's experience level that updates itself when experience is gained.

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.

How Does Lich Function

Lich defaults on Windows to a Lich 5 folder on your desktop. Lich launches by double clicking on the lich.rbw file. Folders are created inside the Lich 5 directory, the primary ones of user interest are the /scripts directory and the /data directory. Scripts contains user downloaded scripts and the Data directory contains information used by lich. The most notable items here are alias.db3 entry.dat lich.db3 which contains all your user information. This file should be backed up often, preferable with something like ;Lich Script:

Lich was originally created by Shaelun, who brought it up from an idea to version 3.57. Starting with version 3.58 through 4.6.56, Lich was maintained by Tillmen. Tillmen's versions focused 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. Starting with Lich v5, Lich has been forked over by the team at Elanthia-Online to update and continue development in a collaborative format with contributions from both GemstoneIV and DragonRealms contributors. Current installation instructions now use Lich v5.


How do I use it

Lich itself doesn't do much. At it's core, it parses incoming XML from the game and runs it through an engine. Scripts that a user downloads perform a varity of functions with that information.

The following are a list of scripts that enhance or extend basic functions of Gemstone IV and can improve or streamline your gaming experience to a point where you can't think of ever going back. It's not all inclusive but contains a good starter set or some of the most popular scripts in use.

Core components installed with Lich

Generally speaking, the below scripts should not need to be updated manually by the user, especially if the user keeps up to date on the current lich version.

  • go2 - Go2 is an intelligent travel script that is synchronized to many of the more complex scripts. Go2 uses a Room Number system and can intelligently plot routes between most any two rooms in all of Elanthia. Use can be as simple as ;go2 town or ;go2 bank to head to the nearest town square or bank. Use ;go2 targets to see a list of pre-programmed locations broken down by towns. Or, use ;go2 save <new location name>=<new location room number> to create your own locations. Go2 is distributed as part of a default Lich installation.
  • map - map (fork of Narost/XNarost) is an active map library that can display your location and allows Point-And-Click travel. Simply right click and choose a map, pick a room on it and click on it. map is distributed as part of a default Lich installation.
  • alias - A default script used to create shortcuts in lich. See wiki page for details.
  • vars - A default script to create and view variables for both users and scripts. See wiki page for details.
  • autostart - A default script to handle which scripts run on startup. See wiki page for details.
  • repository - A default script to view and dowload other scripts. See wiki page for details.
  • version - A default script to output your current lich version and other information. See wiki page for details.

Scripts maintained by Elanthia-Online

  • bigshot - A script for attacking and hunting routines. See wiki page for details.
  • blackarts - A script for doing various alchemy tasks. ;blackarts setup for configuration details
  • ewaggle - A script for spelling yourself and others up. See wiki page for details.
  • ebounty - A script to get and perform bounties. See wiki page for details.
  • eloot - A looting and loot management script. See wiki page for details.
  • ecleanse - A script for dealing with status conditions. See wiki page for details.
  • eherbs - A herb heaing and stocking script. See wiki page for details.
  • ecure - A script for healing for empaths. Usage syntax is ;ecure setup for first usage.
  • elogin - A script for command line login for your characters. . Usage syntax is ;elogin <charname>
  • echild - A child bounty script that monitors for and returns a child during bounty sessions. Add to autostart or your hunting script when performing a bounty.
  • foreach - A script for sending a series of commands for each item that matches its criteria. See wiki page for details.
  • jbackup - A excellent backup and recovery tool that allows lich database and any additional file backup a user prefers. Set to autostart.
  • ledger - A scripting for tracking your silver and bounty incoming across sessios and over time per character and account with a nice ascii discplay. Requires ascii_charts gem (installed by default with Lich 5.7.0+ full installer)
  • signore - A script for using society powers ;signore setup for configuration
  • resource - A script for determining your current player service bonus. ;resource bonus Can also be used to determine the cost of enchanting with the syntanx ;Resource calc <starting enchant> <ending enchant> <cost per essence> as in ;resource calc 35 45 50
  • ecaster - Allows user to type just the spell number and have lich cast that spell. Usage syntax is ;ecaster setup for configuration. Set to autostart.

Other scripts that are popular

  • invdb - An inventory management database. See wiki page for details
  • lnet - An out of game, third party, not Simutronics controlled chat server. ;repo download lnet --author=elanthia-online. See wiki page for details LNET should be installed at your own risk. Simutronics has no control over lnet or policy enforcement there.
  • multi - A script to peform repetitive set of commands. Usage syntax is ;multi; <number> <action> such as ;multi 10, get my diamond, drop my diamond
  • ego2 - A script for bounty escorts. Usage syntax is ;ego2 help for relevant commands.
  • wander - The last of the Trifector of Travel, wander will move from room to room until it runs into a Boundary - a specified room number - or finds a room with a monster AND empty of players. Wander can be used to create a walled in hunting ground, letting you automatically move from room to room without having to use keystrokes. Use the ;wander add command to add the room you are currently standing in to the Wander List. Note: Wander will NOT enter your boundary rooms. For example, adding Town Square East to the list and then executing ;wander from within the confines of Moot Hall will send your character exploring every room in Moot, but unable to leave as TSE is a Boundary.
  • sorter Sorter cleans up your bags and breaks down the the output of a LOOK command, sorting the results by type. Makes looking in your locker or backpack, and especially your gem pouch, infinitely easier. *Note* Sorter can mess up some other scripts that deal with inventory, so be cautious in usage. Elanthia-Online scripts like eloot disable sorter when performing relevant functions
  • linktothefast - A complex script that provides highliting for Wryath links when links are disabled. This script can cause issues with STOW settings, so disable prior to adjusting those settings.
  • uberbar_eo - The most current Uberbar variant. This will provide a paperdoll with room number, resource information, etc inside wrayth. Set to autostart. Note- there is a small performance impact when using Uberbars.
  • dirty-deeds - A script for getting deeds in IMT and WL. ;dirty-deeds setup for configuration
  • colmaster - A script for getting and performing COL tasks in Solhaven
  • volnstep - A script for performing voln tasks in Wehnimer's Landing
  • character-planner - A script for planning out your character skills and training. ;character-planner for configuration
  • stat-maximizer - A script for configuring character stats. ;stat-maximizer for configuration
  • tpick - A script for lockpicking ;tpick setup for configuration
  • warrior - A script for warrior guild tasks ;warrior setup for configuration
  • rogues - A script for rogue guild tasks ;rogues setup for configuration


F.A.Q and Common commands.

Q: Where did my inventory windows go?

A: If you use inventory windows in Wrayth, 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 Wrayth’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 Wrayth. It seems to be caused by Wrayth downloading a characters settings from the Simu server. To fix it, change Wrayth to store scripts/highlights/macros/etc locally, or log in once on Wrayth 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.

Q: How do I enable or disable the various LichID or RealID in room description title?

A: To enable/disable the LichID or RealID you would use one of the following commands in-game:
# LichID
;display lichid <true|false>

# RealID
;display uid <true|false>

Resources

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