Files
moonwell-client-core/crates/moonwell
sindoring da72c705f1 Integrate MoonWell launcher and deployment tools
Integrate the MoonWell launcher and deployment tooling on the local upstream baseline d0d1b5de. Correct the shipped icon path, regenerate the code map, and make source/Lua gates portable to Windows. Classify launcher startup icon access as input plumbing.

Verified on Windows: scripts/gates.sh ALL GATES GREEN; MoonWell release build without dev; 12 deployment tests; deployment and packaging script syntax. Stock MPQ chain excludes the custom patch-3. Thirty-one addon tests skip per data-enabled rung because the corpus is absent. Native macOS/Linux and live login smoke were not run; no declared test account is available.
2026-10-08 14:01:54 +03:00
..

MoonWell

MoonWell starts benilla through run_with and adds its own window title and platform branding. The client build banner identifies it as extended.

For player package staging, Rust MPQ builds, launcher manifests and S3 publication, see MoonWell deployment.

Build the player executable on Windows:

cargo build -p moonwell --release --no-default-features

The executable is target/release/MoonWell.exe. Provide your own WoW 1.12.1 Data/ or WoW/Data/ beside it, or set WOW_DATA to your install's Data folder. Local client state is in benilla-config/ beside the executable.

For development, run cargo run -p moonwell --profile play. The dev feature forwards benilla's instruments; disable it for a player build.

Replace crates/moonwell/assets/moonwell.ico with your own multi-resolution Windows icon and rebuild to update both the executable's icon and the running window's icons. The icon is embedded; the player does not need the source .ico file.

On macOS, build and package a player app from the repository root (Python 3.11+):

cargo build -p moonwell --release --no-default-features
python3 crates/moonwell/package_macos.py \
  --binary target/release/MoonWell \
  --icon /path/to/MoonWell.icns

This creates target/release/bundle/MoonWell.app with the MoonWell name and app icon. Packaging requires a macOS executable and an ICNS icon; it does not convert a Windows EXE into a Mac application. Build natively on each target Mac architecture. Pass --output to choose a different destination and --bundle-id to set your application identifier. An existing destination is never overwritten.

Launch the .app from Finder. Its launcher finds your own Data/ or WoW/Data/ beside MoonWell.app and keeps benilla-config/ there too, outside the bundle. Explicit WOW_DATA and BENILLA_HOME values take priority.