Move test scaffolding out of the deploy path

BridgeSeeder and BridgeProbe are not part of the bridge, but living under
overlay/Scripts/Custom/ meant deploy.ps1 would copy them onto any server we
deployed to. Move them to tools/scaffolding/, which nothing syncs.

overlay/Config/Bridge.cfg now carries the bridge's own settings (host, port,
queue cap, sweep intervals) rather than the scaffolding flags. Config.Get
returns false for a missing key, so a deployed server never runs the seeder or
probe even if their .cs files are present.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-10 04:40:20 -05:00
parent 710dd17745
commit 0ef756a93a
5 changed files with 87 additions and 20 deletions

View File

@@ -13,8 +13,9 @@ The shard never speaks WebSocket. Every world read happens on the Core thread; t
| Path | What |
|------|------|
| `overlay/` | Mirrors the ServUO server root. Everything here copies straight over an install. |
| `overlay/` | Mirrors the ServUO server root. Everything here — and **only** this — copies over an install. |
| `patches/` | Unified diffs against stock ServUO for files we must modify rather than add. |
| `tools/` | Never deployed. Test scaffolding and anything else that must not reach a server. |
| `docs/PLAN.md` | Implementation plan, measured performance budget, and the full data catalog. |
| `docs/RESEARCH.md` | Original source-level research. Partly superseded — see the corrections table in `PLAN.md` §8. |
| `docs/SHARD_PREREQS.md` | Repairs the target shard needed before any of this could load. |
@@ -56,12 +57,4 @@ Runtime script compilation therefore had no effect, silently. `overlay/Scripts/S
## Test scaffolding
`overlay/Scripts/Custom/BridgeSeeder.cs` and `BridgeProbe.cs` are **not part of the bridge**. They populate a synthetic world and time the reads the plugin will perform. Both default to off via `Config/Bridge.cfg`. Delete before production.
| Flag | Effect |
|------|--------|
| `SeedOnStart` | Seed 50 accounts / 150 chars / 30 houses / 30 vendors, then save. Refuses to run twice. |
| `CensusOnStart` | Read-only report of what the loaded world actually contains. |
| `ProbeOnStart` | Time profile / vitals / decay / economy / vendor reads on the Core thread. |
In-game: `[seedworld`, `[unseedworld` (Administrator).
Lives in `tools/scaffolding/` and is **never deployed**`deploy.ps1` only copies `overlay/`. It populates a synthetic world and times the reads the plugin will perform; it produced the budget in `docs/PLAN.md` §1. See `tools/scaffolding/README.md`.