feat(rust): RunicNPC is required for every Place NPCs step (runicnpc stage 9, D310) #34
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/runicnpc-stage9"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Phase 9b of
docs/runicnpc/PLAN.mdstage 9, D310: RunicNPC is required, and a server without it places no NPCs at all, Rust's own scientists included. This ends D243's "Rust's own only" fallback. Decisions in docs#324 (D306–D314) and docs#325 (D315, D316).npcMissing, which replacesprofileMissing). It refuses before anything is sent, for good: "Main needs RunicNPC to place NPCs, Rust's own scientists included: RunicNPC is not loaded on it". The same goes for an old RunicNPC or a server that has not said. Crates are unaffected.RunicNpcApiNeeded, so a server the site calls ready is one the bridge will not refuse asrunicnpc-old. The profile push follows the same floor; a server at API 5 was already refused by the bridge.runicNpc({ ready, absence, version, api }, in Swagger). A server without one that will do reads "Incomplete: …" with the reason.Companion PRs (phase 9b)
docs#325, website#211 (D314) and, opened next, the bridge, installer and runicnpc-rust PRs.
How it was tested
npm test: 504/504. New: every NPC step refused without RunicNPC, with an old one (API 5) and with no word from the server, nothing sent to the server, and crates still placed. Fixtures move to API 6.world.test.jsstubs a RunicNPC-ready server list.npm run build,check:externalsclean,npm test73/73.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
A Place NPCs step on a server without RunicNPC, or with one older than the bridge needs, is refused before it is sent: "<server> needs RunicNPC to place NPCs, Rust's own scientists included: <why>". Rust's own scientists were the fallback until now (D243); they need RunicNPC too. Crates are unaffected. - npcs.model: API_NEEDED rises from 4 to 6, the bridge's RunicNpcApiNeeded, so a server the site calls ready is one the bridge will not refuse as runicnpc-old. The profile push follows the same floor. - eventWorld: profileMissing becomes npcMissing, asked for every NPC step. - Admin → Rust → Servers: each server carries `runicNpc` ({ready, absence, version, api}) and a server without one that will do reads "Incomplete" with the reason. Swagger documents the field. The event picker is unchanged in this commit (an open question on the PR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY