Lich:Software/Installation: Difference between revisions

The official GemStone IV encyclopedia.
< Lich:Software
Jump to navigation Jump to search
(→‎Lich Changelog: update changelog)
 
(39 intermediate revisions by 4 users not shown)
Line 6: Line 6:
=Installing the Latest Stable Release=
=Installing the Latest Stable Release=


'''The latest stable lich version is 5.7.0 supporting Ruby 3.2 - published Nov 17, 2023'''
'''The latest stable lich version is 5.10.4 supporting Ruby 3.3 - published October 14, 2024'''


==In-Place Upgrade==
==In-Place Upgrade==
Line 16: Line 16:
===Lich 5 Only===
===Lich 5 Only===


====Lich 5.6.0 or newer====
# '''Backup existing Lich 5 folder'''
# '''Backup existing Lich 5 folder'''
# <CODE>;lich5-update --library=update.rb</CODE>
# Run this command in-game <CODE>;lich5-update --library=update.rb</CODE>
# Quit and restart lich.
# Quit and restart lich.
# <CODE>;lich5-update --update</CODE>
# Run this command in-game <CODE>;lich5-update --update</CODE>
# Quit and restart lich.
# Quit and restart lich.
# Congratulations - you're now running on Lich 5.7.0
# Congratulations - you're now running on the latest version of Lich!


===Ruby 3.2 & Lich 5===
====Lich 5.5 or older====
Does not work for Lich 4 upgrades, please do a full new install if on Lich 4.
# '''Backup existing Lich 5 folder'''
# Run this command in-game <CODE>;lich5-update --snapshot</CODE>
# Quit and close out of the game.
# Download the full release [https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip lich-5.zip]
# Extract the zip file over your existing Lich5 installation, choosing to overwrite existing files.
# Restart lich.
# Congratulations - you're now running on the latest version of Lich!

===Both Ruby 3.3 & Lich 5===
This method is for Windows only. Linux and MacOS users, please do a Lich 5 only update and update Ruby manually via normal install/update methods for the OS.
This method is for Windows only. Linux and MacOS users, please do a Lich 5 only update and update Ruby manually via normal install/update methods for the OS.


Line 29: Line 40:
# '''Backup existing Lich 5 folder'''
# '''Backup existing Lich 5 folder'''
# Uninstall existing Ruby4Lich5 installs from Programs & Features control panel, or alternatively, rename your existing Ruby4Lich5 folder to Ruby4Lich5old. (Defaults to C:\Ruby4Lich5)
# Uninstall existing Ruby4Lich5 installs from Programs & Features control panel, or alternatively, rename your existing Ruby4Lich5 folder to Ruby4Lich5old. (Defaults to C:\Ruby4Lich5)
# Download the latest [https://github.com/elanthia-online/lich-5/releases/latest Ruby4Lich5.exe Installer]
# Download the latest [https://github.com/elanthia-online/lich-5/releases/latest/download/Ruby4Lich5.exe Ruby4Lich5.exe Installer]
# Run the installer and be sure to have both Ruby and Lich 5 option selected
# Run the installer and be sure to have both Ruby and Lich 5 option selected
# Congratulations - you're now running on Lich 5.7.0 & Ruby 3.2
# Congratulations - you're now running on the latest version of Lich & Ruby!

===Ruby 3.3 Only===
Use this to upgrade to the newest version of Ruby only if you're already on the latest version of Lich5 and now want to update Ruby afterwards. If you're not already on the latest version of Lich5, please use previous section steps instead.
# Logout of all instances/characters
# '''Backup existing Lich 5 folder'''
# Uninstall your existing Ruby4Lich5 install via Programs & Features (ensure it's now gone, default location was C:\Ruby4Lich5)
# Download the latest [https://github.com/elanthia-online/lich-5/releases/latest/download/Ruby4Lich5.exe Ruby4Lich5.exe Installer]
# Run the new installer and choose to only install Ruby Only
# Congratulations - you're now running on the latest version Ruby!


==Windows New Installation==
==Windows New Installation==
Line 37: Line 57:
{{blue|These instructions are not for DragonRealms. [[#Ecosystem Information|For those scroll to the bottom]].}}
{{blue|These instructions are not for DragonRealms. [[#Ecosystem Information|For those scroll to the bottom]].}}


'''For Windows 11/ 10 / 8 / 7''' users: you can download the [https://github.com/elanthia-online/lich-5/releases/latest Ruby4Lich5.exe Installer] and install everything you need automatically. Click on the '''Ruby4Lich5.exe''' and download it to your computer then double click on the executable in your default download folder. Note, a user may need to adjust their browser or security settings to allow download and installation.
'''For Windows 11/ 10 / 8 / 7''' users: you can download the [https://github.com/elanthia-online/lich-5/releases/latest/download/Ruby4Lich5.exe Ruby4Lich5.exe Installer] and install everything you need automatically. Click on the '''Ruby4Lich5.exe''' and download it to your computer then double click on the executable in your default download folder. Note, a user may need to adjust their browser or security settings to allow download and installation.
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.
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.


Line 44: Line 64:


# '''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.
# '''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.
# Download and Run the [https://github.com/elanthia-online/lich-5/releases/latest 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.
# Download and Run the [https://github.com/elanthia-online/lich-5/releases/latest/download/Ruby4Lich5.exe 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.
# The installation may take a few minutes, especially on non-SSD harddrives.
# The installation may take a few minutes, especially on non-SSD harddrives.
# 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.
# 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.
Line 58: Line 78:
Additional assistance in installation can be found in the scripting channel of the GemStone [https://discord.gg/KF9Wr8u Discord].
Additional assistance in installation can be found in the scripting channel of the GemStone [https://discord.gg/KF9Wr8u Discord].


==Mac OS X==
==MacOS==
There two common options for playing Gemstone IV on a Mac is either to play natively with Avalon or to use virtualization software such as Parallels with Wrayth/WizardFE. Below are the options on how to do that.

===Native Avalon===
Players with Macs can use [[Mac_Installation_-_Lich_(software) | 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.
Players with Macs can use [[Mac_Installation_-_Lich_(software) | 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.


===Parallels Windows===
'''Note for Parallels on ARM:''' By default the rubyw file in C:\Ruby4Lich5\bin is set to run in compatibility mode for windows 7. On an ARM Mac running parallels, this causes Wrayth scripts not to run. Turning compatibility mode off in the rubyw file fixes this issue.
'''The following only pertains to Apple Silicon based Macs. If you have an Intel based Mac, you can use the normal Windows installation procedures instead.'''

To install Wrayth/WizardFE, Lich, and Ruby via Parallels you will need to do a few various steps as outlined below. Please note, the rubyw file in C:\Ruby4Lich5\X.X.X\bin may be set to run in compatibility mode for windows 7. On an ARM Mac running parallels, this causes Wrayth scripts not to run. Turning compatibility mode off in the rubyw file fixes this issue if it was enabled.

<div class="mw-customtoggle-debian" style="font-size:16px;overflow:auto;color:#0000FF">[Click to Expand]</div>
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-debian">
The following steps are to be done AFTER you've successfully installed Wrayth/WizardFE and can login normally without Lich5 on the machine. Once you've done that and can successful connect normally, then follow these steps:
# Download and install [https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.3-1/rubyinstaller-devkit-3.3.3-1-x86.exe Ruby 3.3.3 x86 (32bit) Installer] and use default options presented during install
# Open a Command Prompt and issue the following command to install the necessary gems, this process will take awhile (at least 30 mins)<pre>gem install ascii_charts concurrent-ruby curses ftools gtk3 json jwt mechanize nokogiri redis sequel sqlite3 terminal-table tomlib tzinfo tzinfo-data webrick xmpp4r --no-document</pre>
# Download and extract the Lich5 latest [https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip lich-5.zip] to somewhere you want it stored (usually desktop)
# Double click the lich.rbw file that is now located in the extracted Lich5 location you did above. Login and play as usual.
</div>


==Chromebook & Debian variants==
==Chromebook & Debian variants==
Line 76: Line 111:
<pre>
<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 libgdbm6 libgdbm-dev libsqlite3-dev git
sudo apt-get -y install autoconf bison build-essential curl libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libsqlite3-dev git unzip
</pre>
</pre>


Line 91: Line 126:
</pre>
</pre>


Download the tools to let rbenv install Ruby on its own, then install Ruby 2.7.8 and set it to be our default version of Ruby system-wide:
Download the tools to let rbenv install Ruby on its own, then install Ruby 3.3.5 and set it to be our default version of Ruby system-wide:
<pre>
<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 3.2.2 -v
rbenv install 3.3.5 -v
rbenv global 3.2.2
rbenv global 3.3.5
</pre>
</pre>


Line 101: Line 136:
<pre>
<pre>
echo "gem: --no-document" > ~/.gemrc
echo "gem: --no-document" > ~/.gemrc
gem install ascii_charts concurrent-ruby curses gtk3 sequel sqlite3 terminal-table tomlib
gem install ascii_charts concurrent-ruby curses gtk3 jwt mechanize nokogiri redis sequel sqlite3 terminal-table tomlib tzinfo tzinfo-data webrick xmpp4r
</pre>
</pre>


Line 107: Line 142:
<pre>
<pre>
cd ~
cd ~
git clone https://github.com/elanthia-online/lich-5.git
curl -L "https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip" -o temp.zip && unzip temp.zip -d ./ && rm temp.zip
git clone https://github.com/elanthia-online/ProfanityFE.git
git clone https://github.com/elanthia-online/ProfanityFE.git
</pre>
</pre>
Line 117: Line 152:
<div class="mw-customtoggle-fedora" style="font-size:16px;overflow:auto;color:#0000FF">[Click to Expand]</div>
<div class="mw-customtoggle-fedora" style="font-size:16px;overflow:auto;color:#0000FF">[Click to Expand]</div>
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-fedora">
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-fedora">
Currently supported versions of Fedora 38 & 39 use Ruby 3.2.2, while Fedora 40 uses Ruby 3.3.0. All of which are currently compatible with Lich 5.7.0 or higher.
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:
1. Update The Base Installation:
Line 130: Line 162:
2. Install required Ruby and Development packages:
2. Install required Ruby and Development packages:
<pre>
<pre>
$ sudo dnf install -y autoconf bison gcc gdbm gdbm-devel glib2-devel gobject-introspection-devel \
$ sudo dnf install -y autoconf bison curl gcc gdbm gdbm-devel glib2-devel gobject-introspection-devel \
libyaml-devel libffi-devel make ncurses-devel openssl-devel readline-devel redhat-rpm-config \
libyaml-devel libffi-devel make ncurses-devel openssl-devel readline-devel redhat-rpm-config \
ruby ruby-devel sqlite-devel unzip zlib-devel
ruby ruby-devel sqlite-devel unzip zlib-devel
Line 139: Line 171:
$ gem install rake
$ gem install rake
$ gem update
$ gem update
$ gem install ascii_charts concurrent-ruby curses gtk3 sequel sqlite3 terminal-table tomlib
$ gem install ascii_charts concurrent-ruby curses gtk3 jwt mechanize nokogiri redis sequel sqlite3 terminal-table tomlib tzinfo tzinfo-data webrick xmpp4r
</pre>
</pre>


4. Download Lich & Profanity:
4. Download Lich & Profanity:
<pre>
<pre>
$ cd ~
cd ~
$ git clone https://github.com/elanthia-online/lich-5.git
curl -L "https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip" -o temp.zip && unzip temp.zip -d ./ && rm temp.zip
$ git clone https://github.com/elanthia-online/ProfanityFE.git
git clone https://github.com/elanthia-online/ProfanityFE.git
</pre>
</pre>
</div>
</div>
Line 160: Line 192:
<div class="mw-customtoggle-changelog" style="font-size:16px;overflow:auto;color:#0000FF">[Click to Expand]</div>
<div class="mw-customtoggle-changelog" style="font-size:16px;overflow:auto;color:#0000FF">[Click to Expand]</div>
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-changelog">
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-changelog">
'''5.7.0''' (current)
'''5.10.4''' (current)
<PRE>
-o- [GS4] - [xmlparser.rb] bugfix: Simu XML breaking change RoomID #679
</PRE>
'''5.10.3'''
<PRE>
-o- [GS4] - [crit_tables] fix: CritRanks regex fixes (multiple files and changes) #671
-o- [GS4] - [spellsong.rb] fix: Correct Spellsong sync method #674
-o- [GS4] - [parser.rb] fix: thorn status regex correction #673
-o- [All] - [xmlparser.rb] fix: Split out if elif block to account for DR having multiple… #670
-o- [All] - [global_defs.rb] fix: percentconcentration #676
-o- [All] - [global_defs.rb] fix: update move failure message to handle attack and casting #667
-o- [All] - [init.rb] fix: update required ruby check messaging #669
-o- [All] - [sessionvars.rb] feat: new module SessionVars for non-persistent variable storage #666
</PRE>
'''5.10.2'''
<PRE>
-o- [DR] - [games.rb] bugfix: tweak XML rewrite section #662
-o- [GS4] - [crit_tables] bugfix: additional crit table regex corrections #663
-o- [GS4] - [ascension.rb] bugfix: add new Transcend Destiny to lookups #661
-o- [GS4] - [effects.rb] bugfix: regexp escape txt #660
-o- [GS4] - [disruption_critical_table.rb] Bugfix in regex #659
</PRE>
'''5.10.1'''
<PRE>
-o- [All] - [games.rb] bugfix: prevent race condition in games thread #656
-o- [All] - [init.rb] bugfix: address WINE variance between linux / installs #655
-o- [GS4] - [gs][stash.rb] bugfix: wear code improvement #657
</PRE>
'''5.10.0'''
<PRE>
-o- [All] - [main.rb] bugfix: correct encoding for WizardFE PR #640
-o- [All] - [games.rb] bugfix: correct logic for room detection when using CLI --start-scripts PR #639
-o- [All] - [DB_Store.rb] feat: add direct support for Simu RENAME and CHANGE PROF PR #633
-o- [All] - chore: breakout code to individual files for easier management PR #617
-o- [All] - [lich.rbw] chore: add deprecated msg to old Settings/GameSettings/CharSettings methods PR #589
-o- [All] - [lich.rbw] feat: add new --dark-mode CLI option PR #583
-o- [All] - [global_defs.rb] bugfix: monsterbold fix for additional clients PR #581
-o- [All] - [update.rb] feat: update core scripts from source on Lich5 update/install PR #579
-o- [All] - [log.rb] feat: add new Log module copied from Olib PR #577
-o- [All] - [numeric.rb] feat: add days/hours/minutes/seconds methods to numerics PR #623
-o- [All] - [messaging.rb] feat: WizardFE Voln window support #647
-o- [All] - [init.rb] bugfix: WINE entries for Linux / MacOS #649
-o- [DR] - [lich.rbw] bugfix: cleanup downstream hook exclusions PR #593
-o- [DR] - [global_defs.rb] bugfix: missing climb failure message PR #592
-o- [GS4] - [effects.rb] bugfix: show non-standard Effects in `;magic` output PR #641
-o- [GS4] - [parser.rb] bugfix: fix WARCRY duplication results / add WALL OF THORNS effect detection PR #634 / PR #637
-o- [GS4] - [critranks.rb] feat: add critical rank resolution tables and methods PR #625
-o- [GS4] - [effects.rb] bugfix: to support regex for active? & time_left PR #590
-o- [GS4] - [infomon.rb] bugfix: add implicit NPC death monitoring PR #588
-o- [GS4] - [infomon.rb] bugfix: change PSM to be stored as type.mnemonic PR #587
-o- [GS4] - [lich.rbw] bugfix: strip_xml multiline fix PR #584
-o- [GS4] - [stash.rb] bugfix: fix sack detection to use Stash.container(param) PR #578
-o- [GS4] - [spell.rb] feat: Spell.after_stance #644
-o- [GS4] - [xmlparser.rb] bugfix: for Claim module #646
-o- [GS4] - [infomon] feat: track Voln favor via RESOURCE output #648
-o- [GS4] - [gameobj.rb] feat: add Bandit hidden target API #650
</PRE>
'''5.9.2'''
<PRE>
-o- [GS4] - [group.rb] bugfix: proper leader detection from GROUP output
-o- [GS4] - [char.rb] bugfix: add back depracted Char.maxvitals with msging to switch to new Char.max_vitals methods
</PRE>
'''5.9.1'''
<PRE>
-o- [GS4] - [group.rb] bugfix: group.check syntax change
-o- [GS4] - [spell.rb] bugfix: affordable? Char.mana parenthesis logic
</PRE>
'''5.9.0'''
<PRE>
-o- [All] - feat: sqlite3 gem syntax code cleanup PR#553
-o- [All] - [lich.rbw] bugfix: remove unused Setting, GameSetting, CharSetting PR#542
-o- [All] - [lich.rbw] bugfix: scrub login key from error message popups PR#548
-o- [All] - [messaging.rb] bugfix: color mismatch WizardFE white txt PR#554
-o- [All] - [lich.rb] feat: add new Lich.deprecated method to aid in deprecating older API calls PR#523
-o- [GS4] - [char.rb] feat: log method_missing calls PR#552
-o- [GS4] - [char.rb] feat: add missing global_def related methods PR#523
-o- [GS4] - [global_defs.rb] feat: deprecate various Char module methods PR#523
-o- [GS4] - [spellsong.rb] bugfix: cache spellsong duration calc PR#551
-o- [GS4] - [effects.rb] feat: Effects module breakout PR#549
-o- [GS4] - [group.rb][disk.rb] feat: Group & Disk class PR#532
-o- [GS4] - [activespell.rb] feat: add duration change messaging, off by default, see ;help for details PR#487
</PRE>
'''5.8.1'''
<PRE>
-o- [All] - [lich.rbw] feat: add Game:Character to debug log file ouput
-o- [All] - [init.rb] feat: add milliseconds to debug filename
-o- [GS4] - [lich.rbw] bugfix: reorder parsing of $SERVERSTRING to avoid certain conflicts
-o- [GS4] - [parser.rb] bugfix: update for new Empath resource and sleep/bind messaging
-o- [GS4] - [status.rb] bugfix: bound? calmed? and sleeping? support for spellnames flag being off
-o- [GS4] - [xmlparser.rb] bugfix: additional creature dying messaging to check against XML dead not being sent
-o- [GS4] - [gameobj.rb] bugfix: remove sorcerer arms and animates from GameObj.targets
</PRE>
'''5.8.0'''
<PRE>
-o- [All] - Ruby 3.3 compatibility
-o- [All] - [lich.rbw] feat: adds .sources for up/downstream hooks
-o- [All] - [lich.rbw] bugfix: don't use WINE for custom frontends
-o- [GS4] - [char.rb] bugfix: add back Char.stance
-o- [GS4] - [claim.rb] feat: new module and associated changes to xmlparser
-o- [GS4] - [experience.rb] feat: percent experience options
-o- [GS4] - [parser.rb] bugfix: allow for negative TNL exp value
-o- [GS4] - [parser.rb] bugfix: allow hyphenated last names in character names
-o- [GS4] - [parser.rb] feat: update resource matching for new Bard service
-o- [GS4] - [stash.rb] bugfix: catch more shield removal messages
-o- [GS4] - [util.rb] bugfix: underscore issue for PSMs
</PRE>
'''5.7.0'''
<PRE>
<PRE>
-o- Supports Ruby 3.2 - security enhancements and huge speed improvements for regex
-o- Supports Ruby 3.2 - security enhancements and huge speed improvements for regex

Latest revision as of 17:44, 17 October 2024

Lich:Software/Installation 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.

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

The latest stable lich version is 5.10.4 supporting Ruby 3.3 - published October 14, 2024

In-Place Upgrade

If you are on an older version of Lich 5 and want to upgrade to the most current version, you can choose to either upgrade Lich5 only or both Lich 5 and Ruby. If you're currently on Lich 4, able to check by running the command ;e echo LICH_VERSION, go to the upgrade from Lich 4 section.

For each section, please follow the directions/commands one at a time.

Lich 5 Only

Lich 5.6.0 or newer

  1. Backup existing Lich 5 folder
  2. Run this command in-game ;lich5-update --library=update.rb
  3. Quit and restart lich.
  4. Run this command in-game ;lich5-update --update
  5. Quit and restart lich.
  6. Congratulations - you're now running on the latest version of Lich!

Lich 5.5 or older

Does not work for Lich 4 upgrades, please do a full new install if on Lich 4.

  1. Backup existing Lich 5 folder
  2. Run this command in-game ;lich5-update --snapshot
  3. Quit and close out of the game.
  4. Download the full release lich-5.zip
  5. Extract the zip file over your existing Lich5 installation, choosing to overwrite existing files.
  6. Restart lich.
  7. Congratulations - you're now running on the latest version of Lich!

Both Ruby 3.3 & Lich 5

This method is for Windows only. Linux and MacOS users, please do a Lich 5 only update and update Ruby manually via normal install/update methods for the OS.

  1. Logout of all characters
  2. Backup existing Lich 5 folder
  3. Uninstall existing Ruby4Lich5 installs from Programs & Features control panel, or alternatively, rename your existing Ruby4Lich5 folder to Ruby4Lich5old. (Defaults to C:\Ruby4Lich5)
  4. Download the latest Ruby4Lich5.exe Installer
  5. Run the installer and be sure to have both Ruby and Lich 5 option selected
  6. Congratulations - you're now running on the latest version of Lich & Ruby!

Ruby 3.3 Only

Use this to upgrade to the newest version of Ruby only if you're already on the latest version of Lich5 and now want to update Ruby afterwards. If you're not already on the latest version of Lich5, please use previous section steps instead.

  1. Logout of all instances/characters
  2. Backup existing Lich 5 folder
  3. Uninstall your existing Ruby4Lich5 install via Programs & Features (ensure it's now gone, default location was C:\Ruby4Lich5)
  4. Download the latest Ruby4Lich5.exe Installer
  5. Run the new installer and choose to only install Ruby Only
  6. Congratulations - you're now running on the latest version Ruby!

Windows New Installation

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. Click on the Ruby4Lich5.exe and download it to your computer then double click on the executable in your default download folder. Note, a user may need to adjust their browser or security settings to allow download and installation. 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.


New Installation for Lich 5 (11/14/2023)

  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.


Upgrade Installation for Lich 5 from Lich 4 (11/14/2023)

This option is deprecated. Lich 5 architectures are not compatible with Lich 4. Back up your existing Lich 4 folder, uninstall any existing Ruby executables, and then follow the instructions for a new install above.


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

MacOS

There two common options for playing Gemstone IV on a Mac is either to play natively with Avalon or to use virtualization software such as Parallels with Wrayth/WizardFE. Below are the options on how to do that.

Native Avalon

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.

Parallels Windows

The following only pertains to Apple Silicon based Macs. If you have an Intel based Mac, you can use the normal Windows installation procedures instead.

To install Wrayth/WizardFE, Lich, and Ruby via Parallels you will need to do a few various steps as outlined below. Please note, the rubyw file in C:\Ruby4Lich5\X.X.X\bin may be set to run in compatibility mode for windows 7. On an ARM Mac running parallels, this causes Wrayth scripts not to run. Turning compatibility mode off in the rubyw file fixes this issue if it was enabled.

[Click to Expand]

The following steps are to be done AFTER you've successfully installed Wrayth/WizardFE and can login normally without Lich5 on the machine. Once you've done that and can successful connect normally, then follow these steps:

  1. Download and install Ruby 3.3.3 x86 (32bit) Installer and use default options presented during install
  2. Open a Command Prompt and issue the following command to install the necessary gems, this process will take awhile (at least 30 mins)
    gem install ascii_charts concurrent-ruby curses ftools gtk3 json jwt mechanize nokogiri redis sequel sqlite3 terminal-table tomlib tzinfo tzinfo-data webrick xmpp4r --no-document
  3. Download and extract the Lich5 latest lich-5.zip to somewhere you want it stored (usually desktop)
  4. Double click the lich.rbw file that is now located in the extracted Lich5 location you did above. Login and play as usual.

Chromebook & Debian variants

[Click to Expand]

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 curl libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libsqlite3-dev git 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 3.3.5 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 3.3.5 -v
rbenv global 3.3.5

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 ascii_charts concurrent-ruby curses gtk3 jwt mechanize nokogiri redis sequel sqlite3 terminal-table tomlib tzinfo tzinfo-data webrick xmpp4r

Install Lich and Profanity:

cd ~
curl -L "https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip" -o temp.zip && unzip temp.zip -d ./ && rm temp.zip
git clone https://github.com/elanthia-online/ProfanityFE.git

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

Fedora

[Click to Expand]

Currently supported versions of Fedora 38 & 39 use Ruby 3.2.2, while Fedora 40 uses Ruby 3.3.0. All of which are currently compatible with Lich 5.7.0 or higher.

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 curl 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
$ gem install ascii_charts concurrent-ruby curses gtk3 jwt mechanize nokogiri redis sequel sqlite3 terminal-table tomlib tzinfo tzinfo-data webrick xmpp4r

4. Download Lich & Profanity:

cd ~
curl -L "https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip" -o temp.zip && unzip temp.zip -d ./ && rm temp.zip
git clone https://github.com/elanthia-online/ProfanityFE.git

Popular Scripts

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


Ecosystem Information

Lich Changelog

[Click to Expand]

5.10.4 (current)

-o- [GS4] - [xmlparser.rb] bugfix: Simu XML breaking change RoomID #679

5.10.3

-o- [GS4] - [crit_tables] fix: CritRanks regex fixes (multiple files and changes) #671
-o- [GS4] - [spellsong.rb] fix: Correct Spellsong sync method #674
-o- [GS4] - [parser.rb] fix: thorn status regex correction #673
-o- [All] - [xmlparser.rb] fix: Split out if elif block to account for DR having multiple… #670
-o- [All] - [global_defs.rb] fix: percentconcentration #676
-o- [All] - [global_defs.rb] fix: update move failure message to handle attack and casting #667
-o- [All] - [init.rb] fix: update required ruby check messaging #669
-o- [All] - [sessionvars.rb] feat: new module SessionVars for non-persistent variable storage #666

5.10.2

-o- [DR] - [games.rb] bugfix: tweak XML rewrite section #662
-o- [GS4] - [crit_tables] bugfix: additional crit table regex corrections #663
-o- [GS4] - [ascension.rb] bugfix: add new Transcend Destiny to lookups #661
-o- [GS4] - [effects.rb] bugfix: regexp escape txt #660
-o- [GS4] - [disruption_critical_table.rb] Bugfix in regex #659

5.10.1

-o- [All] - [games.rb] bugfix: prevent race condition in games thread #656 
-o- [All] - [init.rb] bugfix: address WINE variance between linux / installs #655
-o- [GS4] - [gs][stash.rb] bugfix: wear code improvement #657 

5.10.0

-o- [All] - [main.rb] bugfix: correct encoding for WizardFE PR #640
-o- [All] - [games.rb] bugfix: correct logic for room detection when using CLI --start-scripts PR #639
-o- [All] - [DB_Store.rb] feat: add direct support for Simu RENAME and CHANGE PROF PR #633
-o- [All] - chore: breakout code to individual files for easier management PR #617
-o- [All] - [lich.rbw] chore: add deprecated msg to old Settings/GameSettings/CharSettings methods PR #589
-o- [All] - [lich.rbw] feat: add new --dark-mode CLI option PR #583
-o- [All] - [global_defs.rb] bugfix: monsterbold fix for additional clients PR #581
-o- [All] - [update.rb] feat: update core scripts from source on Lich5 update/install PR #579
-o- [All] - [log.rb] feat: add new Log module copied from Olib PR #577
-o- [All] - [numeric.rb] feat: add days/hours/minutes/seconds methods to numerics PR #623
-o- [All] - [messaging.rb] feat: WizardFE Voln window support #647
-o- [All] - [init.rb] bugfix: WINE entries for Linux / MacOS #649
-o- [DR] - [lich.rbw] bugfix: cleanup downstream hook exclusions PR #593
-o- [DR] - [global_defs.rb] bugfix: missing climb failure message PR #592
-o- [GS4] - [effects.rb] bugfix: show non-standard Effects in `;magic` output PR #641
-o- [GS4] - [parser.rb] bugfix: fix WARCRY duplication results / add WALL OF THORNS effect detection PR #634 / PR #637
-o- [GS4] - [critranks.rb] feat: add critical rank resolution tables and methods PR #625
-o- [GS4] - [effects.rb] bugfix: to support regex for active? & time_left PR #590
-o- [GS4] - [infomon.rb] bugfix: add implicit NPC death monitoring PR #588
-o- [GS4] - [infomon.rb] bugfix: change PSM to be stored as type.mnemonic PR #587
-o- [GS4] - [lich.rbw] bugfix: strip_xml multiline fix PR #584
-o- [GS4] - [stash.rb] bugfix: fix sack detection to use Stash.container(param) PR #578
-o- [GS4] - [spell.rb] feat: Spell.after_stance #644 
-o- [GS4] - [xmlparser.rb] bugfix: for Claim module #646
-o- [GS4] - [infomon] feat: track Voln favor via RESOURCE output #648
-o- [GS4] - [gameobj.rb] feat: add Bandit hidden target API #650

5.9.2

-o- [GS4] - [group.rb] bugfix: proper leader detection from GROUP output
-o- [GS4] - [char.rb] bugfix: add back depracted Char.maxvitals with msging to switch to new Char.max_vitals methods

5.9.1

-o- [GS4] - [group.rb] bugfix: group.check syntax change
-o- [GS4] - [spell.rb] bugfix: affordable? Char.mana parenthesis logic

5.9.0

-o- [All] -  feat: sqlite3 gem syntax code cleanup PR#553
-o- [All] - [lich.rbw] bugfix: remove unused Setting, GameSetting, CharSetting PR#542
-o- [All] - [lich.rbw] bugfix: scrub login key from error message popups PR#548
-o- [All] - [messaging.rb] bugfix: color mismatch WizardFE white txt PR#554
-o- [All] - [lich.rb] feat: add new Lich.deprecated method to aid in deprecating older API calls PR#523
-o- [GS4] - [char.rb] feat: log method_missing calls PR#552
-o- [GS4] - [char.rb] feat: add missing global_def related methods PR#523
-o- [GS4] - [global_defs.rb] feat: deprecate various Char module methods PR#523
-o- [GS4] - [spellsong.rb] bugfix: cache spellsong duration calc PR#551
-o- [GS4] - [effects.rb] feat: Effects module breakout PR#549
-o- [GS4] - [group.rb][disk.rb] feat: Group & Disk class PR#532
-o- [GS4] - [activespell.rb] feat: add duration change messaging, off by default, see ;help for details PR#487

5.8.1

-o- [All] - [lich.rbw] feat: add Game:Character to debug log file ouput
-o- [All] - [init.rb] feat: add milliseconds to debug filename
-o- [GS4] - [lich.rbw] bugfix: reorder parsing of $SERVERSTRING to avoid certain conflicts
-o- [GS4] - [parser.rb] bugfix: update for new Empath resource and sleep/bind messaging
-o- [GS4] - [status.rb] bugfix: bound? calmed? and sleeping? support for spellnames flag being off
-o- [GS4] - [xmlparser.rb] bugfix: additional creature dying messaging to check against XML dead not being sent
-o- [GS4] - [gameobj.rb] bugfix: remove sorcerer arms and animates from GameObj.targets

5.8.0

-o- [All] - Ruby 3.3 compatibility
-o- [All] - [lich.rbw] feat: adds .sources for up/downstream hooks
-o- [All] - [lich.rbw] bugfix: don't use WINE for custom frontends
-o- [GS4] - [char.rb] bugfix: add back Char.stance
-o- [GS4] - [claim.rb] feat: new module and associated changes to xmlparser
-o- [GS4] - [experience.rb] feat: percent experience options
-o- [GS4] - [parser.rb] bugfix: allow for negative TNL exp value
-o- [GS4] - [parser.rb] bugfix: allow hyphenated last names in character names
-o- [GS4] - [parser.rb] feat: update resource matching for new Bard service
-o- [GS4] - [stash.rb] bugfix: catch more shield removal messages
-o- [GS4] - [util.rb] bugfix: underscore issue for PSMs

5.7.0

-o- Supports Ruby 3.2 - security enhancements and huge speed improvements for regex
-o- New libraries/modules/classes: Account, HMR (Hot Module Reloading)
-o- GS4 Infomon now baked into Lich5 as a library, no more need to run standalone script
-o- New GS4 libraries/modules/classes: Ascension, Bounty, Currency, Experience, Resources, Society, Status, Warcry
-o- Updates to existing libraries/modules/classes: Armor, Util, Weapon, Spell, GameObj, Messaging
-o- Several Bugfixes for lots of things
-o- Lots of code cleanup

5.6.2

-o- Fix for XML errors
-o- Adds the DR Plat instance for Frostbite FE
-o- Adds ‘ball’ as the noun used for ‘ball and chain’
-o- Adds the movement result ‘slip in the mud and fall flat’
-o- Corrects stamina cost for the feature Dispel Magic
-o- Plus all the latest script updates from Elanthia-Online!

5.6.1

-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