Files
RingBRP/docs/DEPLOY.md
T
slaguru666andClaude Opus 5 ab619f4b73 Remove the dice textures and the whole Dice So Nice path
Deleted: the seven PNGs in dice/, tools/make-dice-textures.mjs, the `npm run
dice` script, the RB_DICE colourset and texture tables, diceSetFor, the
diceSoNiceReady hook, and rbDressDice — which was tagging ten roll sites with
coloursets that no longer existed. 99 lines of module, plus the assets.
README and DEPLOY updated; they still advertised all of it.

Recoverable with `git revert` if it is ever wanted back.

This also explains the 01-that-was-12. The RESULT was never wrong: skillRoll
rolls one 1d100 and grades on roll.total, and the chat card derives the tens and
units it prints from that same total. Checked all 100 values of percentileFaces
and 60 live rolls — the printed faces reconstruct the graded number every time,
with no mismatches.

What disagreed was the ANIMATION. The custom addDicePreset labels registered for
d100 and d10 remapped which physical face means what, so Dice So Nice could land
showing 01 while the roll behind it was 12. Nothing downstream ever read the
animated faces, so no roll was ever adjudicated on the wrong number — but a
table watching the dice had every reason to believe otherwise, which is its own
kind of wrong. Disabling the skins in 1.0.6 already removed it; deleting them
makes it permanent.

Verified in a running Foundry after removal: skill roll, weapon damage, hit
location, major wound and Coherence all resolve and post their cards, no errors,
and game.ringbrp.diceSetFor is gone from the API.

Version 1.0.7.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 22:45:52 +01:00

66 lines
2.0 KiB
Markdown

# Porting to a remote Foundry server
## First install
Stop Foundry, then clone into the data directory:
```bash
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
```bash
# 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:
```bash
npm install # classic-level, for writing LevelDB
npm run check # the five guards
npm run build # rebuilds packs/
node tools/make-icons.mjs # redraws all icons
```
`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.