[ANNOUNCEMENT] UO client versions/expansions and compatibility with UOX3

Forum where anything UOX3-related goes - including, but not limited to: newbie-support, ideas, general questions, comments, etc and-so-forth.
Post Reply
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

UO client versions/expansions and compatibility with UOX3

Post by Xuri »

UOX3's current compatibility with UO clients
UOX3 0.99.4: Encryption-less clients from v4.0.0p - v7.0.110.39*, though some lower/higher client versions might also work.

But which client-version should I pick?
Depends on what you're after. Every new expansion bring with it a host of new items and monsters you can make use of, even if you want to disable certain features such as the detailed tooltips, sixth character slot, Necromancers, Paladins, Ninja, Samurai and Elves - and (in theory) general client-side bugfixes. As such, there should (in theory, again) be few drawbacks from using the highest client-version that is compatible with UOX3, unless compatibility for that client-version was added very recently and thus might contain unsupported features not handled correctly by UOX3. See feature-negotiation section further down in this post for information on how to enable/disable specific client-features.

From version 7.0.24.2 of the classic client, the format for various data-files (maps, statics, items, etc) changed, resulting in the loss of compatibility with old tools like InsideUO, WorldForge, etc. UOFiddler has been updated to support these new formats, however, and can convert files forth and back between UOP and MUL formats. Clients from 7.0.25.7 to 7.0.86.2+ are usable with UOX3 as long as UOX3 has access to classic/non-UOP versions of the map-files from those clients. This means those map-files have to be converted from UOP to classic mul format, for instance using a tool like UOFiddler.
UOX3 can read maps in the UOP format since 0.99.3! No need to convert!

Where can I get hold of a client that is compatible with UOX3?
Mirrors for downloading UO:ML:
http://download.cnet.com/Ultima-Online- ... 32237.html
http://www.fileplanet.com/156570/150000 ... acy-Client
http://www.ausgamers.com/files/details/html/21727
https://archive.org/download/largedownl ... 46.0.3.exe (6.0.1.10)
Mirrors for downloading UO:HS:
http://web.cdn.eamythic.com/us/uo/insta ... 0_24_0.exe (7.0.24.0)
Latest Official UO Client (Classic Client)
https://uo.com/client-download/

About client encryption removal
Only clients with the encryption removed can connect to UOX3 shards. The most common option to achieve this is to use ClassicUO - an open source UO client with a host of improvements over the original client (though it still relies on the original client's data files). Alternatively, you can use software like Razor Enhanced to remove encryption from the original client in runtime (memory only). Another option is Razor, but the latest versions of this are no longer compatible with the original UO client.

About UOX3 and keeping up with the client-updates
Over the years there have been an ungodly amount of versions and expansions released for the UO-client, and keeping UOX3 working with every new version released, through packet-changes and encryption-changes, has always been an unrelenting rat-race at best, with the compatibility with clients coming and going for variable periods of time, depending on the extensiveness of client-changes and the amount of developers and third-party tool-makers around to add additional support for those changes. Whether or not UOX3 is kept up to date with client-updates depends entirely on volunteer efforts. Contributions are more than welcome!

Feature-negotiation between UOX3 and UO clients
Plenty of "feature improvements" have been added since the original UO version was released, though not everyone are equally happy with all of those additions. Fortunately, the client has been designed in a way that many of the "feature improvements" can be switched on/off from the server-side! What follows here is a list of all such feature-improvements that can be enabled or disabled for clients connecting to an UOX3 server:

Client-Features
Examples of CLIENTFEATURES=# values (Decimal) for UOX.INI (calculated in Hex, converted to Decimal):
  • (0x01) 1: Enable T2A support (chat-button, lost lands)
  • (0x02) 2: Enable UO:R support (Felucca/Trammel)
  • (0x04) 4: Enable TD support (First 3D client, Ilshenar)
  • (0x08) 8: Enable LBR support (skills, maps, MP3s, LBR monsters in 2D client)
  • (0x10) 16: Enable AoS support (necro/palas, malas map, resistances, weapon abilities, AoS monsters, detailed tooltips)
  • (0x20) 32: Enable Sixth Character Slot support
  • (0x40) 64: Enable SE support (ninja/samurai, spells, skills, tokuno-map)
  • (0x80) 128: Enable ML support (elves, spells, skills)
  • (0x100) 256: Enable (basic) KR support (2D client only, up to 6.0.14.1)
  • (0x200) 512:Enable the Ninth Age splash screen and crystal/shadow housing tiles
  • (0x400) 1024:Enable the Tenth Age
  • (0x800) 2048:Enable increased housing and bank-storage
  • (0x1000) 4096:Enable 7th character slot
  • (0x2000) 8192:Enable KR faces
  • (0x4000) 16384:Enable Trial Account
  • (0x8000) 32768: Live (non-trial) Account. Since client 4.0 this bit has to be set, otherwise bits 3..14 are ignored.
  • (0x10000) 65536: Enable SA features: gargoyle race, spells, skills, housing tiles
  • (0x20000) 131072: Enable HS features
  • (0x40000) 262144: Enable Gothing housing tiles
  • (0x80000) 524288: Enable Rustic housing tiles
  • (0x100000 ) 1048576: Enable Jungle housing tiles
  • (0x200000 ) 2097152: Enable Shadowguard housing tiles
  • (0x400000 ) 4194304: Enable Time of Legends features
  • (0x800000 ) 8388608: Enable Endless Journey account
These can be combined and mixed and matched by adding together the Hex-values, then converting to Decimal:
  • CLIENTFEATURES=32771 (0x8003 - T2A + UOR features)
  • CLIENTFEATURES=32775 (0x8007 - T2A + UOR + TD features)
  • CLIENTFEATURES=32783 (0x800F - T2A + UOR + TD + LBR features)
  • CLIENTFEATURES=32799 (0x801F - T2A + UOR + TD + LBR + AoS features)
  • CLIENTFEATURES=32831 (0x803F - T2A + UOR + TD + LBR + AoS features + Sixth Character Slot)
  • CLIENTFEATURES=32895 (0x807F - T2A + UOR + TD + LBR + AoS + Sixth Character Slot + SE features)
  • CLIENTFEATURES=33023 (0x80FF - T2A + UOR + TD + LBR + AoS + Sixth Character Slot + SE + ML features)
  • CLIENTFEATURES=33263 (0x81EF - T2A + UOR + TD + LBR + Sixth Character Slot + SE + ML + KR)
  • CLIENTFEATURES=33279 (0x81FF - (DEFAULT) T2A + UOR + TD + LBR + AoS + Sixth Character Slot + SE + ML + KR (basic) features)
Server-Features
Examples of SERVERFEATURES=# values (Decimal) for UOX.INI (calculated in Hex, converted to Decimal):
  • (0x01) 1: Unknown
  • (0x02) 2: IGR
  • (0x04) 4: CharLimit
  • (0x08) 8: ContextMenus
  • (0x10) 16: OneChar
  • (0x20) 32: AoS
  • (0x40) 64: SixChars
  • (0x80) 128: SE
  • (0x100) 256: ML
  • (0x200) 512: Unknown2 - added with UO:KR launch
  • (0x400) 1024: Send UO3D client type? client sends 0xE1?)
  • (0x800) 2048: Unknown3 - added sometime between UO:KR and UO:SA
  • (0x1000) 4096: SeventhCharacterSlot
  • (0x2000) 8192: Unknown4 - added with UO:SA launch
  • (0x4000) 16384: new movement system
  • (0x8000) 32768: Unlock new Felucca faction-areas
These can be combined and mixed and matched by adding together the Hex-values, then converting to Decimal:
  • SERVERFEATURES=55 (0x37 - Unknown + IGR + CharLimit + OneChar + AoS)
  • SERVERFEATURES=171 (0xAB - Unknown + IGR + ContextMenus + Aos + SE)
  • SERVERFEATURES=488 (0x1E8 - ContextMenus + AoS + SixChars + SE + ML (DEFAULT))
  • SERVERFEATURES=511 (0x1FF - Unknown + IGR + CharLimit + ContextMenus + OneChar + AoS + SixChars + SE + ML)
TIP: Windows Calculator in advanced/programmer mode is great for adding up Hex numbers if your brain isn't wired for such by default :)

History and details for UO client versions
This list was partly grabbed from nerun's post on the RunUO forums, with some modifications based on other sources. Accuracy may vary for people depending on release-regions and such, I guess.

Full list of UO Classic Client versions: http://www.uoguide.com/List_of_Classic_Client_Patches

Client-versions (OLD) no longer supported by UOX3 (with an approximate of when expansions were released):
23.10.1998? - [1.25.35 to 1.26.4h] - The Second Age - (Chat button, Lost Lands-map)
03.05.2000 - [1.26.4i to 2.0.9a] - UO:Renaissance - (Felucca/Trammel-split)
07.03.2001 - [3.0.0 to 3.0.7a] - Third Dawn - (3D client, Ilshenar (map2.mul))
12.02.2002 - [3.0.7b to 3.0.8r] - Lord Blackthorn's Revenge - (skills, maps, MP3s, LBR monsters in 2D client)
11.02.2003 - [3.0.8z to 4.0.0o] - Age of Shadows - (Necro/Pala, Malas (map3.mul), resistances, weapon abilities, AoS monsters, detailed tooltips)
Client-versions currently supported by UOX3:
(4.0.0p to 4.0.4t)
02.11.2004 - [4.0.5a to 4.0.11c] - Samurai Empire - (Ninja/Samurai, Tokuno (map4.mul), spells/skills?
30.08.2005 - [4.0.11d to 5.0.9.1] - Mondain's Legacy - (Elves, spellweaving, new dungeons)
27.06.2007 - [6.0.0.0 to 6.0.14.1] - Kingdom Reborn - (new client, new graphics - though only 2D support in UOX3)
08.09.2009 - [6.0.14.2 to 7.0.8.2] - Stygian Abyss - (new client, Gargoyles, new places, removed support for KR client)
12.10.2010 - [7.0.9.0 and above] - High Seas - (ship combat, new boats, more sea stuff)
21.05.2012 - [7.0.25.7 and above] - Supported since UOX3 v0.99.3.

IMPORTANT NOTES about client-versions:
[5.0.0a] - map0.mul size increased from 6144x4096 to 7168x4096
[6.0.0.0] - Felucca/Trammel no longer both use map0.mul, Trammel gets its own: map1.mul
[6.0.1.7] - Packet updates to support container-grid in KR client, support implemented so it (in theor) will have no effect on lower versions
[6.0.5.0] - 21 extra bytes of data added prior to initial 0x80 packet, in the form of a new clientversion packet: 0xEF
[6.0.14.2] - packet 0xB9 changed size from 3 to 5 bytes
[7.0.0.0] - animation packet 0xE2 replaces 0x6E
[7.0.0.0] - packet 0xF3 is sent instead of 0x1A (object information packet)
[7.0.8.0] - packet 0xF4 (crash report) sent by client
[7.0.9.0] - Changes to multis, and...?
[7.0.13.0] - Packet 0xA9 updated with extra information and longer City/Building names
[7.0.16.0] - Packet 0xF8 (New Character Creation) replaces 0x00 (Character Creation)
[7.0.24.0] - Map#.mul files are now wrapped in .uop headers. This means incompability with tools, and updated emulators needed to read map correctly.
[7.0.25.7] - Additional changes to UOP format, which caused problems for UOX3 until the release of UOX3 v0.99.3.
-= Ho Eyo He Hum =-
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Just a quick update... I just verified that UOX3 seems compatible (quickly tested login, moving, combat, looting) with client version 7.0.27.9 (latest available as of writing this post), as long as UOX3 has access to reading map-files converted from the newest UOP format to the classic .mul format. I downloaded some files converted in this way from RUOSI and stuffed them in the client-folder (which my UOX3 uses as datadirectory). The client no longer reads them, but UOX3 will attempt to use such classic versions of files before it tries using UOP-wrapped versions.
-= Ho Eyo He Hum =-
Dashelwest
UOX3 Newbie
Posts: 1
Joined: Fri Dec 14, 2012 11:23 am
Has thanked: 0
Been thanked: 0

Post by Dashelwest »

I am very new to this so in basic terms can someone please explain how i add client features? would greatly appreciate the help!!!!!
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

You basically go through the list of features and select which ones you want, then add together the values each of those features, arriving at a number which you then put into the CLIENTFEATURES and/or SERVERFEATURES settings in UOX.INI.

If, for instance, you want T2A support, UO:R support, TD support, LBR support and AoS support for the client, you add together the values for those features, like this:
1 (T2A) + 2 (UO:R) + 4 (TD) + 8 (LBR) + 16 (AOS) =
1 + 2 + 4 + 8 + 16 = 31
If your client version is above 4.0 (likely, as UOX3's support for anything lower is sketchy at best) you also need to add 32768 (Live Account), so that gives us
31 + 32768 = 32799
CLIENTFEATURES=32799
The original post includes some examples of pre-calculated settings you can use if you don't want to do this yourself.
-= Ho Eyo He Hum =-
dragon slayer
UOX3 Guru
Posts: 776
Joined: Thu Dec 21, 2006 7:37 am
Has thanked: 4 times
Been thanked: 26 times

Post by dragon slayer »

How to launch UOX3 with LBR/Third Dawn 3.0.6j
Guide Created By: Krhonos

Server :
- In uox.ini :
- CLIENTSUPPORT4000=1
- Change DATADIRECTORY to your LBR client (either 2D or 3D)
- CLIENTFEATURES=32783
- SERVERFEATURES=15

- In dfndata\maps\maps.dfn :
- Use only these maps, although I'm not sure about Trammel because we have to figure out the decoration there

[MAP 0] // Felucca
{
MAP=map0.mul
STATICS=statics0.mul
STAIDX=staidx0.mul
MAPDIFF=mapdif0.mul
MAPDIFFLIST=mapdifl0.mul
STATICSDIFF=stadif0.mul
STATICSDIFFLIST=stadifl0.mul
STATICSDIFFINDEX=stadifi0.mul
X=6144
Y=4096
}

[MAP 1] // Trammel
{
MAP=map0.mul
STATICS=statics0.mul
STAIDX=staidx0.mul
MAPDIFF=mapdif1.mul
MAPDIFFLIST=mapdifl1.mul
STATICSDIFF=stadif1.mul
STATICSDIFFLIST=stadifl1.mul
STATICSDIFFINDEX=stadifi1.mul
X=6144
Y=4096
}

[MAP 2] // Ilshenar
{
MAP=map2.mul
STATICS=statics2.mul
STAIDX=staidx2.mul
MAPDIFF=mapdif2.mul
MAPDIFFLIST=mapdifl2.mul
STATICSDIFF=stadif2.mul
STATICSDIFFLIST=stadifl2.mul
STATICSDIFFINDEX=stadifi2.mul
X=2304
Y=1600
}

Client :
- Use LBR Client from the CD/ISO Install
- Use UO Rice to remove encryption of uo.exe/uotd.exe and change login.cfg with your server ip
- Launch No_Crypt_Client.exe as admin or move files in another folder after installation

Bugs :

- After character creation, client doesn't load the map so you have to relaunch to play normally
- Characters don't have any skill point after creation
- Putting spells into spellbook and casting just throw : "You do not have that spell"
- Rarely, using a moongate closes the client and make that specific moongate unusable before you use another
- Virtues gump doesn't open
- Admin/GM Robe appears only in character gump
- Fullscreen closes the client and crashes at relaunch (FIX : uo.cfg >> "FullScreen=off" to fix)
- Tweak gump crashes the server when setting values (ex: skills)

*** Message to be updated ***
Post Reply