PLAY turns into UPDATE CLIENT when a tracked client is outdated; with no client linked it offers choosing an existing folder or downloading from the community launcher servers (resumable, hash-verified, free-space checked, progress and stop). Files the player changed are kept on request or moved aside, never silently replaced. Existing clients can be adopted from Settings. Fresh downloads get a realmlist for each installed locale. Fixes zero-length files in the downloader (found by the live probe). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
5.0 KiB
CoA Server Manager
A Windows app that installs and runs your own Conquest of Azeroth server (AzerothCore) with a few clicks: no console, no config files, no database tools. Tauri 2 + Rust + React.
What it does
- One-click install. Downloads a signed, verified server package (resumable, checked file by file), sets up the database and creates your first account. Or import a server you already have.
- Start / Stop / PLAY. One button for the whole server (database, auth, world) with live status, uptime and players online. PLAY starts the game client with the right realmlist.
- Game client. Use the client you already have, or let the Manager download it (about 43 GB, resumable, every file verified). A client the Manager looks after is checked for updates like the server: PLAY turns into UPDATE CLIENT, and files you changed yourself are never replaced unless you say so.
- Safe updates. The Manager checks for a new server version on start and every five minutes; the main button turns into UPDATE. Updates are authenticated (Ed25519), back up first, keep files you changed and can be rolled back.
- Backups. Characters, accounts and settings on demand, automatically before every update; verify and restore from the app.
- Companions (bots). Fill the world with level-appropriate bots, see progress, stop spawning, take them offline, despawn N to relieve the server, and choose how many log in at server start.
- Settings without files. Bots and Server pages with plain-language options and presets, a console to the world server, player list with account tools.
- Play with friends. Checks whether your server is reachable, opens firewall rules, finds your router (UPnP), supports LAN, direct and private-network (Tailscale) play, with step-by-step guides and a package to send to friends.
- Updates to the Manager itself download in the background and install when you close it. Your servers are never stopped or changed by a Manager update.
- Languages: English, Russian, German, French, Spanish.
| Install | Ready |
|---|---|
![]() |
![]() |
| Overview | Server updates |
|---|---|
![]() |
![]() |
Install
Download the installer from the Releases page and run it. You need about 10 GB of free disk space for the server. The game client (about 43 GB) is separate: point the Manager at the one you have, or let it download one for you.
Status
Phases 0–10 of the plan in docs/ARCHITECTURE.md are done: foundation, import, start/stop, config engine, backups, clean install from signed packages, updates, companions, client launch, friends, polish. Remaining work (translation review by native speakers, optional extras) is listed in section 9 of that document. Translation notes: docs/TRANSLATIONS.md.
Develop
npm install
cargo test --workspace # core logic (scan, fsx, manifest, process, driver, health, updates, ...)
npx tsc --noEmit # type check
node tools/check-i18n.mjs # translation keys and placeholders
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)
Layout: crates/coa-core (logic), crates/coa-release (package tools: pack, sign, verify), src-tauri
(command layer), src (UI).
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.





