docs(client): add CLIENT-PATCHES.md describing the Fractured client bundle

Documents the four binary artifacts that pair with this server
(patch-enUS-4/5/6.MPQ + patched Wow.exe), where they live (the
Releases page; not in the tree per the repo-tidy policy), and how a
contributor installs them on top of a clean 3.3.5a client. Cross-
referenced from the contrib/fractured-dev-extras README.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Docker Build
2026-05-09 11:34:12 -04:00
parent 4d2a80ddb8
commit 4a1f4d02f0
2 changed files with 88 additions and 0 deletions
@@ -0,0 +1,85 @@
# Fractured Client Patches
Binary client artifacts that pair with this server. They live on the
[Releases page](https://github.com/Dawnforger/Fractured/releases),
**not** in the tree, so the repo stays lean and binaries can be
re-downloaded without bloating `git clone`.
This file is the table of contents and install guide.
---
## What ships in a release
| Artifact | Size | Purpose |
|---|---|---|
| `patch-enUS-4.MPQ` | ~5 MB | DBC + GlueXML bake. Adds `CLASS_PARAGON` (id 12), the character-create slot, glue strings, talent-tab DBC entries, and the Paragon resource bar definitions. Required for character creation as Paragon to even show up. |
| `patch-enUS-5.MPQ` | ~40 KB | FrameXML overrides. Replaces stock `PlayerFrame.lua` / `RuneFrame.lua` / `ComboFrame.lua` / `UnitFrame.lua` with Paragon-aware versions: rune simulator, combo-point simulator, server-authoritative resource sync over the `PARAA` addon channel, action-button usability + click guards. |
| `patch-enUS-6.MPQ` | ~160 KB | The `ParagonAdvancement` addon. Replaces the talent pane (`N` key) for Paragon characters with the Character Advancement panel: per-class spell tabs, talent grid, Overview/Search tabs, AE/TE currency, commit / reset / preview, login-time toast suppression. |
| `Wow.exe` | ~7.5 MB | 3.3.5a (build 12340) client byte-patched to skip the MPQ signature check so custom `patch-enUS-N.MPQ` files load. Diff against stock is a few bytes; everything else is unchanged. |
Server and client work as a pair: the addon talks to `mod-paragon` on the
worldserver via `WHISPER` addon-channel messages with the `PARAA` prefix
(currency push, spell/talent snapshot, commit, combo points, rune
cooldowns, learn-toast silence window). Mismatched versions usually
manifest as the panel rendering blank or AE/TE reading 0/0.
---
## Install
You need a 3.3.5a (build 12340) WoW client. ChromieCraft's free 3.3.5a
download is the canonical clean source if you don't already have one.
1. Download every artifact from the latest release matching this server
build:
`https://github.com/Dawnforger/Fractured/releases/latest`
2. Replace `Wow.exe` at the root of your client install with the patched
one from the release. Keep a backup of the original if you want.
3. Drop `patch-enUS-4.MPQ`, `patch-enUS-5.MPQ`, `patch-enUS-6.MPQ` into
`Data/enUS/`. (For other locales, rename the suffix accordingly —
contents are locale-independent, only the filename ordering matters
to the loader.)
4. Edit `Data/enUS/realmlist.wtf` to point at your server, e.g.
`set realmlist your.host.tld`.
5. Launch `Wow.exe`. The login screen should reach the realm list. Make
a Paragon character (the new class entry on the create screen) and
press `N` in-world to open the Character Advancement panel.
If the panel opens empty / AE+TE read 0/0 / `N` opens the stock talent
pane: your client is loading an older `patch-enUS-6.MPQ`, or the
worldserver image is older than commit `4d2a80d` (the
`character_paragon_panel_spell_revoked` migration). Pull both ends to
the same release tag and rebuild the worldserver image.
---
## Building the patches yourself
The MPQs are reproducible from the dev tree (not in this repo —
`Classless Dev/Paragon Patch UI/` and
`Classless Dev/Paragon Advancement/` on the maintainer's workstation)
via two PowerShell scripts in `tools/`:
```
tools\build_paragon_ui_patch.ps1 -Deploy # -> patch-enUS-5.MPQ
tools\build_paragon_advancement_patch.ps1 -Deploy # -> patch-enUS-6.MPQ
```
`patch-enUS-4.MPQ` is the DBC + GlueXML bake; the bake scripts live with
the rest of the dev tooling and are not part of this repo by design
(see the repo-tidy policy in `README.txt` next to this file).
The patched `Wow.exe` is a one-time hex-edit of the stock 3.3.5a
client. The diff is publicly documented in the WoW emulation community
under names like "MPQ signature patch" / "no-CD-signature patch".
---
## Versioning
Releases are tagged to match the state of `main` they were built from.
The release notes call out which server commit shipped alongside each
artifact set, so a contributor running `git checkout <tag>` on this
repo can pull the matching client bundle and have a guaranteed-aligned
end-to-end build.
+3
View File
@@ -7,6 +7,9 @@ AzerothCore. Upstream AzerothCore does not ship these paths.
Contents: Contents:
- BUILD-NATIVE.md — fork-specific native build notes (moved from repo root). - BUILD-NATIVE.md — fork-specific native build notes (moved from repo root).
- CLAUDE.md — optional AI assistant context (moved from repo root). - CLAUDE.md — optional AI assistant context (moved from repo root).
- CLIENT-PATCHES.md — what ships in a Fractured client release (MPQs +
patched Wow.exe), where to download them (Releases page), and how
to install them. Binaries themselves are NOT in the tree.
- *.log — local build logs (moved from repo root when present). - *.log — local build logs (moved from repo root when present).
Operational files (docker-compose.override.yml, env/dist, modules/mod-paragon, Operational files (docker-compose.override.yml, env/dist, modules/mod-paragon,