EasyUO

EasyUO is a software project originally dedicated to automating the official Ultima Online game client, allowing users to write scripts that control all aspects of gameplay, from logging in to choreographing complex in-game interactions of characters and objects in a complex game environment. The goal of the developer is to provide software that is scalable to the maximum number of game clients supportable by users' computing platform and capable of controlling all existing in-game actions, whilst providing a sandbox-like environment for scripts such that they cannot negatively affect other running programs or the underlying operating system.

History
EasyUO started as a private effort at automating the game client. On 20 October 2000, “Cheffe” released a free public version of his scripting tool for Ultima Online (a popular MMORPG). EasyUO began as a playing aid aimed at reducing the highly repetitive user input required by some aspects of the game. While Ultima Online had a rudimentary macro system, certain control features were specifically not incorporated in order to dissuade unattended play. For example, in order to emulate loops of macros, players would place weights on keys to trigger macros over and over, or would employ generic windows automation tools to do the same. EasyUO's innovation was to allow the macro developer access to important game variables and incorporate feedback-based control logic based on the same.

EasyUO refers both to the free software tool and to the unique scripting language that evolved with it. A scripting community quickly arose as thousands of UO players discovered EasyUO as a way to reduce highly repetitive in-game tasks to a couple of lines of code. This community flourished even as the base of players declined. Near the end of 2004, based on website traffic it was estimated that around 30,000 people employed EasyUO regularly, or roughly 1 in 3 Ultima Online subscribers. Electronic Arts, the developers of Ultima Online, actively dissuaded the use of EasyUO, both by banning players who employed it and by frequent changes to the game client source code, leading to a running cat and mouse game that continues to this day. At one point, EA threatened to introduce PunkBuster into the client distribution as a countermeasure to EasyUO and other 3rd party tools. EasyUO also works with the UO game client when it is used to connect to a 'freeshard', a shard run by entities other than Electronic Arts using emulation software. The EasyUO community operates a freeshard of its own, Alexandria which promotes attended scripting. However, like Electronic Arts, a number of freeshards desire or attempt to discourage the use of EasyUO.

In 2005, Cheffe released version 1.5 of EasyUO dubbed EUOX, adding a number of new language features, including namespaces. Due to quirks in the EasyUO language which make it difficult to troubleshoot for beginners, numerous requests were fielded to open the engine to alternative languages. In 2009, a beta of an open source version of EasyUO was made available which allows scripts to be written in any available language. The beta specifically supports scripting in the popular language Lua, however support can be added for any language that can interface with a dynamic link library with enumerated functions having standard C calling convention. Further, the open source version is intended to eventually interface with game clients other than Ultima Online. No such underlying engines have been released as of 03 February 2010. EasyUO and the open version also operate under Wine_(software).

Licensing
EasyUO is free software, but closed source. The open source beta is licensed under the GNU General Public License (GPL), and is available for download from the EasyUO.com website.

Developers
EasyUO is developed and maintained by “Cheffe”. Updates required by game patches are frequently handled by “CEO”. “CEO” and “ScriptFellow” run the EasyUO website, an open community of script developers as well as players of the emulated shard Alexandria.

EULA Violation
Please note disclaimer: Wikipedia does not give legal advice.

EasyUO is not an Electronic Arts Approved Third Party Program, and using it with the Ultima Online Client is a violation of the client’s End User License Agreement (EULA). Cheffe made many attempts over the years to get an official approved status for EasyUO, but these overtures were repeatedly rebuffed. If Electronic Arts suspects that a user has used EasyUO to 'macro unattended', EA may revoke that user’s EA account. This does not hamper their ability to connect to non-EA shards however.

Hosted Projects

 * EasyUO Community Website
 * EasyUO Scripting Language Wiki
 * The Original, Archived, EasyUO Website
 * Alexandria - Official EasyUO Freeshard
 * Alexandria Shard Wiki