A patch for reducing CPU usage by the Ultima Online Client


Site Admin
Posts: 372
Joined: Wed Apr 08, 2009 6:35 am
PostPosted: Sun Apr 12, 2009 6:54 pm
Hi guys/girls

I present you here with a sort of tutorial on how to patch the Ultima Online Client.
To understand everything assembler knowledge is required.

Like most UO addicts will have noticed, the client uses a lot of CPU resources when it shouldn't be doing that, for example at the login screen. This annoyed me and I went inside the client to fix this "bug".

At the same time, you will learn a bit about frame-skipping done by the client (when enabled).

Attached is a PDF that explains how I did it + a ZIP with the patch applied to client version 5.0.8.3.

WARNING! Do not apply this patch to any other client out there unless you know what you are doing, this is a binary patch and modifiying the wrong bit/byte will most probably result in (random) crashes!

For version 5.0.8.3:
MD5 of the original unpatched client : fea4323aec8c71f993aad4af812ab1ed
MD5 of the client with Sleep patch applied : 78a963c0fde2bb935c14c75b688fc3f3

If demand is high enough, I could write a universal patcher that will work for other clients based on the fact they all share the same codebase.

Enjoy
Attachments
INSIDE THE ULTIMA ONLINE CLIENT - INSERTING A SLEEP (Release V1).pdf
Document describing the Sleep Patch (CPU usage reduction)
(1.1 MiB) Downloaded 1647 times
client-shortsleep.zip
Applied Sleep Patch for Client 5.0.8.3
(1 MiB) Downloaded 1519 times
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything

Site Admin
Posts: 455
Joined: Tue Jun 17, 2008 2:33 pm
PostPosted: Mon Apr 13, 2009 2:03 am
Great post and Mod Batlin, thanks a ton for this!

Posts: 1
Joined: Tue Apr 14, 2009 5:10 pm
PostPosted: Tue Apr 14, 2009 5:15 pm
all i can say is wow, you have to be the smartest person ive seen to be able to do that, that is excellent work, congrats, I for one would like to see a universal patch or could you please make a patch for client 6.0.1.4, that is what I use and find it to be very stable, if not, thanks anyway, and keep on doing what you do, you are obviously very good at that..

thanks

Posts: 97
Joined: Sun Apr 19, 2009 8:49 am
Location: Gorizia - Italy
PostPosted: Sun Apr 19, 2009 9:06 am
Great!

Could you release a patch even for client 5.0.9.1?
:)

Posts: 32
Joined: Mon Jan 26, 2009 3:41 pm
Location: Atl GA
PostPosted: Tue Apr 28, 2009 4:08 pm
whoot
Image

Posts: 1
Joined: Wed Aug 26, 2009 6:31 am
PostPosted: Wed Aug 26, 2009 6:40 am
Is it possible that you can create a universal patch for all the cilent? I am currently using an older cilent...its not green....I think your work saves our earth and prevents global worming . Thank you in advance!

Posts: 1
Joined: Thu Apr 08, 2010 2:16 am
PostPosted: Thu Apr 08, 2010 2:25 am
Oh, you are awesome. I am a computer engineering student and I know the hard work and the knowledge it takes to get where you went.
I really appreciate your guide and your patch, since that CPU usage problem is killing many computers. My laptop did shutdown last night due to over-warming.
I am sure many people will love if you do an universal patcher (myself included).
The only question I have in my mind is "Why doesn't OSI implement this?"

PS: Sorry for my english and thanks again for being such a nice guy and share your stuff with everybody :)

Posts: 1
Joined: Wed Jun 16, 2010 1:35 am
PostPosted: Wed Jun 16, 2010 1:59 am
that is what i was looking for years, great! But i can't say i applied it, a universal tool for it will be amazing

Posts: 1
Joined: Wed Apr 06, 2011 9:36 am
PostPosted: Wed Apr 06, 2011 9:40 am
Amazing posting thanks!!!!
..........

Posts: 1
Joined: Sun Nov 20, 2011 12:54 pm
PostPosted: Sun Nov 20, 2011 12:57 pm
there is a similar tool to this called uoloader.
anyway, that one doesn't work in win7 x64 system which is the future...

therefor a new universal patcher is necessarry

i'd be highly interessted and some other ppl i know, that are in desperate need of a universal client patcher.

i already tried to patch the exe myself without success :(
the client is v2.0.3 which is used pretty often on free shards.
Next

Return to UO Client

Who is online

Users browsing this forum: No registered users and 2 guests