Mosswart Massacre for OpenAC (owner-only)
Find a file
Erik 714fbfa2e8 Flag tracker: the Mossy Tracker window as a markup panel
The owner calls the flag tracker important, so the original's pages come
across with their tables unchanged: augmentations and luminance auras from
the player's own int properties (the object table carries them), recalls
from the spellbook with composited spell icons, cantrips matched from the
active enchantments to trained skills, attributes and wards, the tracked
weapons the original kept data for but never showed, and the quest timers.
Read on the tick thread at login and on each page's Refresh; the quest
page redraws every five seconds instead of from a thread-pool timer.

The root panel's visibility is the settable IsVisible so the main window
can open it; the three sections the original left as stubs stay out, and a
headless host registers nothing. The fake spell catalog learns IsKnown.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 12:20:52 +02:00
src/OpenAC.MosswartMassacre Flag tracker: the Mossy Tracker window as a markup panel 2026-09-25 12:20:52 +02:00
tests/OpenAC.MosswartMassacre.Tests Flag tracker: the Mossy Tracker window as a markup panel 2026-09-25 12:20:52 +02:00
.gitignore Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00
Directory.Build.props Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00
Directory.Packages.props Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00
global.json Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00
NuGet.Config Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00
OpenAC.MosswartMassacre.slnx Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00
README.md Skeleton: plugin root, backend socket, /mm router, settings, test harness 2026-09-25 12:03:00 +02:00

Mosswart Massacre for OpenAC

A private OpenAC port of the Mosswart Massacre DECAL plugin: it streams telemetry, vitals, chat, inventory, combat and character stats to the Mosswart Overlord backend, shares vitals and debuffs across machines, runs the commands typed into the Overlord chat box, keeps the flag tracker and syncs metas.

The backend contract is fixed. Every frame this plugin sends or accepts is byte-for-byte what the DECAL plugin sent and accepted; the golden tests under tests/ pin each one. Change a frame only together with the backend.

Building

The plugin contract comes from the OpenAC release of the version named in Directory.Build.props (PluginApiPackageVersion). Put that release's AcDream.Plugin.Abstractions.<version>.nupkg in packages-local/:

gh release download v0.1.18 -R eriknihlen/OpenAC -p "AcDream.Plugin.Abstractions.0.1.18.nupkg" -D packages-local
dotnet build OpenAC.MosswartMassacre.slnx
dotnet test OpenAC.MosswartMassacre.slnx

Installing

Copy src/OpenAC.MosswartMassacre/bin/<config>/net10.0/ (the dll, its .deps.json, Newtonsoft.Json.dll, plugin.json and the markup) into %LOCALAPPDATA%\acdream\plugins\openac.mosswartmassacre\.

First run

Streaming is off until you turn it on. The shared secret is never compiled in:

/mm ws secret <the backend's shared secret>
/mm ws enable

/mm help lists every command.