обновил лаунчер под новую версию веба
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# MoonWell Launcher
|
||||
|
||||
MoonWell Launcher is the desktop launcher for MoonWell, a private World of
|
||||
Warcraft: Wrath of the Lich King server focused on a player-friendly experience
|
||||
Warcraft 1.12.1 server on vMaNGOS, focused on a player-friendly experience
|
||||
without excessive grind and with stronger social play.
|
||||
|
||||
The Windows executable requests administrator privileges on startup so it can
|
||||
@@ -21,6 +21,7 @@ The launcher is responsible for:
|
||||
- displaying the live status of the first configured realm
|
||||
- requesting a single-use game ticket and launching the game client without
|
||||
putting credentials in command-line arguments
|
||||
- starting the Rust MoonWell client on Windows and macOS
|
||||
|
||||
## Stack
|
||||
|
||||
@@ -60,6 +61,11 @@ Set the public AppCast feed URL to enable Windows launcher self-updates:
|
||||
The updater is disabled when `MOONWELL_APPCAST_URL` is omitted. Production
|
||||
feeds must use HTTPS.
|
||||
|
||||
The game's auth endpoint is read from `realmlist.wtf` in the selected client
|
||||
folder. For builds that pin an endpoint, set
|
||||
`--dart-define=MOONWELL_AUTH_ADDRESS=login.example:3724` instead. This endpoint is
|
||||
the vMaNGOS auth server, separate from the realm's world port and the Web API.
|
||||
|
||||
Example run command:
|
||||
|
||||
```powershell
|
||||
@@ -141,8 +147,26 @@ The launcher sync flow is manifest-based:
|
||||
6. remove stale files outside ignored directories
|
||||
7. download missing or changed files to temporary part files
|
||||
8. verify size and SHA-256 before replacing client files
|
||||
9. request a short-lived game ticket and launch `Wow.exe` from the selected
|
||||
client directory with authorization in its child environment
|
||||
9. request a short-lived game ticket for build 5875 and launch MoonWell from the
|
||||
selected client directory with authorization in its child environment
|
||||
|
||||
The selected folder must contain `MoonWell.exe` on Windows, or `MoonWell.app`
|
||||
on macOS, and your own 1.12.1 data in `Data/` or `WoW/Data/`. macOS launches the
|
||||
bundle's `Contents/MacOS/launch` directly so the launcher keeps a handle to the
|
||||
game process. `benilla-config/` stays beside the EXE or `.app`.
|
||||
|
||||
The ticket's account and temporary password become `WOW_USER` and `WOW_PASS`;
|
||||
the launcher also sets `WOW_HOST`, `WOW_DATA`, and `BENILLA_HOME` for that child
|
||||
only. Launching does not clear the WoW cache or modify `WTF/Config.wtf`.
|
||||
The ticket is consumed by `realmd` after a successful proof; a new login attempt
|
||||
requires a fresh ticket from the launcher.
|
||||
|
||||
In the local WSL deployment, Web API traffic uses the web service's published
|
||||
port 8080, while game authorization and the world use ports 3724 and 8085.
|
||||
The web application writes ticket SRP data to `realmd.launcher_ticket`; the
|
||||
modified auth server consumes it. No additional web/core endpoint is required.
|
||||
Distribute the MoonWell executable and the 1.12.1 data in the client manifest
|
||||
before enabling automatic synchronization for that distribution.
|
||||
|
||||
See `docs/launcher_web_api_spec.md` for the API and sync contract.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user