From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search


Ultima Offline eXperiment
File:Optimized image c879accc.png
Developer(s) UOX3 Dev Team
Stable release v0.98-4.0 / January 17, 2009; 160331383 ago
Operating system Microsoft Windows (95 and above), Linux
Type Emulator
License GNU General Public License
Website UOX3.org

UOX, or Ultima Offline eXperiment, is an Ultima Online (UO) server emulator that is written in C++ and released under the GPL. Today, the term UOX almost exclusively refers to the third version, UOX3.



UOX is a software suite that allows a user to manage a customized Ultima Online server to which they or others may connect. UOX is both free and open-source, released under the GPL, allowing anyone to modify and customize it to his or her will.


UOX has had a long history, and has seen three major version numbers, often marking change in development leadership.


Created during the beta testing of Ultima Online in 1996 or 1997, the first version of UOX is commonly regarded as the first Ultima Online emulator. Created by Jaegermeister. This version was closed-source.


The second version was by Marcus Rating (aka Cironian), who rewrote UOX Template:Harv. UOX2 was also single-player Template:Harv. This version was also closed-source.


UOX has spent the majority of its lifetime in its third version. Originally re-written from UOX2 by Marcus Rating, it has passed through many hands and gone through monumental changes. Some believe that the current rendition of UOX should be dubbed UOX4, as virtually every line of the program has been rewritten. This was the first version to have the source released to the public under the GPL. It was released on October 22, 1997.

Early development

Originally decentralized, early development of UOX3 (circa 1998) was done by many individuals with no version control and little synchronization or quality checks. This led to what is often termed "spaghetti code", stability issues, and bugs. Yet, even so, the original creator, Marcus Rating, was opposed to centralizing development:

"Anyway, and I should have probably said this earlier: I do not think that centralizing the development of UOX, as it is obviously happening, is a good idea. It was always wonderful to see how a lot of people just added their favorite features to UOX without having to think if someone else was working on the code too. Yes, it does lead to bugs sometimes, but actually UOX is still in a pre-alpha state, where no one should care about stability issues. Also, I do not think a revision control system is really necessary, if people just give a bit of an advance announcement before releasing things and remember to document all changes in the update.txt. (Yes, I have to remember that myself too)" Template:Harv

That choice and the resulting code base has often been one of the primary criticisms of the project (see: criticism). These issues have caused some to choose to create branches of the code (see: branches), and still others to create new emulators entirely.

Recent development

Today, UOX3 would appear as an entirely different program to one who used it at its inception. JavaScript is used to make just about anything in the game world scriptable, and the code is almost entirely object-oriented. Along with this rewrite, UOX3 has seen many enhancements in cleanliness, organization, and better design principles. This new code base, originally created by Matthew Randall (aka EviLDeD), Daniel Stratton (aka Abaddon/Maarc), "Tauriel" (real name unknown), and Bryan Pass (aka Zippy), is now primarily maintained by Scott Thompson (aka giwo/Zane) and Geir Ove Alnes (aka Xuri/Xoduz) on SourceForge.

Web sites

Originally, UOX3 was hosted as a part of "UO Stratics" at uox.stratics.com. This was during the time when Marcus Rating was the primary developer.

As the project grew, and Rating lost interest, the community and development moved to UOXDev.com, run by Ryan McAdams. The project called UOXDev its home for many years, until McAdams shut the site down and shifted his focus to RunUO.

As Matthew Randall and Daniel Stratton took over, development moved to a new web site, UOX3Dev.net. This web site remained the focal point of UOX3 development during its prime.

After the UOX3Dev.net site went down indefinitely, UOX3.org, ran by Geir Ove Alnes, became the new official UOX3 web site, and remains the official web site to this day.


  • Open-source C++.
  • Customization through JavaScript.
  • Commands are scriptable - more than 100 commands are scripted and can be modified by administrators already, and new ones can be added.
  • All UOX3 script and configuration files are reloadable during runtime.
  • Extensive logging of server errors, packets sent and received, commands used, spells cast, combat messages, and in-game player chat.
  • Regional spawning system that allows an administrator to spawn large numbers of non-player characters or items without significantly increased world-save times, because objects spawned regionally are not saved and only kept in memory for as long as the server is running. Upon server restart, they are all re-spawned.
  • Region-specific control of weather effects, lighting, appearance (Felucca, Trammel, spring, winter) and ore-resources.
  • Custom dictionary system allowing for the display of server and script messages in multiple languages (Currently there are only dictionaries for English, and to some extent - French and German, though any language with a country-code supported in the Ultima Online client is possible to use).
  • Customizable races, allowing for allies, enemies, monsters opposing or assisting each other, skill-bonuses/penalties, etc.


Due to its popularity and the nature of open-source projects, UOX has been branched many times. Some of these offshoots are still around and have grown into projects that are completely different from UOX, and some have also been branched into new projects themselves. All were, at some point, based on the code of UOX3 or derived from an emulator that used UOX3 code. No known offshoots of either UOX1 or UOX2 exist (likely due to them both being closed-source).

Branching took place when an individual or group decided they wanted to make changes to the program not consistent with the current development team's goals. In these scenarios, new projects based on the UOX3 source code were created in order to pursue the particular goals of that group. No other Ultima Online emulator has seen as many branches as UOX.

Below is a short list of known branches, see "The UO Emulator Timeline" for a more complete listing along with information about many other (non-UOX derived) emulators.

  • AUOX: Armageddon made his own version of UOX3, named AUOX, and caused the first branching of any UO emulator to occur.
    • AUOXCon: SpaceDog continued Armageddon's AUOX through AUOXCon(tinued).
  • Wolfpack: created by Ripper based on UOX3.
    • NOX-Wizard: created by Xan using Wolfpack as a base on the 25th of June, 2001.
      • Revelation Fork of Nox-Wizard, enters scene on the 21st of August, 2002.
    • Lonewolf: a derivative of Wolfpack, started in November 2001.
      • Method: started by Melchir in early February 2002.
      • Werewolf: Lonewolf branch started by Zagyg in early December 2005.
    • The Shard
    • Sunshine A derivate work of an early Wolfpack version, started by M. Strobl sometime in 2000.
  • UOX-pi: created by Lord Binary, later merged into Wolfpack.
  • Legions of Chaos: the first existence of a faction system in UO, written by Chaos.
  • UOX Classic: an offshoot from the UOX3 versions released immediately before the inclusion of the JavaScript engine and the move to object oriented programming.
    • UOX:NG: started with big-endian 64-bit machines in mind, by Generic Player.
  • UOX3 (Unofficial): started by Punt on the first day of 2003, intending to rewrite the JavaScript-enabled UOX3 version.

See also


External links

  • UOX3.org The current official UOX3 development site.
  • UOX3 @ Sourceforge The UOX3 Official Sourceforge Project
  • OpenUO @ Sourceforge A Sourceforge Project for all things UOX
  • Razor is an application which allows you to connect your Ultima Online client to an emulated server.

Template:Ultima Online

Personal tools

Served in 0.331 secs.