Skeleton: plugin root, backend socket, /mm router, settings, test harness
The socket connects with the shared-secret header, registers first, reassembles incoming frames of any size (the original dropped anything over 4 KiB) and reconnects two seconds after a failure. Incoming share_* frames go to the vital-sharing handlers; any other frame is a chat-box command for this character, run one per tick through the chat bar as if typed. Frames are written with Newtonsoft.Json defaults, the original's serializer, so the backend sees the same bytes. The secret lives in the character's settings. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
commit
5dbb294a96
31 changed files with 3442 additions and 0 deletions
17
src/OpenAC.MosswartMassacre/FeatureCatalog.cs
Normal file
17
src/OpenAC.MosswartMassacre/FeatureCatalog.cs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
using OpenAC.MosswartMassacre.Backend;
|
||||
|
||||
namespace OpenAC.MosswartMassacre;
|
||||
|
||||
/// <summary>
|
||||
/// Every feature the plugin runs, in the order the root logs them in. Each
|
||||
/// slice of the port adds its features here and nowhere else.
|
||||
/// </summary>
|
||||
internal static class FeatureCatalog
|
||||
{
|
||||
public static void AddFeatures(MmContext context, BackendSession session, List<IMmFeature> features)
|
||||
{
|
||||
_ = context;
|
||||
_ = session;
|
||||
_ = features;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue