• v0.4.0 be8c09e6b3

    v0.4.0
    All checks were successful
    Release / release (push) Successful in -1m42s
    Stable

    gitea-actions released this 2026-10-09 07:24:26 +00:00 | 0 commits to main since this release

    module-rust v0.4.0

    Install from the website's Admin → Modules screen by pasting the URL of
    module-rust-0.4.0.json, or unpack the tarball onto the modules volume
    as modules/rust/. Requires a core whose MODULE_API_VERSION satisfies
    ^1.11.0.

    A Rust server also needs the other two halves of the bridge:
    Rust-Link (the sidecar) and
    Rust-Plugins (the Oxide/Carbon plugin).

    Features

    • feat(zones): a blank dome stack is 3 spheres, not 1 (runicnpc 9e, D326)
    • feat(rust): RunicNPC is required for every Place NPCs step (runicnpc stage 9, D310)
    • feat(rust): event NPCs named on the map, and a Place NPCs step's progress line (runicnpc stage 8)
    • feat(rust): loot on the NPC profile form, and the Place NPCs step's "drop loot" switch (runicnpc stage 7)
    • feat(rust): bosses and passive NPCs on the profile form, and public boss triggers (runicnpc stage 6)
    • feat(rust): NPC sides, the faction table, an event's escort, ally and tether (runicnpc stage 5)
    • feat(rust): NPC profiles and placements pages, the profile leaderboard (runicnpc stage 4)
    • feat(rust): NPC profile and placement routes, the event picker, triggers and titles (runicnpc stage 4)
    • feat(rust): RunicNPC profiles, their push and adoption, per-profile kills (runicnpc stage 4, WIP)
    • feat(rust): eight more minor map labels start hidden (D213)
    • feat(rust): the live map draws monuments by label, minor labels hidden (PLAN_REDESIGNS §4, D196)
    • feat(rust): the zone step labels its domes for what they show (D212)
    • feat(rust): zone presets, and the zone step's options, messages and dome (PLAN_REDESIGNS §3, D210)
    • feat(rust): chat titles rank twenty-three conditions, and admins name the categories (PLAN_REDESIGNS §5, D172-D175, D209)
    • feat(rust): the permission manager — the site owns the whole store (D160-D163, D188-D198)
    • feat(rust): chat titles, BetterChat group styles, the voice and popups (phase 17)
    • feat(rust): Admin → Rust servers page and the next wipe on the web (phase 16)
    • feat(rust): slash commands and the next wipe, server half (phase 16)
    • feat(rust): the live map (phase 14, protocol 11)
    • feat(rust): the rewards — tally, kit reward, chat and the news leg (phase 13b, protocol 10)
    • feat(rust): the world verbs, their budgets and the reconcile watch (phase 13a, protocol 9)
    • feat(rust): the leases and their option sources (phase 12, protocol 8)
    • feat(rust): notifications and engagement (phase 10, protocol 7)
    • feat(rust): Teams from first-party clans (phase 9, protocol 6)
    • feat(rust): what the site has given a player, as the player reads it
    • feat(rust): mod configuration from the site, and an editor that will not rewrite a float
    • feat(rust): site-owned permissions — the site is the author, the game is the cache
    • feat(rust): identity — a link code from the game, and the Steam id inside core's user page
    • feat: declare rust as the module's identity capability

    Fixes

    • fix(swagger): regenerate the fragment for stage 9's runicNpc status field
    • fix(rust): the profile list says "own loot" for a profile with a loot table
    • fix(rust): name the servers in a refused restore
    • fix(rust): the fleet's label list prefers a capitalised spelling
    • fix(rust): the title weapon and plant lists, read off the rig's own item list
    • fix(rust): skip servers known down for a link code, hold syncs while offline (F6, F7)
    • fix(rust): protocol 13 step 2 — expiry, plugin loads, the loading hold, NPC names, the link fleet (F2 F5 F6 F7 F8 F13 F14)
    • fix(rust): freeze the write-poll route in routes.manifest.json
    • fix(rust): protocol 13 — a configuration save that settles after its reload (F9, D179)
    • fix(rust): a bad title mode reaches the form as a sentence
    • fix(rust): lowercase the reward option-source ids, and test the grammar
    • fix(rust): hold the reconcile until the world is loaded, and never read a refusal as a revert
    • fix(rust): every notice says which server, clan or player it is about
    • fix(rust): nothing names who is online by default
    • fix(rust): put the word on the pill, not only the dot
    • fix(rust): answer refusals in the field core reads, and show the name the game last saw

    All changes

    Since v0.3.0:

    • feat(zones): a blank dome stack is 3 spheres, not 1 (runicnpc 9e, D326)
    • fix(swagger): regenerate the fragment for stage 9's runicNpc status field
    • docs(rust): the NPC picker's comment says what stage 9 kept (D310)
    • feat(rust): RunicNPC is required for every Place NPCs step (runicnpc stage 9, D310)
    • feat(rust): event NPCs named on the map, and a Place NPCs step's progress line (runicnpc stage 8)
    • fix(rust): the profile list says "own loot" for a profile with a loot table
    • feat(rust): loot on the NPC profile form, and the Place NPCs step's "drop loot" switch (runicnpc stage 7)
    • feat(rust): bosses and passive NPCs on the profile form, and public boss triggers (runicnpc stage 6)
    • feat(rust): NPC sides, the faction table, an event's escort, ally and tether (runicnpc stage 5)
    • fix(rust): name the servers in a refused restore
    • feat(rust): NPC profiles and placements pages, the profile leaderboard (runicnpc stage 4)
    • feat(rust): NPC profile and placement routes, the event picker, triggers and titles (runicnpc stage 4)
    • feat(rust): RunicNPC profiles, their push and adoption, per-profile kills (runicnpc stage 4, WIP)
    • fix(rust): the fleet's label list prefers a capitalised spelling
    • feat(rust): eight more minor map labels start hidden (D213)
    • feat(rust): the live map draws monuments by label, minor labels hidden (PLAN_REDESIGNS §4, D196)
    • feat(rust): the zone step labels its domes for what they show (D212)
    • feat(rust): zone presets, and the zone step's options, messages and dome (PLAN_REDESIGNS §3, D210)
    • fix(rust): the title weapon and plant lists, read off the rig's own item list
    • feat(rust): chat titles rank twenty-three conditions, and admins name the categories (PLAN_REDESIGNS §5, D172-D175, D209)
    • feat(rust): the permission manager — the site owns the whole store (D160-D163, D188-D198)
    • chore(ci): pin core back to main now website#209 has merged
    • fix(rust): skip servers known down for a link code, hold syncs while offline (F6, F7)
    • ci(rust): pin frozen-manifest to website#209 while coreApi is ^1.11.0
    • fix(rust): protocol 13 step 2 — expiry, plugin loads, the loading hold, NPC names, the link fleet (F2 F5 F6 F7 F8 F13 F14)
    • fix(rust): freeze the write-poll route in routes.manifest.json
    • fix(rust): protocol 13 — a configuration save that settles after its reload (F9, D179)
    • fix(rust): a bad title mode reaches the form as a sentence
    • feat(rust): chat titles, BetterChat group styles, the voice and popups (phase 17)
    • feat(rust): Admin → Rust servers page and the next wipe on the web (phase 16)
    • feat(rust): slash commands and the next wipe, server half (phase 16)
    • feat(rust): the live map (phase 14, protocol 11)
    • fix(rust): lowercase the reward option-source ids, and test the grammar
    • feat(rust): the rewards — tally, kit reward, chat and the news leg (phase 13b, protocol 10)
    • fix(rust): hold the reconcile until the world is loaded, and never read a refusal as a revert
    • refactor(rust): one placing verb per kind — rust.crate.place and rust.npc.place (D97)
    • feat(rust): the world verbs, their budgets and the reconcile watch (phase 13a, protocol 9)
    • feat(rust): the leases and their option sources (phase 12, protocol 8)
    • fix(rust): every notice says which server, clan or player it is about
    • feat(rust): notifications and engagement (phase 10, protocol 7)
    • feat(rust): Teams from first-party clans (phase 9, protocol 6)
    • fix(rust): nothing names who is online by default
    • fix(rust): put the word on the pill, not only the dot
    • feat(rust): what the site has given a player, as the player reads it
    • feat(rust): mod configuration from the site, and an editor that will not rewrite a float
    • docs(rust): record why a nested router needs nothing from the fragment generator
    • feat(rust): site-owned permissions — the site is the author, the game is the cache
    • fix(rust): answer refusals in the field core reads, and show the name the game last saw
    • test(rust): grow the mount check for the slot it predicted
    • feat(rust): identity — a link code from the game, and the Steam id inside core's user page
    • feat: declare rust as the module's identity capability

    Verifying this download

    Releases are unsigned — the sha256 in module-rust-0.4.0.json is the
    trust anchor, and the website verifies it before unpacking.

    sha256sum -c SHA256SUMS --ignore-missing
    
    Downloads