Log in

View Full Version : Lich v2.82



Shaelun
08-23-2005, 09:13 AM
Lich is a scripting engine. It's grown too large to be posted here as an attachment, but I've just noticed some people have been downloading v2.82 (which is old, it's at 2.91 currently), so I'm updating the post. A friend of mine is working on a website for it, but what I enjoy is the programming, not distribution or site design, so I'm perfectly content to leave that totally in her hands. When & where I'm clueless about, it's all her. For now, you can get some more info about it and a link to d/l it from: http://www.forum.gsplayers.com/viewthread.php?tid=18806

Computers and programming are a hobby of mine, and it's fun for me to tinker away with stuff like this, which is why I wrote it. Lich will run any kind of script you write for it, but primarily I use it for stuff that's too advanced for other scripting engines -- the automatic redux calculator, the script that tracks active spells and their duration(s), the LichNet script which is a client for the OOC-style chat server I wrote; random information-tracking stuff like that.

Everything it does is implemented through the use of scripts (I've gone up to 261 simultaneously executing scripts, and since Lich wasn't meant to be a 'replacement' for anything -- nor will it ever be meant to be that -- I just write cool stuff as scripts for it, run whichever ones you find worthwhile, let the rest rot).

It runs with JSE, and PsiNet, and StormFront, and Wizard (runs Wizard scripts better than Wizard does, frankly), and probably anything else you'll ever find to use with GemStone. It's not a pick-and-choose kind of thing. Use it with whatever you want.

Included in the install are a dozen or so scripts that I've written for various reasons. Nothing will give you experience or any other kind of gains. If you choose to write that sort of script for it, well, that's your call. Obviously some people will, but I'm certainly not going to provide them for you.

My personal favorite is the automatic redux calculator (which is 100% compatible with StormFront, as of v2.65+).

Blah-blah-blah, various other random neat junk, check it out if you want.

Since I'd never done it, I wrote a couple of servers for use with two included scripts... one checks for updates (and downloads/installs said update if you tell it to -- much more up-to-date than this post, since it's so much easier for me to update my server), as well as hosts both Wizard and Lich scripts that anyone feels is worthwhile (you can upload/download/'check-out' what's on it, etc.), and a chat server I wrote just for the Hell of it when PsiNet was down for a week or more.

... okay, this is getting boring, and I sound like I'm trying to sell you something -- I'm not. I wrote this basically for one reason: it's been fun for me, and people find it useful... so here's the latest version. That's about it. Try it if you want to... if you don't want to, then ignore this.

The source code always was, and is still, included in the install; you'll find it in the Lich program directory. Why include the source code? So anyone who feels like it can poke and peek all they want, and see exactly what the program is doing.

[Edited on 11-25-2005 by Shaelun]

Anebriated
08-23-2005, 04:46 PM
Just a few questions. Is it a FE or just an add on to a current FE? Does any account information pass through. And do you have any examples of scripts we can use to figure out the scripting language. Even something like a spellup script.

Shaelun
08-23-2005, 04:56 PM
Good questions; I address security and script-writing tutorials/examples in the ReadMe.txt. I also commented the source code pretty heavily, so that people would have a working example (I learn best by example, and The Lich itself is written in the same language the scripts are).

[edited] What I said sounded iffy, so I'm changing it. Super-short version: you login (to a different place than you connect to when you actually play) through either SGE or the website. These are different connections entirely than your Wizard/StormFront connection. When these other connections verify your name/PW, they give the Wizard a temporary 'roadpass', so to speak (an encrypted, time-sensitive string of characters -- gibberish basically). That does pass through The Wizard, then PsiNet (if you use it), then JSE (if you use it, and this is speculation on my part), then The Lich, which in turn passes it on to the game like any other string. This is time-sensitive, and even if someone did get their hands on it, it wouldn't do them a whole lot of good.

There is a Lich command: '; log' that will dump an unmodified log of *everything* that goes through The Lich. You can see some interesting stuff that way, and it includes status strings, that encrypted login (that probably isn't any good by the time you read the log), etc..

This is not an "add-on" to existing programs. It works exactly the way PsiNet does (it's not a front-end, it works in the background, only doing things if you tell it you want it to). This will work with any program (meaning, everything I've tested it with). You can run PsiNet, JSE, and this all at the same time. You can use it with any text-based MUD. Also, if you're concerned with security or 'spyware' or something like that in the program, I suggest you download the Ruby interpreter and run The Lich from the source code (it's the same exact program, but one requires Ruby to execute, the other one requires nothing). Also, the 'netstat -a' command from a DOS-prompt will display every connection on your computer.

Does that fully answer you, or would you like some other things addressed? (seriously, I'm not being sarcastic - I'm happy to address concerns).

[Edited on 8-23-2005 by Shaelun]

Shaelun
11-01-2005, 05:55 AM
For anyone who wants a Linux version of the Windows installer package, here ya go. Included are the scripts, the stand-alone executable (Linux version), source files, and documentation. With its current setup, it requires you to uncompress it in your home directory; or if you prefer you can just provide its directory on the command line when you run it (e.g., 'lich --directory /usr/bin/local/lich'). I know how confusing Linux can be sometimes, so just type these commands on an xterm or whatever flavor you use:

cd ~
tar -zxvvf /whatever/dir/its/in/lich-2.97.tar.gz

That's all; no './configure, make, make install' or anything (that's for compiling programs from source; this contains the executable [and the source] already).

[Edited on 12-7-2005 by Shaelun]