Talk:Mac Installation - Lich (software)

The official GemStone IV encyclopedia.
Jump to: navigation, search

preserving the old to bring in the new!

Installing the Lich script engine on your Mac OS X Computer

No longer viable due to change in GTK with Homebrew - FIXED (sort of)

User Jahadeem left a note about GTK failing. Our friends at Homebrew strike again. I have a workaround in place both in the instructions below and in the installer. I'll address this more permanently in the coming months, but for now OSX-Lich is BACK IN BUSINESS! DOUG (talk) 22:57, 10 June 2018 (CDT)


An important note to users who updated to High Sierra (Mac OS X 10.13) - Apple has changed the default version of Ruby in its core software release. The version of Ruby distributed with Mac OS X 10.13 (High Sierra) is version 2.3.x, which does not work with the current Lich implementation. If you have had Lich installed in a prior version of Mac OS X (10.12 or earlier) and it was working, but you are now getting errors about SAFE variables, you are affected by this change. More detail will be provided when available as we work through these issues. If you have not installed Lich yet, the instructions below will work for you.

For those who desire immediate assistance, email doug@play.net for current information. When the entire solution is in place and known to be working, instructions will be provided below and this note will be removed.

DOUG (talk) 19:44, 9 October 2017 (CDT)


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.

Background

Mac OS X systems for Mavericks (10.9), Yosemite (10.10) and El Capitan (10.11) have some of the elements you need to run Lich already installed. Some elements are missing, and will require you to install components on your system. While most software distributed for Mac OS X comes in the form of an automated install file, Lich is different. Lich will require that you install some components via a Terminal window command prompt. You will also start Lich from the Terminal window.

Note for versions prior to Mavericks (10.9)

Installation instructions for Mac OS X versions prior to 10.9 is more complicated. The best option is to update your OS X version to current.

Steps to Install

Before you begin, it may be a good idea to download and run the 3rd party provided lich diagnostics script. This script is written to run on your Mac no matter how much, or how little of the required components you have installed. It can be useful to create a reference snapshot before you begin installing, and again after. Just run the script again, it will simply add on to your existing diagnostics file, so you have a before and after picture.

To run this script, download the file and then:

1)  Open up your Terminal window (you can use Spotlight to search for Terminal, then open the application)
2)  In your terminal window enter the following commands:
         cd
         chmod 744 ./Downloads/lichdiag.sh
         ./Downloads/lichdiag.sh
3)  The output in Terminal will tell you what you have and don't have.

There are six steps to getting Lich up and running on your new Mac.

1)  Installing the Avalon client.
2)  Installing the xQuartz windowing system.
3)  Installing the software compiling tools from Apple.
4)  Installing the core software Ruby will use to support gems required for Lich.
5)  Installing the Ruby gems used by Lich.
6)  Testing the game and finalizing the installation.


Depending on the capabilities of your Mac and your network, you should anticipate that this installation process will take between 15 minutes and 45 minutes for most Macbook Pros and MacPros.

Detailed Installation Instructions

Let's get you set up to use Lich on your Mac system. You have two choices in how you can install Lich on your Mac OS X system. You can download a 3rd party installer file and let it do most of the work for you, or you can manually install the necessary components. The 3rd party installer file is not supported by Simutronics. NOTE: when running the installer file, you will be asked for your password twice - once to install Homebrew, and once to install xQuartz. This should happen within the first 5 to 10 minutes of the install. Thereafter the script should run without any further interaction required.

Note: For most current Mac systems, the install script will take about 20 to 30 minutes to complete if it has to install everything.

To install via the 3rd party script osxlich.sh:

Command Comment
Download the diagnostic file You should run this before and after the installation to get a snapshot of your system to troubleshoot from.
Download the installer file After you've run the diagnostics, you'll run this program to install what you need.
Open the Terminal Application You can find Terminal by using Spotlight.
cd type (or copy / paste this and the following commands into your Terminal window.
chmod 744 ./Downloads/lichdiag.sh make the diagnostic file executable only by you.
chmod 744 ./Downloads/osxlich.sh make the installer program executable only by you.
./Downloads/lichdiag.sh run the diagnostics program. It will create a text file on your desktop for reference.
./Downloads/osxlich.sh run the installer program. You will be asked for your password twice during the install.
./Downloads/lichdiag.sh after the installer completes, run the diagnostics again.
You are now ready to play scroll down to the section on Running Lich for the First Time.

If you would rather manually install the required components:

First, if you haven't already, download Avalon 4.3.3 (beta) from http://www.play.net/playdotnet/play/avalon-info.asp You'll want to scroll down to the bottom to find the right one. After you've downloaded it, double click on the download to unzip it. Then, I would recommend you drag the application onto your desktop where it can be handy!

Now we get serious.

Below, you'll find a list of commands that you'll need to enter in Terminal. Terminal is an application on every Mac system that allows you to enter Unix-style commands. If you've never used Terminal before, it is simply a console that you type information (commands) into and the system responds. It is in the Applications / Utilities folder, or you can simply use Spotlight (magnifying glass upper right corner on most Macs) to search for Terminal, and open it.

In Terminal, you're going to type (or copy / paste) the commands below. It is absolutely ok to copy and paste these commands into Terminal rather than type them in. You only need to copy the bold part. Anything in comment column is to help inform what's going on. Don't copy that portion. Be sure to copy the complete command, though.

Command Comment
cd just making sure we're in our home directory
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" copy and paste this whole command - don't just click on the link. You'll be asked for your password here.
brew install Caskroom/cask/xquartz Install xQuartz. This might ask you for your password again.
brew install rbenv this command will install the rbenv manager to manage ruby versions
rbenv init Initialize the environment
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile make sure this works every time we open terminal
exit log out of the terminal window
From the Terminal > Shell menu, open a new window If you need to, you can use Spotlight to search for Terminal
brew install sethrfore/r-srf/cairo this command should take a few minutes to complete
brew install https://raw.githubusercontent.com/Homebrew/homebrew/bb3fe5f2de87f76bc0a3f3480635c8fd0d68cec3/Library/Formula/gtk+.rb copy and paste this whole command - don't just click on the link
rbenv install 2.2.5 Install Ruby version 2.2.5
rbenv global 2.2.5 Set 2.2.5 as the Ruby the system will use
rbenv rehash Setting up to install the gems needed
gem install sqlite3 Install the database Lich uses This command may fail on some systems complaining that it is already installed. That's ok.
gem install gtk2 -v 3.1.8 Install the graphics interface Lich uses for advanced scripts like narost
cd just making sure we're in our home directory
curl -OL http://lichproject.org/download/lich-4.6.33.zip download the current Lich software
unzip lich-4.6.33.zip unzip the lich software for use


That is everything we should need to worry about to get into the game with Lich operating.

Running Lich for the First Time

In order to start the game with Lich, from Terminal we'll have to run the following command:

sudo ruby lich/lich.rbw --gemstone --avalon

You will be prompted for your password. Then, you should see in Terminal that Lich is waiting for the game client to connect. Just fire up Avalon, log in and enjoy!

Quick pro tip: The next time you want to play, just open up Terminal and hit your 'up arrow' one time. You should see the sudo ruby line above in your Terminal window. You can just press enter, fire up Avalon and enjoy again!

Final Steps

After confirming everything is working the way you want, don't forget! Open up Terminal and type the following three commands:

brew pin gtk+
brew pin cairo
brew pin pango


Enjoy!

A Few Quick Pro Tips

If you've read this far, you're going to benefit!

caffeinate -di [command]

Sometimes your Mac will want to go to sleep, and will disrupt your processes - even sometimes causing the dread 'SEGFAULT' that reboots your Mac with cryptic information that no one really can use (despite claims to the contrary). If you use the 'caffeinate' command in Terminal, your Mac will not sleep ( [d]isplay or computer [i]dle ) until the command completes. Suggested usage might be 'caffeinate -di ./osxinstall.sh' as one (very pertinent) example.

Install Wine

Took the plunge from a Windows PC to Mac OS X, but not quite ready to give up on your Stormfront or Wizard (my personal fav) yet? Great news! You don't have to. While Avalon is a tried and tested Mac front end, let's face it - the PC crowd presently has the better collection of front ends. So, how do you make this magic all happen? Just follow these instructions (wine installs are as long or longer than the core OS X Lich installs, so make sure you have time!) And now might just be a good time to test 'caffeinate' on that first command - it takes a while and might abort if the machine tries to sleep.

Command Explanation
Open Terminal Yes, we love this application to do heavy work!
cd Always a good idea anytime you're not sure exactly where you are (which folder) on your Mac
caffeinate -di brew install wine This will take a bit of time to complete, so we'll pour in some caffeine.
curl -OL http://www.play.net/software/lnchInst.exe Don't just click the link, copy (or type) the entire command.
wine lnchInst.exe You might see a few errors / warnings, but it'll work as of 8/2016
ruby ./lich/lich.rbw Note! No SUDO (yay!) and no specifying --gemstone --avalon. Simple.

Troubleshooting - you may get this strange error message: "concat': no implicit conversion of Errno::EACCES into String (TypeError)" . If you've used Avalon and Lich previously (in particular, using 'sudo ruby' as the instructions say), then we have one step we need to take to remove this error. Don't worry, it is an expected outcome of using sudo with lich, and can be fixed with one line.

Command Explanation
cd Absolutely ensure we're in the right directory
sudo chown -R $(whoami):staff ./lich change ownership of all content in the lich directory to your username
ruby ./lich/lich.rbw continue on with the login

At this point, you'll see the Lich login window - just type in your account information, select your character, and then look at the two radio buttons. One of them is Wizard, and the other Stormfront. Select your preference, and click PLAY. Your front end will be downloaded and you'll be guided to install (please just select the default locations - wine knows what it's doing).

Caution - sometimes wine takes a bit of time 'searching' for a previous installation of a file, especially the Wizard. No panic, let the process complete. Then you may not connect, especially the Wizard, the first time. No worries - wait it out and close up Terminal, then start Terminal again, and re-enter the command. You'll get in the second time.

Note: Stormfront is a very nice looking front end, but it has a memory leak in it. This situation is really exacerbated on a Mac / wine installation. You'll notice the front end start to get sluggish. When it does - simply move someplace safe, log out, and log back in. Voilà!

Use those config files!

If you've been playing for a while, you'll have a couple of challenges to overcome - migrating any non-lich scripts you may have, and migrating your existing highlights, macros and other settings. The process is slightly different for each front end, but in general:

Wine installs all Windows programs under the user directory at the following path:

~/.wine/drive_c/Program\ Files

So our Simutronics front ends are stored at

~/.wine/drive_c/Program\ Files/SIMU/STORM

~/.wine/drive_c/Program\ Files/SIMU/WIZARD

To move your existing Stormfront configuration, take these steps:

1) Check to see if your scripts and such are saved on the server.  If they are - confirm they're available to you
2) If they're not, on your old system with Stormfront - click on the Options button, then select SETTINGS and EXPORT
3) This will create an XML file.  Copy this file over to your Mac (desktop is fine if you wish)
4) Start the game on your Mac with Lich and Stormfront, and then on that system, click Options > SETTINGS and IMPORT
5) Confirm your settings / highlights / scripts are available to you.

To move over your existing Wizard configuration (it's a bit harder), take these steps:

1) On your old system, copy the directory under Wizard called Gemstone
2) On your new Mac you'll need to use Terminal to put them in the right place
3) On your new Mac, you need to have the Wizard front end (via wine) already installed
4) Put the Gemstone folder on your desktop
5) In Terminal, type in
      cd
      cp -R ./Desktop/Gemstone ./.wine/drive_c/Program\ Files/SIMU/WIZARD/
6) Log into the game and see if your files made the transfer


Don't forget, Terminal remembers your command history

Just like in the game front ends, if you want to repeat a command that you've already typed in, you can simply hit the UP ARROW on your keyboard, and scroll backwards to find the command. If you go too far, DOWN ARROW will scroll you forwards. Admittedly, this is most advantageous when you're getting ready to play, and you hit UP ARROW to get your 'ruby ./lich/lich.rbw' command back.

From time to time, contributors may make changes / modifications to these tips (and the article in general), so bookmark this page, and check it periodically to see what's new and exciting!

If you're lazy, like a good Unix admin, use AUTOCOMPLETE in your Terminal window

Your Terminal window in Mac OS X will allow you to zip through long filenames and directory paths, if you use the TAB key (autocomplete). For example, in the Wizard instructions above, you can simply type in the following (and hit the TAB key where the field has [T]ab

 5)  cp -R ./Desk[T]ab/Gem[T]ab ./.wine/driv[T]ab/Prog[T]ab/SIMU/WIZ[T]ab

Autocomplete makes things much easier, and much less error prone! This will work if the file or directory already exists. If you hit TAB and it doesn't autocomplete, the capitalization is off - Unix is case sensitive!

Resources

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