← Help center

Download & set up the agent

The grailward agent (the "watcher") is a tiny background app that watches your Diablo II: Resurrected save folder and uploads every changed character (.d2s) and shared stash (.d2i) the moment the game writes it. No parsing happens on your machine — it just sends the raw bytes; all the intelligence lives on the server. It lives in your menu bar (macOS), system tray (Windows) or notification area (Linux / Steam Deck) — no window, no terminal.

Get it

Open the download page and grab the build for your system — a .zip for macOS, an .exe for Windows, a single executable for Linux / Steam Deck. The page always points at the latest version and lists the SHA-256 of each file.

Set it up (three steps)

  1. Create a device token. Sign in and open Devices; create one per machine. The token is shown once — copy it.
  2. Run the agent. On macOS, unzip the download and open Grailward Agent; on Windows, run the .exe; on Linux / Steam Deck, make it executable (chmod +x grailward-agent-linux-amd64) and run it. On the first launch a native dialog asks for that token and for your save folder. No terminal, no config files to edit.
  3. Play. The agent keeps running in the menu bar and uploads every save automatically. Your armory, stash and grail stay in sync.

The menu-bar icon

Once running, a small grailward shield sits in your menu bar. Its color tells you the state at a glance:

Click the icon for the menu:

First-run security warning

The builds aren't code-signed yet, so your operating system warns the first time you open them. This is expected:

Linux & Steam Deck

The Linux build is a single static executable — no installer, no .zip. Download it, make it executable (chmod +x grailward-agent-linux-amd64) and run it. The Steam Deck runs the very same binary: SteamOS is Arch Linux (KDE Plasma in Desktop Mode), so there's no separate "Deck" build — do the setup from Desktop Mode.

The native dialogs (the token and save-folder prompts) use kdialog on KDE — already present on the Steam Deck — and fall back to zenity on GNOME. If neither is installed, add one from your distro's package manager.

Where it finds your saves

On the first run the agent auto-detects your Diablo II: Resurrected save folder inside the usual Windows-compatibility layers, preferring whichever prefix actually contains a .d2s:

If nothing matches, it opens a folder picker so you can point it at the save folder yourself.

Start with system

Start with system in the tray menu writes a standard XDG autostart entry to ~/.config/autostart/, so the agent launches when you log in to the desktop. Turning it off removes the entry — no root needed.

The tray icon

The tray icon uses the StatusNotifier standard. KDE — including the Steam Deck's Desktop Mode — shows it out of the box. On plain GNOME the tray is hidden unless you install the AppIndicator extension; with it, the grailward shield appears like on any other desktop.

On the Deck in Gaming Mode there's no tray and no dialogs, but backups keep running in the background — every changed save still uploads. Change any settings from Desktop Mode, where the tray and dialogs are available.

Verify the download (optional)

To confirm a file matches what we published, compare its hash with the one on the download page:

shasum -a 256 grailward-agent-macos.zip                         # macOS
certutil -hashfile grailward-agent-windows-amd64.exe SHA256    # Windows
sha256sum grailward-agent-linux-amd64                           # Linux

Advanced: command-line flags

The menu covers everyday use, but the same binary accepts flags if you launch it from a terminal:

Prefer not to run anything? You can also upload saves straight from the browser.