Lua Plugins

From Lotro-Wiki.com
Jump to: navigation, search

Using Lua Plugins

Introduction

In the years since the introduction of the Lua interface to LOTRO (Summer of 2010), plugins have matured significantly. Many Plugins have been created, and like fireworks, made a big splashy display then faded into the night. Others have been well maintained and "honed to perfection" over the years. All are the work of volunteers.

Remember that all Plugins including support for the Lua interface itself are "labors of love." There is no commitment about their future.

From Turbine's point of view, the Lua interface itself is a "Pet Project" -- something which the Turbine Developers are encouraged to have, but which has no official sanction from Turbine. If that Developer "moves on," support for that project may or may not be continued by someone else who has a similar interest.

Posted by Sapience; (Mar 11 2013 05:21 PM) [1]
This seems like a perfect opportunity to introduce... Pet Projects.
Devs are given a bit of free time here and there to investigate or work on pet projects. these an be small things they saw suggested on the forums or reworks of existing systems they think need some attention, or just little tweaks and features here and there.
The Alienware FX project was one of those. There is more coming, and the dev responsible has read this thread and mentioned that I should point out that there's a lot he can do, but that this is a per project and so it's not a top shelf priority.
As an example of a pet project that became a major system overhaul... Vaults. The entire revamp came out of a desire to just make them better. It ended up being a full-on revamp and expansion of the entire vault system.
Lua Scripting and UI skinning are other examples.


Some aspects of Plugins, considered both desirable and mandatory by the players, are circumscribed by Turbine -- for example, no plugin may "issue "commands," thereby preventing the creation of Macros or assisting "Botting" in contravention of the EULA and TOS polices of LOTRO.

Other aspects, are requested features which have simply not been implemented in the Interface. (See the discussions in the Lua Forum at: Lua Scripting (BETA) )

A tremendos amount of "standardization" has been created by Lunarwater's LPC and Turbine's Plugin manager... see

#First things first: Managing and Controlling Plugins below for more details.


Coming to Terms with the subject

A Lua Script? A Lua? A Plugin? A Lua Plugin? or...

In the very short time since their introduction into LOTRO (Summer of 2010), and into Gaming in general, all three terms have come to be used in to mean the same thing. The most common "short-hand" is to refer to everything simply as a "Lua" or a "Plugin".

"Lua" - What's in a Name?

Lua has become the "short-hand" way of referring to a LOTRO "plugin" written in the Lua programming language.

"Lua" (pronounced LOO-ah) means "Moon" in Portuguese. As such, it is neither an acronym nor an abbreviation, but a noun. More specifically, "Lua" is a name, the name of the Earth's moon and the name of the language. Like most names, it should be written in lower case with an initial capital, that is, "Lua". Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!
From the Lua website. www.lua.org

Background

Lua Plugins are a fun, useful addition to the LOTRO User Interface (UI). A Lua plugin modifies or otherwise "re-formats" existing game information, presenting it in user defined formats, frequently providing not only a different "look and feel" to the UI, but completely different functionality as well.

A "Lua Scripting Interface" or "Application Programming Interface" (API) is different from UI-Skinning. UI-Skinning is simply the ability to change certain Graphical elements of the UI, while a Lua plugin changes the behavior of the UI.

Many games (such as World of Warcraft) offer Lua APIs as does Apple's IOS. The variety and amount of information available to the LOTRO Lua API is tightly controlled by the game designers at Turbine.

UI-Skinning has been available almost since the beginning of LOTRO, back in 2007. Lua scripting was introduced in the summer of 2010.

Lua Scripting

Lua scripting is the method for extending and customizing the game's user interface (UI) by writing scripts in the Lua programming language.

Another article, Lua Scripting discusses the details of writing Lua Plugins for LOTRO.

Plugin

A plugin is a User Interface (UI) extension written in the Lua scripting language.

What does a Lua Plugin in LOTRO do for me?

As mentioned above, a Lua plugin modifies or otherwise "re-formats" exising game information, presenting it in User defined formats, frequently providing not only a different "look and feel" to the UI, but completely different functionality as well.

A classic example of this is the very popular Lua Plugin called "Buff Bars." www.lotrointerface.com/downloads/info361-BuffBars.html

In the default UI, Turbine provides information about buffs and debuffs via the UI in graphical format under the Character's portrait at the top of the screen.
Most users tend to resize this portrait and its resulting information (via the Turbine UI Options menu) down to a very small size. While this will maximize the main gaming area, one loses the information available in that graphic. And in the standard Turbine provided interface, "cooldown information" is presented ONLY in graphical format and frequently overlooked.
Buff Bars "corrects" this defficiency by providing, a bar graph type view (icon, name, timer) or slider view (all effects on one bar) of buffs," "debuffs", and pot (potion) cooldowns, etc. you have on your character. It also includes a dynamic "quickslot" bar that will popup when curable debuffs or low morale/power conditions exist on your character to enable you to quickly clear the effect. It provides much more information that one has available from the Turbine default interface.

Where to get Lua Plugins for LOTRO?

Lotrointerface-bug.png


The website www.lotrointerface.com has become the focal point for User Interface (UI) modificatios in LOTRO.

They are the most reliable source for Lua Plugins for LOTRO. (The site is moderated and the downloads screened.) It is site is where the most active Lua Plugin developers "hang out." It is the central repository and distribution site for most all currently working and maintained Lua Plugins for LOTRO. And therefore is used by those Plugin Managers (see below) which attempt to maintain your collection of Plugins up to date.

The Lua Plugin developers here are attempting to develop standards and tools to make the selection, tracking, installation and updating of Lua Plugins both simple and accurate. Today, that ability is in its infancy and not all Plugins conform.

What's this about Skinning?

Lotrointerface is also home to a number of different "skins" for LOTRO. Changes which effect the UI display only.
(Is the Turbine "skin" not blue enough for you? Check out "Azure Glass" (image)(Azure Glass details).)

Source of the LOTRO Lua Plugin APIs

Lotrointerface is also where Turbine posts the API definitions for both "Lua scripting" and "skinning." The Lua interface API can both be examined or downloaded via the Lotrointerface Wiki
The API Documentation is also found in the Download area in the section - "LotRO Tools & Utilities for Developers"
Skinning packs for various updates.

09-27-2011

First things first: Managing and Controlling Plugins

Since Lua's in LOTRO are still evolving and maturing, every month brings a new development.

  • Turbine added the "Plugin Manager" to the Character generation Screen with ROI Update 5 in December of 2011.
  • Minion acquired a plugin in support of LOTRO plugins in January of 2012.
  • The LOTRO Plugin Compendium (LPC) is working hard to standardize several aspects of Plugin usage -- including installation and updating.

The Turbine Plugin Manager

With the release of ROI Update 5, December 2010, Turbine included a Lua Plugin Manager on the Character selection page. The Turbine Plugin Manager is the SECOND thing you need to understand in order to work with Plugins in LOTRO. FIRST you need to use LPC to download and install your plugins. (Don't stop reading here, LPC is explained as you progress.)

See this article for details on using the Turbine Plugin Manager.

If (when) you first launch Turbine's Plugin Manager from the Character Creation Screen it is empty, it is either because the Plugins directory does not exist, or there is nothing in it.

So then, how to begin?

LOTRO Plugin Compendium (LPC)

Using LPC is the easiest and cleanest way to install and maintain your Lua Plugins in LOTRO!

  • This is especially because Turbine does not yet provide the "Plugins" directory for you automatically -- LPC does it for you!
  • Nor does Turbine provide a repository of Plugins you might be interested in -- LPC does! (It queries lotrointerface.com's repository.)
  • Originally a Windows only application program -- which didn't play nicely with either CrossOver Games (CXG) or WINE on either the Mac or Linux platforms -- LPC is now available in a Java version also, which does!
The Windows only version can be downloaded here: http://www.lotrointerface.com/downloads/fileinfo.php?id=663
The Java version for Mac and Linux can be downloaded here: http://www.lotrointerface.com/downloads/info689-LOTROPluginCompendiumMacLinux.html
At the moment, the difference between the two versions is "removing installed plugins." (Not available in the Java version yet.)

With LPC, you simply launch LPC, pick the plugins you want to try, and away you go. (More detailed instructions follow, keep reading!)

Minion + LotROnion

Minion has only "just" been given an LOTRO plugin. Compared to its capabilities under WOW, it's capabilities under LOTRO are in their infancy. LotROnion, therefore still requires a fair amount of "hand-holding," and it has "this thing about WOW."

The good news is, however, Minion is written in Java and runs with no problem on both Mac and Linux systems, as well as under Windows.

More information on both is below in the section: Keeping your Plugins up to date

How to use Lua Plugins

Installing Plugins in LOTRO for the first time?

There are two mechanisms for installing a plugin the first time in LOTRO -- Let LPC do all the work :) or do it all your self, manually :(.

Method one - Using the LOTRO Plugin Compendium (LPC) (highly recommended)

  1. Visit LOTROinterface.com; Download and Install LOTRO Plugin Compendium
  2. Launch LPC; the "Installed Plugins" tab will be empty; Go to the "Add New Plugins" tab.
  3. Highlight the plugin you wish to use, a brief description can be read and the link followed to the detailed description page at lotrointerface.com if desired.
  4. Click the checkbox to select that plugin; click Add, and wait for the downloads to complete.
  5. Launch LOTRO, then use the Turbine Plugin manager to activate your plugins. Enjoy the game with your new UI modifications.
Detailed LPC "Add New Plugins" interface description
  • Each column heading can be clicked on and the underlying information will be sorted in ascending or descending order.
  • The "Version" and "Author" columns are self explanatory.
  • The "Downloaded" column displays "how popular" a particular plugin happens to be -- i.e. the number of times it has been downloaded from lotrointerface.com
  • The "Category" column displays the section where the description of that particular plugin happens to reside on lotrointerface.com (Categories are fairly arbitrary)
  • The "Updated" column displays the date the Version shown was uploaded by the Author to lotrointerface.com
  • The "Hide Installed" checkbox has no meaning at this point as you have no plugins installed. When you do, un-chcking the box will result in a green bar highlighting any plugin in the list which you have already installed.
  • The "Refresh" button will check for an updated list of plugins from lotrointerface.com. Note that this is done automatically each time LPC is launched, so, depending on your habits, using this button may be completely unnecessary.

Method two - Copying files into the appropriate directories. (It's manual labor, but sure, why not)

  1. create the Plugins directory (Folder)
    • The location of that Directory is described in the trouble shooting section below.
  2. find the plugin you want to install
  3. download the plugin you want to install from someplace
  4. scan the downloaded plugin file for viruses
  5. un-compress the downloaded plugin file into that "Plugins" folder (Directory) you just created.
  6. repeat this process for each plugin you wish to use.
  7. Launch LOTRO, then the Turbine Plugin manager to activate your plugins.
Using Minion+LOTROnion -- As of January 2012, Minion+LOTROnion only support updating of LOTRO plugins. That is expected to change in the future.
  • To use Minion+LOTROnion or for manual installation, requires that you first create the "Plugins" folder (Directory) and install plugins into it.
  • Once the initial installation has taken place Minion+LOTROnion can be used to maintain updates.

Which Plugin should I use? Picking Plugins

How to find plugins? You can browse around the LOTRO forums yourself:

  1. At Lotrointerface.com select the "Downloads" tab. Go to the "LotRO Stand-Alone Plugins" in the center of the page.
  2. Pick an "area" that sounds interesting.
  3. To the right of each "area" is a count of the number of plugins to be found there. Each Plugin will have its own page which gives details about that specific plugin, as well as a large "Download" button.
  4. Read the description of what the Plugin does... if you like it...
  5. Click the download button
  6. Refer to the installation instructions on that site as well as those found above.

OR: simply use LPC to do the browsing and to supervise your downloading and installation efforts.

Trouble shooting

The Plugin doesn't work!

The Plugin Manager doesn't show my, or any, plugins

  • The most common problem with "Plugins" (especially for first-time plugin users) is -- they don't work at all!
  • The most common reason for this is the "Plugins" folder is in the wrong location, or does not exist at all.
WHY?
  1. The LOTRO Client from Turbine does NOT automatically create a "Plugins" folder (Directory) for you.
  2. The "Plugins" folder is in the wrong place.
Solutions:
A- If you use LPC, it will create the "Plugins" folder correctly for you.
B- If you use Minion + LOTROnion, or are doing it all manually, yourself, you need to create that folder yourself.
  • The "Plugins" folder should be in whatever folder your screenshots are saved. By default this should be:
Windows XP: “C:\Documents and Settings\%username%\My Documents\The Lord of the Rings Online\”
Windows 7: “C:\Users\%username%\Documents\The Lord of the Rings Online\”
In that folder, you will find (at least) the files: "lotro.keymap" and "UserPreferences.ini" -- these two files are created automatically when the LOTRO client first launches.
This folder also contains your screenshots and is where you need to create a folder called "Plugins".
(Once functioning, many plugins will create and use a folder called "PluginData" to store persistent information (configuration data) from one gaming session to the next.)
  • The second most common reason is that you have one more too many directories. It should look like
My Documents
The Lord of the Rings Online
Plugins Folder
Author Folder
<plugin-name> Folder
<plugin-name>.plugin
<plugin-name>.plugincompendium
According to the current proposed standard, the first directory in the "Plugins Folder" should be the "Author Folder." Where all of the plugins by that developer can be found. The "Author Folder contains the files "<plugin-name>.plugincompendium", "<plugin-name.plugin>" and the <plugin-name> folder itself, for each of their plugins.

Missing components

  • This is another problem, less common now than when Lua Plugins were first introduced, but still randomly occurring.
Depending upon the Author who packaged the Plugin, you may need to FIRST install the two Turbine "example" plugin folders - "Turbine" and "TurbinePlugins."
Most Authors have taken steps to remove this necessity as does the LPC standard. Plugins which still need these original Turbine files are probably NOT current versions.
If needed, they can be download from the download section at lotrointerface of the forums.

Extra components

  • In a similar vein, many plugins still include "extraneous" materials in their packages, that when un-compressed wind up in the top-level "Plugins" folder. Typical of these are README, Changelog and lotroplugin.xml files. All these files are text files and can safely be deleted or moved to another directory if you want to keep them. They are artifacts from before the efforts to standardize plugin packaging began. Those of you who are computer programmers will recognize them for what they actually are.

Keeping your Plugins up to date

You can always do this manually... checking websites periodically for new versions, then updating your plugins.

However, two programs address this issue -- the installation and updating of LOTRO Plugins.

Both will list, and update your installed plugins. LPC will also give you a list of plugins you have not yet installed and offer to install them for you.

Minion + LotROnion

Minion (MMOUI) has recently (January 2012), been "augmented" with a plugin of its own to support LOTRO.

  • What is a Minon? -- "A free, eager-to-please little monster lackey of your own, with enough sense to stick to orders!"

Previously heavily used by only WoW players, this new plugin allows Minion to also be used by players of LOTRO, but only to track plugins. (Other WOW features are not available.)

To use this option, you need to first install Minion, and then LotROnion.

  1. MMO Minion
  2. LotROnion (MMOUI Plugin)

This is different from the LOTRO Plugin Compendium (LPC) which is a single, stand-alone program (Windows or Java).

Minion is written in Java and runs "cross-platform." That is to say, it will run anywhere you can run LOTRO -- on Windows or on a Mac or Linux box. CrossOver Games (CXG) is not necessary, only a Java installation. Which also means, you can run it without running either CXG or WINE

LOTRO Plugin Compendium (LPC)

LPC is the more "mature" of the two options -- having been "first" and therefore having been around longer! Minion is still "WOW centric" and therefore not as "seamless" for LOTRO users.

Similarly, at the moment, at least, LPC can be downloaded and installed BEFORE you have ever installed a Plugin (See the section above - Installing Plugins in LOTRO for the first time?). LPC will take care of the necessary "housekeeping" chore of creating the Plugins Folder for you, if you do not have one, and then installing your selected plugins in it.

While originally a Windows only application program a java version is now available which also runs cross-platform.

Detailed LPC "Installed Plugins" interface description
  • Each column heading can be clicked on and the underlying information will be sorted in ascending or descending order.
  • If the name of the plugin in the "Name" column contains "(Unmanaged)", then that plugin does not have an appropriate ".plugincompendium" file describing it and therefore cannot be "Managed" by LPC.
  • The "Version" column is the version reported by the plugin on your system.
  • The "New Version" column is the version reported by the plugin at the repository lotrointerface.com
  • The "Author" column is self explanatory.
  • The "Folder" column displays the "Author Folder" where the plugin is stored on your system.
  • The "Scan" button will check to see if another plugin has been added to your Plugins Folder (i.e. Not added by using LPC). Note that this is done automatically each time LPC is launched, so, depending on your habits, using this button may be completely unnecessary.
  • The "Update" button will download and install (update) any checked plugin from the lotrointerface.com repository. Note that this will occur even if the two versions match. (i.e. the plugin is actually "up to date.") Checking the box at the left of the "Name" bar will result in all plugins being "checked" and then "updated" if the "Update" button is clicked - effectively performing an "UPDATE ALL" action.
  • The "Remove" button will delete the checked plugin from your plugins folder. USE WITH EXTREME CAUTION! It is not possible to determine if one plugins is "dependent" upon something associated with a different plugin. This can be especially true where there are multiple plugins in the same "Folder" by the same "Author."

Managing Plugins once installed, and in-game

Some other plugin managers in-use before Turbine created their Manager, can be found at lotrointerface.com - LotRO Tools & Utilities for Users

If you are doing a lot of experimentation with plugins, having multiple managers can be quite useful.

PluginManager

PluginManager

A scrollable, sortable list of plugins that loads other plugins that you enabled with it.

Ordered Plugin Loader (OPL)

Ordered Plugin Loader

OrderedPluginLoader is a simple plugin which allows you to load any number of plugins in any given order.

Bootstrap - Plugin Manager

Bootstrap-PluginManager

Bootstrap is a plugin manager for LotRO. Its purpose is to ease using other plugins through a graphical user interface and some degree of automation.

A typical user's Lua usage

The Lua's used constantly (i.e. loaded for all characters by the Turbine PLugin Manager at login) are:

  • PluginManager - a "spare" plugin manager
  • Tonic Bars - event driven inventory and quick-slot bars
  • Buff Bars - tracking of buffs and debuffs
  • Travel Window - especially useful for hunters to keep their "ports" in one location.
  • Alt Inventory - a new mechanism for tracking your "stuff" - especially useful in that it can provide a view of all characters on an account.
  • MoorMap - Where am I and where is that?

Also loaded on an "as needed" basis

  • Travel Locations - provides a "how do I get there from here and how long will it take" listing
  • Combat Analysis - particularly useful for Raiding and PvP players.

Typical display in the General Chat window when loading plugins at login with the Turbine Plugin Manager:

Travel Window version 9.7 loaded
----------------------------
TonicBars v2.6.3 from NuclearTonic
usage: /tb; /TonicBars
----------------------------
BuffBars v1.2.2 by Pengoros
AltInventory 2.06 by Garan loaded
MoorMap 1.15 by Garan loaded
You will now be known as Valamar Centurian, Well Travelled to those you meet in your travels.
Your kinship's Message of the Day: