docs(runicnpc): 9e step 1 — dome stack 3 and the PopupNotifications banner (D326-D328)
D326: a blank dome stack is 3 (module only; the wire still defaults to 1). D327: the recommended PopupNotifications banner ships as a paste block (rust-link/INTEGRATION.md §2.4), from the installer (install and update) and from the egg's install. D328: "at the plugin's defaults" is all or nothing. PLAN_REDESIGNS §3's "until it is chosen by eye" closes; rust-link/INSTALL.md says what the installer and the egg write, and that uninstall leaves it. Code: Module-Rust#36, installer#39, Rust-Link#22. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -77,6 +77,12 @@ What a run does:
|
||||
The plugin fills in every other key on its first load. An existing config is never rewritten,
|
||||
and one that names a different server stops the run and says so — the website locks a server's
|
||||
id once it has seen it.
|
||||
It also writes the **recommended PopupNotifications banner** (`PopupNotifications.json` beside it;
|
||||
[`INTEGRATION.md` §2.4](INTEGRATION.md#24-the-recommended-popupnotifications-look-optional)), but
|
||||
only where that file is missing or still exactly the plugin's own defaults. A config with any
|
||||
setting changed is kept whole. `install` and `update` both apply this rule, and the plan names
|
||||
which case it found (`popup look … banner written` or `kept`). PopupNotifications itself stays
|
||||
optional and yours to install. One that is already running shows the banner after its next reload.
|
||||
4. **Installs the sidecar**, writes its config with this server's ports, and registers its service.
|
||||
5. **Places the plugin** in `oxide/plugins/` or `carbon/plugins/`. Both frameworks load a plugin
|
||||
the moment it lands, so on a running server the bridge comes up at once; on a stopped one, at
|
||||
@@ -125,7 +131,10 @@ When you create a server from it:
|
||||
against the bundle's checksum, and only then places them: the sidecar in `rust-link/`, the plugin in
|
||||
`oxide/plugins/` or `carbon/plugins/`. `RunicNPC.cs` goes beside the plugin (its data directory is left for RunicNPC to make); a bundle
|
||||
without RunicNPC is refused. Any mismatch fails the install with the reason, before
|
||||
anything is placed.
|
||||
anything is placed. It then writes the recommended PopupNotifications banner by the installer's
|
||||
rule: only where `PopupNotifications.json` is missing or still the plugin's defaults, so a look
|
||||
you chose survives a reinstall. If that write fails, the console says so and the install still
|
||||
succeeds, because it only affects how popups look.
|
||||
|
||||
**The first boot** prints, in the console, the token the sidecar generated — **once** — and a line
|
||||
with what the website needs:
|
||||
@@ -230,7 +239,7 @@ With the installer:
|
||||
|---|---|
|
||||
| `doctor --game rust [--server-id <id>]` | Per server: the framework; whether the plugin file is still the one deployed; each helper deployed beside it, as a **warning** when missing or edited (the bridge runs without one, and the row says what that costs); RunicNPC as a **failure** when it is missing or was never installed (it is required: without it every NPC an event places is refused), and a warning when edited by hand; that the plugin's config names this server; the required uMod plugins; the service; and `/health` through to **plugin connected**. A stopped server is a warning; a running one whose plugin never connected is a failure, printed with the framework versions the plugin is known good on |
|
||||
| `update --game rust` | Moves the sidecar and every server's plugin to the current bundle, and restarts the sidecars. Always all servers together — they share one binary |
|
||||
| `uninstall --game rust [--server-id <id>] [--purge]` | Removes the service, the plugin file, its helpers and RunicNPC. **Keeps the plugin's config** and RunicNPC's `data/RunicNPC/` (an admin's placements and routes) — it is the website's, and it names the server. `--purge` also removes the sidecar config (the token) and the database. Removing the last server removes the shared binary too |
|
||||
| `uninstall --game rust [--server-id <id>] [--purge]` | Removes the service, the plugin file, its helpers and RunicNPC. **Keeps the plugin's config** and RunicNPC's `data/RunicNPC/` (an admin's placements and routes) — it is the website's, and it names the server. `--purge` also removes the sidecar config (the token) and the database. Removing the last server removes the shared binary too. `PopupNotifications.json` is never touched: it belongs to PopupNotifications |
|
||||
|
||||
With the egg: reinstall to update (above); the console is the diagnosis.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user