mirror of
https://github.com/Corfirean/coa-server-manager.git
synced 2026-11-11 03:51:01 +00:00
ca8b7739e1c267383512599a94efbdf736410736
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
CoA Server Manager
Windows desktop manager for local Conquest of Azeroth (AzerothCore) servers. Tauri 2 + Rust + React. Design and audit: docs/ARCHITECTURE.md.
Status
| Phase | State |
|---|---|
| 0 Audit + architecture | done |
| 1 Foundation (fsx, registry, manifest, logging, error catalogue) | done |
| 2 Read-only import, process observation, Start/Stop via repack launcher, health diagnosis | done |
| 3 Config engine + Bots/Server settings UI + presets + snapshots | done |
| 4 Recovery points, DB dump/restore (staging + atomic swap), Backups UI | done |
| 5 Clean install: signed split packages, resumable verified download, staging + atomic commit, DB credential rotation, RA account creation | done |
| 6 Updates: tracked SQL migrations, update transaction (journal, conflicts, rollback), Settings > Server updates | done |
| 7 Companions: real population, hardware-aware sizes, RA spawn (install/update of the module rides on the update flow) | done |
| 8 Client: read-only detection, backed-up realmlist, isolated addon install, START & PLAY | done |
| Backlog: interface languages EN/RU/DE/FR/ES (see docs/ARCHITECTURE.md section 9) | planned |
| 9 Friends: exposure check, firewall rules, UPnP discovery, LAN/direct/private modes, friend package | done |
| 10 Polish: diagnostics, file verification, redacted diagnostic export | done; self-update installer, accessibility audit, i18n pending |
coa-server-build repo: nightly build, edge/stable releases, fork sync |
created; needs the COA_SIGNING_KEY / FORK_PUSH_TOKEN secrets |
Develop
npm install
cargo test --workspace # core logic (scan, fsx, manifest, process, driver, health)
npx vite # UI in a browser uses a mock IPC (src/dev/mock.ts)
cargo build -p coa-server-manager # native app (debug build loads http://localhost:1420)
Live checks against a real repack: cargo run -p coa-core --example scan -- <folder> (read-only).
Start/stop testing must use a disposable copy: tools/make-fixture.ps1 builds C:\games\coa-fixture
on offset ports from the pristine packaged database. Never run start/stop against a server in use.
tests/e2e/cdp.mjs drives the real window through WebView2 remote debugging
(WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--remote-debugging-port=9222).
License
CoA Server Manager is free software under the GNU Affero General Public License v3.0 (AGPL-3.0-only).
- The server it installs is built from a public fork of AzerothCore
(
Corfirean/azerothcore-wotlk-coa), which keeps its own licences (GPL-2.0-or-later for the MaNGOS-derived parts, AGPL-3.0 for AzerothCore-original files), and themod-coa-playerbotsmodule (AGPL-3.0). The exact commits behind every package are written into its manifest, so the matching source is always available. - The bundled MySQL keeps its own GPL-2.0 licence (its text ships in the package's
Licensesfolder). - The game data in the
Datafolder (dbc,maps,vmaps,mmaps) was extracted from the client of the discontinued Ascension "Conquest of Azeroth" realm and is not covered by this licence.
Languages
Rust
76.7%
TypeScript
19.1%
Python
3.1%
JavaScript
0.6%
Shell
0.2%
Other
0.2%