A Foundry VTT game system: Basic Roleplaying d100 in a drab British agency that deals with crossings, where reality keeps a record of what belongs where and can be made to get it wrong. Contents: - rules.mjs as the single authority for every rule formula, with 40 rules and 132 spot-checked values. Nothing may restate a formula it defines. - 25 postings, each with a key characteristic, trained skills, talents and its own kit; a 175-item catalogue across four eras; 231 generated icons. - Reaction Lanes initiative, re-rolled every round including the first. - Coherence, and the Quiet Arts, which only ever arrive from a crossing gone wrong. - Graded defences: only a critical stops a critical. - Borrowed Authority — access as a record rather than a hacking roll. - A case generator, and a rules journal generated from rules.mjs so the book cannot drift from the code. Built compendia are committed so a remote Foundry needs only the files. node_modules is not; `npm install` restores it for rebuilding content. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2.1 KiB
Porting to a remote Foundry server
First install
Stop Foundry, then clone into the data directory:
cd /path/to/foundrydata/Data/systems
git clone https://gitea.timevans.uk/slaguru666/RingBRP.git ringbrp
Start Foundry. The Custodians appears under Game Systems. Create a world with it.
Nothing else is required: packs/ holds the built compendia, and the system has no
runtime dependencies. node_modules/ is deliberately absent and is only needed to
rebuild content.
Updating a deployed server
# STOP Foundry first if the update touches packs/ — LevelDB will not tolerate its
# files changing underneath a running server.
cd /path/to/foundrydata/Data/systems/ringbrp
git pull
Then start Foundry. Existing worlds keep their actors and items; compendium content is replaced by the pull.
Rebuilding content on the server (optional)
Only if you intend to edit the catalogue there:
npm install # classic-level, for writing LevelDB
npm run check # the three guards
npm run build # rebuilds packs/
node tools/make-icons.mjs # redraws all icons
node tools/make-dice-textures.mjs # regenerates the Dice So Nice textures
npm run build runs the guards first and aborts if any fails, so a broken catalogue
cannot be written into the packs.
Manifest URL
For Foundry's Install System → Manifest URL:
https://gitea.timevans.uk/slaguru666/RingBRP/raw/branch/main/system.json
If the repository is private, Foundry cannot fetch that URL — clone over SSH or an access token instead, or make the repo public.
Version bumps
system.json carries version. Foundry only offers an update when that number rises,
so bump it before pushing anything a remote server should pick up.
Health check after deploying
Open any character sheet. If labels read as raw keys (RINGBRP.Sheet.Style rather
than "Marksmanship"), the localisation file failed to load — run
node tools/check-lang.mjs, which exists precisely because one bad key silently
un-localises the entire system with no error a user would connect to the cause.