Right now the only option is to build your own. There's source code in the description.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
What are shards currently doing for auto patching?
The number of shards currently using an autopatcher is rather slim. Generally shards just distribute a archive of files to their users to download. As far as autopatcher go most of the ones I see are full file replacement.
I plan on using a delta file patcher or what is called delta updates. It seems like the smartest option, just not always the fastest because it has to check the code first.
http://en.wikipedia.org/wiki/Delta_update

Edit:Before someone brings up the subject, I think people relied too much on programs like uogateway and connectuo.
 
Last edited:
Last time i played UO, the shard used an old uptader software, i believe it is well known in the community, i have seen it many times in more shards.
 
I did some work on a patcher a couple years ago that leverages xdelta. Xdelta is very efficient, but it requires some foreknowledge of the files you are patching to. I was thinking about possibly adding it as a plugin to UltimaLive so that players wouldn't have to run a separate patching utility for every shard they play on. But that got me thinking about a bigger issue.

Right now the there are a three main methods of connecting to a shard:
  • A player connects with the normal game client and a modified login.cfg
  • A player connects using Razor
  • A player connects with UO Steam (UO Assist)
None of these methods provide a way to patch without a custom patcher. If it was a plugin for UltimaLive, it would run automatically when a) the client started but before it loaded any files or b) when it connected to a shard and was notified there were updates, but that would require a restart of the client and if the shard decided to switch clients, Razor or UO steam would have to know where the new executable was. Since UltimaLive is invoked down stream from all of the above mentioned methods, updating the client executable would be a problem from the context of using it on more than one shard.

It would be able to update all of the other client files and keep them separated by shard.

When UO Gateway and ConnectUO were around and were mainstream, they could provide an end-to-end solution because they were the first thing to be launched. They could patch a client and then launch the client or launch Razor which would then launch the client. The patching could all happen before the client was launched.

The issue with UO Gateway and Connect UO is that they were too centralized. They wanted to be a listing service as well as a patcher and launcher. When Jeff moved on, he open sourced ConnectUO, but he didn't have rights to release the source for the razor launcher that was used. The launcher wasn't open source and so it saw gaps in its maintenance and for a time it didn't work with the later clients.

What we need is a decentralized (no shard listings) patcher and launcher that works with Razor, UO Steam, or what ever assistant a player wants. If a player could click on a link from a shards website or from a listing site using something similar to connect UOs protocol (CUO://), then the listing part of the launcher wouldn't be needed.

The launcher would have to be open source so that it could survive it's developers.
 
Last edited:
A Player also could connect through Stealth-Client :) UOSteam is finished..

When you say UOSteam is finished you mean development has stopped only. It will still function in its current state and will work with current clients. Future client updates may break compatibility with it, that's all. It is still being used by players mainstream so it still has to be considered.

As far as the stealth client - how many shards officially support it and would want to provide automatic updates for it?

Actually this may not matter because the updater could update an entire client before launching it - an updater shouldn't really care what client is being used.
 
Last edited:
When you say UOSteam is finished you mean development has stopped only. It will still function in its current state and will work with current clients. Future client updates may break compatibility with it, that's all. It is still being used by players mainstream so it still has to be considered.

As far as the stealth client - how many shards officially support it and would want to provide automatic updates for it?

Actually this may not matter because the updater could update an entire client before launching it - an updater shouldn't really care what client is being used.
UOSteam wont be updated in any further development wich means sooner or later it will break.

Stealth doesnt care about Custom clients. But we as developer are adding support for shards with custom patchs\packets. A Power not all Clients you counted up support.

Stealth is against other Clients not much known. It has it weak points here and there but its still a client wich get updates.
 
A Player also could connect through Stealth-Client :) UOSteam is finished..

What is the chance of getting the Source Code to this? I have never heard of it but once a while ago. Is it open source?
 
What is the chance of getting the Source Code to this? I have never heard of it but once a while ago. Is it open source?

Its closed source due the decisions of the head developer for now.But as said it closed it also means if we drop this project we may release the source.Actually we are a small developer team containing Vizt0r as head developer, CFA as second head developer, Boydon for python support as languange, myself for community questions and bug testing\fixing.

Stealth is written in Delphi allows scripting in python and pascal and once we resolved our api issues could be used via wrapper dll in other languanges ( such as c# and others).

In the past camed a few shards up with custom packets for login and gameplay in order to detect third party clients. We also added those packets for handling so our users could connect through stealth client.On the other side we also have some deals with a few shardowners where we send a special identifying packet to their shard in order to detect the users under the limitation that a shard officially support the usage of the client.

The reason thats it is pretty unknown is the fact that it was mostly communicated in russian\ukraine and never got that much attention as easyuo or razor or uosteam.
 
Its closed source due the decisions of the head developer for now.But as said it closed it also means if we drop this project we may release the source.Actually we are a small developer team containing Vizt0r as head developer, CFA as second head developer, Boydon for python support as languange, myself for community questions and bug testing\fixing.

Stealth is written in Delphi allows scripting in python and pascal and once we resolved our api issues could be used via wrapper dll in other languanges ( such as c# and others).

In the past camed a few shards up with custom packets for login and gameplay in order to detect third party clients. We also added those packets for handling so our users could connect through stealth client.On the other side we also have some deals with a few shardowners where we send a special identifying packet to their shard in order to detect the users under the limitation that a shard officially support the usage of the client.

The reason thats it is pretty unknown is the fact that it was mostly communicated in russian\ukraine and never got that much attention as easyuo or razor or uosteam.

Now that is Information google might not have been able to tell you. I did do some research but I was looking for some "Inside" info, Thanks for this xD
 
Those informations exist, they are just out of our reach. I´m native german with some basic english skills, it tooked me a while to understand what google translator drops me out of translations from russian to english and inside of my brain into german :)
 
I've been looking at putting together a launcher - here's a mockup of the UI.

ai22.photobucket.com_albums_b347_Praxiiz_Screenshot2.png

Separating the Launcher from any assistants used would allow updating a shard's client files before the assistant runs.

It could also add a custom URI handler such as UO:// That would effectively let you put an address on your shard's website like
Code:
UO://myshard.someDomain.com/ClientFiles.zip
as a link that could be launched directly from the webpage. Shard listing sites could also include the URI on a link to your shard and have your shard launch immediately.

The Client Update URL would point to where the client files were hosted. This launcher would make no assumptions about what client is being used. It wouldn't even need to be an EA client. The webserver hosting the client would need a xml file that listed files needed for the client as well as versions of those files. That version file would be saved locally and checked against the remote version periodically.
 
Last edited:
I've been looking at putting together a launcher - here's a mockup of the UI.

View attachment 1449

Separating the Launcher from any assistants used would allow updating a shard's client files before the assistant runs.

It could also add a custom URI handler such as UO:// That would effectively let you put an address on your shard's website like
Code:
UO://myshard.someDomain.com/ClientFiles.zip
as a link that could be launched directly from the webpage. Shard listing sites could also include the URI on a link to your shard and have your shard launch immediately.

The Client Update URL would point to where the client files were hosted. This launcher would make no assumptions about what client is being used. It wouldn't even need to be an EA client. The webserver hosting the client would need a xml file that listed files needed for the client as well as versions of those files. That version file would be saved locally and checked against the remote version periodically.

That is really cool, I might start working on putting something together as well!
 
I've been looking at putting together a launcher - here's a mockup of the UI.

View attachment 1449

Separating the Launcher from any assistants used would allow updating a shard's client files before the assistant runs.

It could also add a custom URI handler such as UO:// That would effectively let you put an address on your shard's website like
Code:
UO://myshard.someDomain.com/ClientFiles.zip
as a link that could be launched directly from the webpage. Shard listing sites could also include the URI on a link to your shard and have your shard launch immediately.

The Client Update URL would point to where the client files were hosted. This launcher would make no assumptions about what client is being used. It wouldn't even need to be an EA client. The webserver hosting the client would need a xml file that listed files needed for the client as well as versions of those files. That version file would be saved locally and checked against the remote version periodically.


Aweeesome!
 
Back