# Requirements

What you need before running Windrose Server Manager.

The desktop app **checks for these on startup** and tells you if any are missing — but here's the full list up front so you can prep.

---

## On the box you'll run the manager on

### Operating system
- **Windows 10** version 1809 or later, or **Windows 11**
- 64-bit only (the EXE is `win-x64`)

### .NET runtime
- **None to install** — the EXE is self-contained. The .NET 8 runtime is bundled inside.

### Microsoft Edge WebView2 Runtime
- **Required for the desktop app** (`WindroseServerManager.exe`)
- Pre-installed on Windows 11 and recent Windows 10
- If missing, the app shows a one-time prompt with a download link
- Download manually: https://developer.microsoft.com/microsoft-edge/webview2/
- ~120 MB, evergreen (auto-updates), free

**Don't want WebView2?** Use `run-console.bat` instead and open `http://localhost:8080` in any browser. No WebView2 needed.

### Disk
- ~250 MB unpacked (95 MB web EXE + 156 MB desktop wrapper + assets)
- ~10 MB for the SQLite databases + logs over time (auto-trims at 30 days)

---

## On your Windrose dedicated server

### The dedicated server itself
- Install Windrose Dedicated Server via Steam → Tools → "Windrose Dedicated Server"
- Default install path: `C:\Program Files (x86)\Steam\steamapps\common\Windrose Dedicated Server\`
- If you installed elsewhere, set `AppSettings.ServerInstall.InstallRoot` in `appsettings.Local.json`

### WindroseRCON mod (REQUIRED)
- The manager talks to the dedicated server via RCON. Vanilla Windrose has no RCON — the **WindroseRCON** community mod adds it.
- Drop `version.dll` (from the WindroseRCON release) into:
  `<InstallRoot>\R5\Binaries\Win64\`
- Edit your dedicated server's `engine.ini` to add an RCON section (the mod's README describes the format)
- Set the password in your manager's `appsettings.Local.json` under `AppSettings.Rcon.Password`
- Default RCON port: 25575

If RCON isn't reachable, the manager logs:
> RCON: nothing listening on 127.0.0.1:25575. Common causes: (1) the dedicated server isn't running yet, (2) the WindroseRCON mod isn't installed, (3) the RCON port differs.

---

## Optional things

### Discord webhook URL (for notifications)
- Discord channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy URL
- Paste into `appsettings.Local.json` under `AppSettings.DiscordChannels[].WebhookUrl`
- Routing rules in `appsettings.json` map events to channel names. Edit them live at `/integrations` and `/routing` in the manager UI.

### Account on the cloud hub (for remote access)
- Sign up at https://windrose.certifriedmultitool.com — email or Discord
- Click **Add server** to generate an agent token
- Paste the token into `AppSettings.Hub.AgentToken` and set `Hub.Enabled: true`
- The manager dials out to the hub over a single TLS WebSocket — no port forwarding required on your end

---

## Network ports

The manager is **outbound-only** by default. Nothing needs to be opened on your firewall.

| Port | Direction | Purpose |
|------|-----------|---------|
| TCP 8080 (or whatever you set in `Urls`) | Inbound, **localhost only** | Web UI on this machine |
| TCP 25575 (or your RCON port) | Outbound to localhost | Manager → dedicated server RCON |
| TCP 443 | Outbound to internet | (Optional) Discord webhook posts + hub WebSocket |

If you want to access the local web UI from another machine on your LAN, change `Urls` in `appsettings.Local.json` from `http://localhost:8080` to `http://0.0.0.0:8080`. Make sure you have `Auth.Required: true` with a strong password if you do this.

---

## Quick verification checklist

After install, before you fire up the manager:

- [ ] Windows 10/11 64-bit
- [ ] WebView2 Runtime installed (or you'll use `run-console.bat`)
- [ ] Windrose dedicated server installed
- [ ] WindroseRCON mod's `version.dll` in `<InstallRoot>\R5\Binaries\Win64\`
- [ ] RCON password set in your dedicated server's `engine.ini`
- [ ] Same RCON password copied into `appsettings.Local.json`
- [ ] (Optional) Discord webhook URL pasted in
- [ ] (Optional) Hub token from windrose.certifriedmultitool.com

Then double-click `WindroseServerManager.exe` and you're done.
