The site half of §11.2.2, on protocol 14:
- `rust.coins.pay` ("Pay coins"): irreversible, reversible none (D335). The
recipient modes of rust.kit.entitle including `linked`, one payment per
website user (D103's rule), an optional message with {amount}, a new
`rust.coins` budget. Refused with "Economics is not installed on this
server" in the dry run too (D199). Core's key goes to the plugin, so a
retried step answers `repeat` and pays nobody twice.
- `rust_player_wipe_stats.balance`: the tally's balance, written as a value.
A nameless balance frame (an offline player) moves nobody's last-seen.
`economics.wiped` clears the wipe's balances, except at a new save.
- The richest: a Coins leaderboard column on one wipe of a server that
reports Economics, `sort=balance`, and a `richest` title category
(Magnate); both rank only above the starting balance (D336).
- GET /player/rust/economics (live, falling back to the last known), and
GET/POST /admin/users/:id/rust/economics for staff — scoped to the user's
own links, keyed per submission, an activity row with before and after.
- Client: the account page's Coins, the admin user page's Coins panel with
its form, the leaderboard column, and Economics in the server's mod line
(saying when its config could not be read).
Server 535/535 (14 new in test/economics.test.js), client 74/74,
routes.manifest regenerated against the pinned core (87 routes), swagger
fragment regenerated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
441 lines
10 KiB
JSON
441 lines
10 KiB
JSON
{
|
|
"$comment": "Generated inventory of the URLs module-rust serves - the module half of the freeze core keeps in server/routes.manifest.json. DERIVED as the difference between a core without this module and the same core with it, both at the pinned ref in ci/core-ref.json. Regenerate with the frozen-manifest job in .gitea/workflows/pr-checks.yml; see server/scripts/frozenManifest.js.",
|
|
"routes": [
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/rust/npcs/profiles/:pid",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/placements/:placement",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/rust/permissions/exceptions/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/rust/servers/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/rust/zones/presets/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/users/:id/rust/links/:steamId",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/admin/users/:id/rust/permissions/grants/:grantId",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "DELETE",
|
|
"path": "/api/v1/player/rust/links/:steamId",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/config/:serverId/file",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/config/:serverId/files",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/config/:serverId/writes",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/config/:serverId/writes/:writeId",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/npcs",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/placements",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/permissions",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/permissions/catalogue",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/permissions/servers/:serverId",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/permissions/servers/:serverId/players",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/servers",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/servers/:id/integrations",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/title-categories",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/visibility",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/voice",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/rust/zones",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/users/:id/rust/economics",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/users/:id/rust/links",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/admin/users/:id/rust/permissions",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/player/rust/economics",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/player/rust/links",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/player/rust/npc-kills",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/player/rust/permissions",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/player/rust/servers",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/clans/:externalId",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/clans",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/events",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/leaderboard",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/map",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/map/image",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/map/live",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/npc-leaderboard",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/npc-profiles",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/online",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/players/:steamId/npc-kills",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "GET",
|
|
"path": "/api/v1/public/rust/servers/:id/wipes",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PATCH",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/config/:serverId/file",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/npcs/profiles",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/npcs/profiles/:pid/restore",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/placements",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/placements/:placement/rename",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/placements/:placement/respawn",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/push",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/drift/:id/accept",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/drift/:id/adopt",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/drift/:id/dismiss",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/drift/:id/restore",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/drift/:id/revoke",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id/members",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id/members/clear",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id/members/remove",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id/split",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/servers/:serverId/grant",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/servers/:serverId/groups",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/servers/:serverId/revoke",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/permissions/sync",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/servers/:id/map/fetch",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/servers/:id/map/render",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/servers/:id/test",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/rust/zones/presets",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/users/:id/rust/economics",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/admin/users/:id/rust/permissions/grants",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "POST",
|
|
"path": "/api/v1/player/rust/link",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/npcs/factions",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/npcs/profiles/:pid",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/npcs/servers/:id/placements/:placement",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id/permissions",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/permissions/groups/:id/servers",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/permissions/servers/:serverId/policy",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/servers/:id",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/servers/:id/titles",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/title-categories/:stat",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/visibility",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/voice",
|
|
"tier": "public"
|
|
},
|
|
{
|
|
"method": "PUT",
|
|
"path": "/api/v1/admin/rust/zones/presets/:id",
|
|
"tier": "public"
|
|
}
|
|
]
|
|
}
|