Commit Graph
45 Commits
Author SHA1 Message Date
Дмитрий 83e87d49fc Merge remote-tracking branch 'origin/fix/issues-20261017' into integrate/prebuild-20261023 2026-10-23 12:29:10 +05:00
Corfirean 5544d62c23 Remove repeated screenshot titles from gallery pages (#144) 2026-10-23 07:52:51 +05:00
Corfirean 93784af0d9 Localize screenshot galleries and complete visible interface translations (#143) 2026-10-23 07:43:36 +05:00
Дмитрий ed2b1291cb Add localized TimeIsTime module card and settings 2026-10-23 06:12:50 +05:00
Дмитрий 8d9dc47fed Merge published documentation and shared changelog updates for 0.7.1 2026-10-22 09:37:33 +05:00
Corfirean 20fb2391ed Record every published Manager version in its own changelog (#137) 2026-10-22 07:49:15 +05:00
Corfirean 43de03eada Keep imported upstream notes separate and read historical BOM fragments (#136) 2026-10-22 00:14:25 +05:00
Дмитрий 5796cffb5e Exclude frozen upstream notes and accept historical UTF-8 BOM fragments 2026-10-22 00:11:44 +05:00
Corfirean cda58cdcd1 Fix collecting the next published Manager changelog from its Git tag (#135) 2026-10-22 00:04:32 +05:00
Дмитрий 112cb7e69c Read new Manager release notes from Git without unsupported subprocess arguments 2026-10-22 00:02:16 +05:00
Дмитрий 344d9772b0 Merge current Manager master and creature health settings into 0.7.0 2026-10-21 22:48:15 +05:00
Corfirean 4537b2a826 Restore all published Manager changelogs and keep release notes synchronized (#126) 2026-10-20 06:37:28 +05:00
Дмитрий f40c0e1324 Merge current master into portable characters while retaining 0.7.0 2026-10-19 13:47:05 +05:00
Дмитрий df102f16fa Expose creature health and melee and spell rates by rank 2026-10-17 21:02:26 +05:00
Дмитрий be2f252593 Show Overview update failures and cover copied launcher configuration 2026-10-14 08:26:19 +05:00
Дмитрий 482bbfcdfd Fix repair completion and expose SQUID and rehearsal failures 2026-10-14 06:52:24 +05:00
Дмитрий 9ae5fb471b Rehearse Windows updates and preserve complete MySQL recovery 2026-10-10 23:34:29 +05:00
Дмитрий 3b7f77d92e Check packaged MySQL Unicode regex support on fresh data 2026-10-10 19:52:07 +05:00
Дмитрий dc2bffc57e Keep complete schema diagnostics across update rollback 2026-10-10 19:34:52 +05:00
Дмитрий 77318895ae Reproduce raid base SQL replay on disposable MySQL 2026-10-10 12:15:43 +05:00
ДмитрийandClaude Sonnet 5.5 461ffddd0d Phase 12: realm key pinning, linked accounts stay linked, control protocol and registry protocol 2 documentation, client credential audit tool
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 23:04:48 +05:00
ДмитрийandClaude Sonnet 5.5 e39cecb333 Phase 10.1: Registry protocol 2 (structured listing), migration 2, v1 refused explicitly
Listing (rates, modules, region, account provisioning), population with players and bots apart,
level cap and ruleset derived from the hash-checked capabilities. Realm records from protocol 1
keep their id, key and creation time and are republished in place. Host publishes the real
values: rates from the effective worldserver configuration, modules from the module catalog,
players/bots from the realm database.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 21:31:45 +05:00
ДмитрийandClaude Sonnet 5.5 1267bcc41e Phase 10: central realm Registry, Host publishing lifecycle, deployment
crates/coa-registry-proto (protocol 1: types, limits, signed-request canonicalisation, test vectors),
services/coa-registry (axum + PostgreSQL, migrations, rate limits, Dockerfile, deploy files),
services/coa-registry-e2e (Host lifecycle against the real service, live VPS gate),
coa-core realm_registry (identity keys, client, publishing loop on its own thread),
Settings -> Public listing card, docs REGISTRY_PROTOCOL.md and REGISTRY_DEPLOYMENT.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:23:13 +05:00
ДмитрийandClaude Sonnet 5.5 d05bfe8b09 Merge master (0.6.6) into feat/portable-characters
Conflicts were additive only: the rusqlite and if-addrs dependencies sit side by side, and the
portable.* and fr.lan.* translation blocks are both kept in en and ru.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 17:54:17 +05:00
ДмитрийandClaude Sonnet 5.5 9870a3814c portable: Phase 5 - live bridge, online importer client, session harness, docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 14:15:21 +05:00
ДмитрийandClaude Sonnet 5.5 9210be98b5 portable: Phase 4 core - three-way merge, persistent baselines/pet mappings, in-place update, session reconcile
merge3(target, base, ours) applies only the base->ours delta; session reconcile is
(C0, B0, B1, lenient), in-place update is (realm now, synced snapshot, new canonical, strict).
Item/pet mappings gain presence (present/filtered/realm_local) so realm-filtered state is
told from player deletion. Updates are journaled like imports (marker + alloc row) and
recovered from the realm. Live tests cover filtered vs deleted items, checkpoints, pets,
conflicts, lost answers, atomic rollback and the A->B->A->B round trip without a server.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 09:44:31 +05:00
ДмитрийandClaude Sonnet 5.5 c590b82d27 feat(portable): read-only export of offline characters from a realm (Phase 2)
Reads one offline character out of a realm's characters database through the
existing Db abstraction: fixed SQL with the local guid as the only (numeric)
input, one consistent READ ONLY snapshot per character, hex-encoded text.
Maps the approved minimal v1 scope to the portable model; refuses online,
deleted, bot, active challenge/game mode/Manastorm and unknown-table cases.
Adds the 163-table registry, the settings policy, "Make Portable" in one store
transaction, and item mapping lifecycle with content identity (schema 2) so a
recycled local item guid never inherits an old portable item.

Recorded answers of a real MySQL drive the unit tests; live tests re-verify
them, read-only enforcement and snapshot consistency on a disposable server.
No realm database is written and nothing changes for existing installs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 08:11:54 +05:00
Дмитрий 0d6d8a0db8 Harden server update history, recovery guards and repeated checks 2026-10-06 07:01:13 +05:00
Дмитрий 654b7cddd3 Keep SQUID settings usable with unknown metadata and preserve translations 2026-10-05 18:09:36 +05:00
Дмитрий f8301d7394 Read SQUID release settings and protect imported repack binaries 2026-10-05 16:56:46 +05:00
Дмитрий a67d51804b Expose partial LFG and open-world leech module settings 2026-10-05 03:09:02 +05:00
Дмитрий d2496603e7 Configure both bot systems exclusively in the shared Bots tab 2026-10-04 20:40:36 +05:00
Дмитрий 2eea0e117c Add translated module settings and exclusive SQUID Playerbots controls 2026-10-04 20:26:39 +05:00
Дмитрий c02c635463 Fix settings input, client launch, server repair and simultaneous realms 2026-10-04 15:40:06 +05:00
Дмитрий 162bfd1e04 Release Manager 0.6.0 with Chinese localization, realm sync and Linux preview 2026-10-03 22:50:01 +05:00
Corfirean 1bcef5f8c2 Add CoA / Wildcard realm profiles for v0.5.0 (#10)
* Add isolated Wildcard realm profiles and release v0.5.0

* Document realm validation and align npm lock version
2026-10-03 11:12:04 +05:00
ДмитрийandClaude Sonnet 5.5 14173d7d7e Server settings: Achievement.RealmFirstBlockBots (bots cannot take Realm First achievements)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 06:21:51 +05:00
ДмитрийandClaude Sonnet 5.5 05397c4505 Import: when the chosen folder is the Core folder or an outer folder, offer the server's main folder; say clearly when it is a standalone AzerothCore server
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 05:31:28 +05:00
ДмитрийandClaude Sonnet 5.5 9444434734 Settings: full searchable list of every documented world-server setting (575), edited in place with a snapshot before each save
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 22:54:36 +05:00
ДмитрийandClaude Sonnet 5.5 8f2b585641 Server settings: 20 more curated settings (drop rates by quality, talents, repair cost, auction cut, instances, professions, cross-faction, weather) in five languages
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 22:50:06 +05:00
ДмитрийandClaude Sonnet 5.5 645ffd8999 New servers and updated ones run the world on several threads: MapUpdate.Threads setting, one-time performance defaults, debug loggers lowered
- Server settings page gains 'CPU cores for the world' (MapUpdate.Threads), translated in all languages.
- On the first start of an installed server (not imports) the Manager sets it to half the logical processors (2..8) unless
  the owner already raised it, and lowers Logger.network / Logger.entities.player from debug to info; once per server.
- tools/sample_stacks.py: sampling profiler for a running worldserver (dbghelp + PDB), used to find what the world thread spends time on.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 13:14:41 +05:00
ДмитрийandClaude Sonnet 5.5 38b5b86be1 Translations: settings schema overlays (ru/de/fr/es), diagnostics, update steps, companion sizes, friends notes; dev mock for settings pages; docs/TRANSLATIONS.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 21:32:15 +05:00
ДмитрийandClaude Sonnet 5.5 68050882b8 UI: translate settings editor; add tools/check-i18n.mjs; mock accepts event listeners
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 11:58:43 +05:00
ДмитрийandClaude Sonnet 5.5 5b5255cca8 Phase 3: config engine (line-preserving parser, schemas, validation, atomic save, snapshots, merge, presets) and Bots/Server settings UI
Verified: 28 real config files round-trip byte-identical; native UI edit changes
exactly one line in template and generated conf; snapshot restore is byte-exact.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 07:33:54 +05:00
ДмитрийandClaude Sonnet 5.5 bbf06793ba Phase 2b: launcher delegate driver, log-based failure diagnosis, fixture builder
Verified on a disposable fixture: start reports world_db_incompatible for a
pristine DB with a newer binary; stop is graceful; live install untouched.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 07:04:59 +05:00