Skip to content

Plugin governance ​

Every plugin on every RustyThrones server comes from the catalog, and only platform staff decide what is in it. This page explains the whole path from a plugin file to a running server, and who may do what. The detail pages are Plugin catalog, Approvals and Rollouts.

The principle ​

  • Communities install approved catalog plugins only (see Plugins). They cannot upload .cs files, adopt files, or approve updates.
  • Platform staff with the operations capability (operator and platform admin) can do all of that, on any server.
  • Every install is verified and rolled back automatically if the plugin does not load.
  • Plugin code never reaches a server any other way: the community file browser cannot write into the plugins folder, and .cs files are refused elsewhere.
  • Attached servers are out of scope: they are managed on their own host.

End to end ​

StepWhoWhereWhat happens
1. A plugin version appearsStaff upload, or the uMod checker finds a new upstream versionPlugin catalog / ApprovalsAn upload is approved at once as the latest platform release. An upstream version waits for approval.
2. ReviewStaffApprovalsRead the source diff and the scan warnings (hints, never blocking), then Approve or Reject (with a reason). Nothing is installed before approval.
3. ListingStaffPlugin detail, Catalog listingSet Approval (Draft, Approved, Rejected), Listed in the community catalog, the description, tags, requirements and changelog.
4. RolloutStaff, or automaticRolloutsThe release goes to a canary server, soaks, then reaches the other servers one by one.
5. Install on a serverCommunity adminServer > Plugins > Browse catalogThe community installs the latest approved release; dependencies and conflicts are checked.
6. VerificationThe agentThe serverThe file is installed, the plugin reloaded and checked within 60 seconds. A failure restores the previous version and blocks the bad release.

Listing states ​

ApprovalListedWhat communities see
DraftanyHidden.
RejectedanyHidden.
ApprovedoffUnlisted: not browsable, installable only as a dependency of another plugin (libraries, core plugins).
ApprovedonListed: browsable and installable.

"Listed plugins are shown only once approved."

Core plugins ​

The RustyThrones plugins (for example Wipe, Stats, Catalog and ItemDataDump) are approved but not listed: the platform installs them on hosted servers, communities do not browse them.

Adopting files already on a server ​

A hosted server can contain a plugin file the catalog does not manage. On the server's Plugins tab such a row says "This file is on the server but the catalog doesn't manage it". Platform staff see Adopt into catalog: the file becomes a platform plugin (draft, unlisted) and an install pinned to that exact version unless it equals the latest release; nothing changes on the server. Communities get only Reload, Unload, Load for such files.

Staff can also install any catalog plugin on a server (Add), including unlisted and retired ones, and can open a plugin from a server's row with the link to the catalog.

Pinned installs ​

A community or staff member can hold an install on an older release (Version, or Previous version). That install is Pinned: platform rollouts skip it ("skipped: pinned"). Choosing the latest release unpins it. Adopted files of a different version also start pinned.

Who can do what ​

ActionCommunity adminPlatform staff (operations)
Browse and install listed pluginsyesyes (also unlisted, retired)
Pick a version, pin, roll back, enable, disableyesyes
Edit plugin settings (config layers)yesyes
Upload a release, adopt a filenoyes
Approve or reject a releasenoyes
Edit the catalog listing, retire, deletenoyes
Start, halt, resume, cancel a rolloutnoyes

Troubleshooting ​

ProblemFix
A community cannot find a pluginIt is Draft/Rejected/Unlisted/Retired. Open it in Plugin catalog and list it.
Install shows Rolled backRead the compiler output on the server's Plugins tab, upload a fixed release, roll it out.
A new release did not reach a serverThe install is Pinned, disabled, or the rollout is halted.