forked from metin-server/m2dev-client-src
Add GM smoke compare workflow for pack profiling
This commit is contained in:
@@ -67,6 +67,44 @@ To run a full `pck` vs `m2p` comparison in one go:
|
||||
The script captures both runs back-to-back and writes a combined compare report
|
||||
into the same output directory.
|
||||
|
||||
## Real game-flow smoke compare
|
||||
|
||||
Startup-only runs are useful for bootstrap regressions, but they do not show the
|
||||
real hot path once the client reaches `login`, `loading`, and `game`.
|
||||
|
||||
For that case, use the CH99 GM smoke compare wrapper:
|
||||
|
||||
```bash
|
||||
python3 scripts/compare-pack-profile-gm-smoke.py \
|
||||
--left-label pck-only \
|
||||
--left-runtime-root /path/to/runtime-pck \
|
||||
--right-label secure-mixed \
|
||||
--right-runtime-root /path/to/runtime-m2p \
|
||||
--master-key /path/to/master.key \
|
||||
--sign-pubkey /path/to/signing.pub \
|
||||
--account-login admin
|
||||
```
|
||||
|
||||
What it does:
|
||||
|
||||
- copies the built client into a temporary workspace outside the repository
|
||||
- stages each runtime into that workspace
|
||||
- temporarily updates the selected GM account password and map position
|
||||
- auto-logins through the special GM smoke channel (`11991` by default)
|
||||
- enters game, performs one deterministic GM warp, archives `pack_profile.txt`
|
||||
- restores the account password and the character map/position afterward
|
||||
- deletes the temporary workspace unless `--keep-workspaces` is used
|
||||
|
||||
Archived outputs per run:
|
||||
|
||||
- raw report: `<out-dir>/<label>.pack_profile.txt`
|
||||
- parsed summary: `<out-dir>/<label>.summary.txt`
|
||||
- headless trace: `<out-dir>/<label>.headless_gm_teleport_trace.txt`
|
||||
- startup trace when present: `<out-dir>/<label>.startup_trace.txt`
|
||||
|
||||
This flow is the current best approximation of a real client loading path on the
|
||||
Linux-hosted Wine setup because it records phase markers beyond pure startup.
|
||||
|
||||
You can also summarize a single run:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user