ClassicUO Web includes a browser-based patching system specifically designed for shard owners who ship modified game assets. Instead of requiring players to manually download and install files, you upload your custom assets once through the Shard Management portal and the system takes care of the rest — generating efficient binary-delta patches, converting UOP files to MUL where appropriate, and publishing everything to the global CDN. Players receive only the chunks they are missing the next time they click Play.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ClassicUO/classicuo-web/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure you have the following ready:- Access to the Patching section of your Shard Management portal (request access via a shard application if you have not been approved yet)
- Your UO installation directory containing the custom asset files you want to patch
- An up-to-date version of Chrome (the patching tool uses the File System Access API, which requires a Chrome-like browser)
Patching steps
Open the Patching section
Using Chrome, browse to the Patching section inside your Shard Management portal.
Select your UO directory
Click Open UO Directory and choose your UO installation directory. Accept the browser permissions prompt that asks for read access to the folder.
Review the files to be patched
The tool scans your directory and populates a Files to be patched list. Review it carefully:
- Move any files to the Ignore List that you do not want to patch.
- If UOP files appear automatically in the Ignore List, there is likely a MUL ↔ UOP conflict for the same asset.
- To change the preferred file type, click the settings cog icon and update your preference.
- Alternatively, remove the conflicting duplicate from your UO directory and re-scan.
Verify the client version
Confirm that the Client Version field shows the correct version. The tool reads this automatically from your
client.exe or from CUO’s settings.json, but double-check it matches your shard’s requirements.Run the patcher
Once everything looks correct, click the green Patch button to begin generating the delta patches locally in your browser.
Review the final manifest
When patching completes, review the resulting file manifest. If any expected files are missing, check whether they ended up on the Ignore List or are absent from your UO directory.
Publish to the CDN
Click Publish and select Cloud. This uploads your patches to the ClassicUO CDN and makes them immediately available to players.
How the patches work
Binary-delta compression with VCDIFF
The patching system generates binary-delta patches using the VCDIFF algorithm against a known baseline set of vanilla UO files. Only the differences between the baseline and your custom files are stored and transmitted, which results in dramatically smaller download sizes for players.UOP → MUL automatic conversion
With the exception ofAnimation*.uop files, the patcher automatically converts UOP-format assets to their MUL equivalent before generating deltas. UOP files use internal compression that produces very large patch deltas; converting to MUL first reduces patch sizes substantially — in practice the difference can be as large as 90 MB down to 2 MB for the same asset.
Livepatching (no full file writes)
During gameplay, patches are applied in a random-access mode called livepatching. The fully reconstructed UO asset is never written to disk — the client reads patched data on demand directly from the stored deltas. This saves significant disk space for players, particularly on shards with many modified files.Content deduplication across shards
All content on the CDN is deduplicated globally. If two shards ship patches for the same underlying file, a player who has already downloaded that content for one shard will not download it again for the other.Troubleshooting
The web client gets stuck during loading (e.g. at 'Animations')
The web client gets stuck during loading (e.g. at 'Animations')
This usually means the patcher received incorrect or incomplete files. To diagnose:
- Manually copy only the files that appear in your patch manifest’s
filesarray into a fresh empty folder. - Launch the desktop ClassicUO client pointed at that folder.
- If desktop CUO loads correctly with just those files, the issue is likely a mismatch between what you patched and what the web client expects — ask for help in the #for-shard-owners Discord channel.
- If desktop CUO also fails to load, the asset files themselves are the problem. Verify you are using the correct versions and that all required files are present.
I see MUL patches in the manifest but I provided UOP files
I see MUL patches in the manifest but I provided UOP files
This is expected and intentional. The patcher automatically converts your UOP assets (except
Animation*.uop files) to MUL before generating the VCDIFF patches. UOP’s internal compression causes extremely large patch deltas; the MUL conversion brings those sizes down dramatically. You do not need to take any action — the output is correct.'File is being used by another process' error
'File is being used by another process' error
This error almost always means your file list contains both the UOP and MUL version of the same asset — for example
art.mul and artLegacyMUL.uop simultaneously. The patcher cannot process two representations of the same file at the same time.Fix: Remove one of the two conflicting files from your UO directory, or move it to the Ignore List, and re-run the patcher. Use only one format per asset.