![]() | |
|
Lyntin main faq features screenshots development wishlist contact us SF project page RSS Newsfeed wiki Using Lyntin installing downloading plugin repository documentation Hosted by |
Lyntin FAQlast updated: Thursday, April 22nd Here we try to cover all your questions. If answers to your questions aren't here, send me email or ask on the lyntin-devl list. This FAQ grows as time goes on. Answers are version-specific where appropriate. General questions
Usage questions
Development questions
Meta-FAQ questions
General questionsQ: What is Lyntin?Lyntin is a mud client framework written in Python which uses Python as its scripting language. It strives to be functionally similar to TinTin++ while enhancing that functionality with the ability to call Python functions directly from the input line. Additional functionality can be written in Python as Lyntin modules which can be dropped in and imported without restarting the client. It also has the advantage of being platform-independent with multiple interfaces and the ability to write new interfaces which are also drop-in. That's the marketing line which you can see on any site that links to Lyntin. The reality is that if you can program in Python it's easy to extend Lyntin to meet your needs as a mudder. Additionally, I've used Lyntin for a variety of other tasks such as:
Q: Why use Lyntin?Reasons why you would want to use Lyntin:
Reasons why you would not want to use Lyntin:
Q: What features does Lyntin have?Here's the short list:
Having said all that, Lyntin's real power is its expandability. Building Lyntin modules to add functionality that you need is a walk in the park. If you know Python (and learning it is not tough if you don't), then you'll be able to quickly come up to speed with things and be able to utilize Lyntin as a base to build the mud client that fits your needs to a T. We maintain a code repository of Lyntin modules, ui's, and code snippets in the wild that we know about (mostly because authors choose to update us about their status). It's located here. Things are added periodically. Many Lyntin module developers hang out on the lyntin-devl mailing list (see contact page) and talk about their modules or problems there. I know of modules that do the following (only some of which are in the repository):
Lyntin is a feature-rich framework for development. There are other modules out there in the wild that people have developed for their specific muds and their mud-usage that aren't on this site. Q: What is the Lyntin license?Lyntin is distributed under the GPL license. Lyntin is also written in Python and all the source code comes with the client itself. There is currently no such thing as a binary distribution of Lyntin. Q: What platforms does it work under?The base distribution is entirely written in Python. The base distribution comes with a textui and a tkui. There is a cursesui that's sort of in the works, but it needs a lot of attention before it's useable. The only requirements for Lyntin are that you install Python 2.2 or greater--preferably the latest version whatever that may be at the time of you reading this. Python can be retrieved at http://www.python.org/. I've had reports of it working just fine under various flavors of Windows, Linux, and BSD. There may be problems with Lyntin on Mac OS 10.1/10.2, but I don't know enough about Mac OSX to really figure out what the issues are. Q: How do I download/install/setup Lyntin?Lyntin can be downloaded from here. Unix/Linux/Mac OSX users should download the .tar.gz version. Windows users should download the .zip version (for pre-4.0 versions) or the Windows installer .exe version and the runlyntin.pyw file. Make sure to read the installation instructions in the INSTALL guide which is on the Lyntin site in the documentation section and also comes with the Lyntin download. Read the appropriate INSTALL guide for your version of Lyntin.
The README file also holds a lot of
information that will help. README is on the Lyntin site in the
documentation section and also comes in the download and is provided
in-game through the help system by typing
After you've done all that, read Lyntin's in-game help files accessable
with the Q: What are the differences between Lyntin and Tintin?Lyntin has many of the same features as Tintin and the commands are based on Tintin syntax. However, there are a series of commands that Tintin and variants have that Lyntin does not have for the following reasons:
If there are Tintin commands you miss, it's pretty easy to implement your own versions in Lyntin. See I want to write my own functionality--where do I start?. Q: I'm having problems--where can I go for help?See the contact page for more information. Q: Why is there only one mailing list?Most projects separate developers from users. Lyntin is small enough that not only do we not need to do this, but there's really no difference between a developer and a user. The group that Lyntin is targeted at is a group of people who have no problems with fixing the source code to meet their needs. Thus there is only one mailing list used for all things from using Lyntin, to bug reporting, to talking about writing plugins. Q: Something doesn't work/I found a bug...See the contact page for information on how to contact us and what information to provide us. Q: What is the meaning of life?This is an easy one to answer--the question is MOOT! Moot I say! Usage questionsQ: The text ui is missing feature x--you need this feature or no one will use your client...The textui is designed to be ultra-uninteresting. There are very few bells and whistles involved and the reason for this is because the fewer bells and whistles, the more of a guarantee we have of it working everywhere. Having said this, it sucks under the Win32 console--but that's not our fault as almost everything sucks under the Win32 console. (Someone should write a win32 console ui--assuming it would help.) Anyhow, there were some efforts to build a curses user interface. Such a thing would work under xterm and other terminals as well as over telnet and ssh. Check the code repository for plugins and new user interfaces. Q: How do I get Lyntin to leave the input I've typed on the command line after I hit the enter key in the tkui?Lyntin 3.3.1 The only way to change the command box thing is also to go into the tkui.py file. Open up lyntinng/ui/tkui.py and look for the line:
self.saveinputhighlight = 0
I have it on line 509 of my file. Change the 0 to a 1. That'll change the behavior to what you're looking for. Lyntin 4.0
Type Q: The tkui is missing feature x--you need this feature or no one will use your client...Feel free to submit a feature request. Details for such things are at the contact page. Alternately, check the code repository to see if someone has implemented it already. Q: Is there any way to quell all that output when I set variables and build actions?Yes. Most Lyntin commands have a quiet parameter which takes yes/true or no/false as valid values. For all commands except #write, this will cause the command not to produce any non-error output. This is probably what you're looking for. In the case of #write, it will add a quiet=true to the end of all commands it writes to the file that have a quiet argument. When you later read that command file in, all the commands will be quiet. Q: Is there a way to create default values for command arguments?Yes. You want to create a variable:
#var {default.quiet} {true}
That will cause all commands that have a quiet argument to have that argument default to "true". You can also specify it on a command-by-command basis:
#var {default.grep.size} {1000}
That'll cause the #grep command to use a default size of 1000. The order of argument expansion is:
Development questionsQ: I want to write my own functionality--where do I start?Hacking Lyntin can be done a few ways. Lyntin is entirely written in Python, so if you don't know Python that's something you should learn first. Your best bet is to start at http://www.python.org/ and read through their documentation and such. We have a lot of documentation in various forms about Lyntin's architecture and the framework. Start off by reading through the HACKING guide. That'll walk you through the Lyntin architecture at a high level and also provide some examples of things. After that, you'll want to read through existing code--there's lots of it in the Lyntin code repository. We're happy to answer questions on the lyntin-devl mailing list--mostly because these sorts of questions spark interesting discussions about ways to approach specific problem domains using Lyntin's framework. Details on the contact page. Q: Lyntin does stupid thing x and I hate it--how do I fix it?Feel free to submit a feature request. Details for such things are at the contact page. Alternately, check the code repository to see if someone has implemented it already. Our current wishlist of feature requests is here. Check it before submitting a feature request so that you know the current status of the request. Lyntin is your client as much as it is ours. When you download Lyntin, you've downloaded the source code. If you find features you wish existed or behavior you dislike, let us know on the lyntin-devl mailing list. If worse comes to worse and we don't see eye to eye, replace what you don't like. Remove things you never use. Take advantage of the fact that it's distributed in source form! Though do take care to conform to the restrictions of the GPL which Lyntin is distributed under. Meta-FAQ questionsQ: Where did these questions come from? Who asks this ridiculous stuff?In truth, about half the questions in this FAQ were not in fact asked by anyone. Many are questions I think people who are looking at Lyntin might have--they answer basic questions anyone would have about any project. Some are questions that I threw in the FAQ because they're important to answer right off the bat so people don't get the wrong idea about certain topics such as why the Tk user interface isn't filled with bells and whistles and doesn't have its own Clippy to answer questions for you. In some ways, this FAQ is really a Questions Will Wants to Answer List. Q: Who wrote the Lyntin FAQ? Was it written by a committee and ratified by the elected representatives of the Lyntin development community?I wrote most of it. Actually, I wrote all of it. With help from Josh and a Lyntin module I wrote that is so complex it seems to exhibit symptoms of emergent behavior. |