Optional CHIM integrations for third-party Skyrim mods.
This package is split into two pieces:
- HerikaServer plugin files in this folder. These install into
HerikaServer/ext/CHIM-Custom. - Skyrim SKSE plugin source under
SkyrimPlugin/. This buildsCHIMCustom.dll.
Supported integrations:
- Dirt and Blood - Dynamic Visual Effects: player dirt, blood, clean, and washing state.
- Bathing in Skyrim - Renewed: player dirtiness tier, bathing, and soapy state.
- SunHelm Survival: player hunger, thirst, exhaustion, and cold state.
- Starfrost - A Survival Overhaul: player hunger, exhaustion, and cold state through Starfrost and Survival Mode Improved.
All integrations are optional. If a supported mod is not loaded, CHIMCustom.dll silently skips that integration.
CHIMCustom.dllloads in SKSE.- It reads CHIM server connection settings from
Data/SKSE/Plugins/CHIMCustom.ini. - It polls the server plugin config endpoint.
- If a supported mod is loaded, it checks the relevant player spells/globals.
- It posts compact visible-state JSON to
ext/CHIM-Custom/api/state.php. - The HerikaServer plugin stores the state.
context_pre.phpregisters current-character cleanliness and survival state into focused prompt blocks.globals.phpregisters nearby actor profile enrichers so the same state can appear beside equipment/activity details in<nearby_actors>.
State is prompt-only by default. It is not written into event history.
CHIM creates a shared plugins PostgreSQL schema for server plugins. CHIM-Custom stores its tables under that schema using plugin-prefixed names, such as plugins.chim_custom_integrations. Future server plugin migrations should follow the same pattern and avoid creating plugin-owned tables in public.
Embed the server extension into the normal Skyrim mod package:
.\scripts\build-dwpkg.ps1The generated file is placed at SkyrimPlugin/package/CHIM/server-plugins/CHIM-Custom/<version>.dwpkg. CHIM detects it when a save loads and transfers it to HerikaServer automatically. The generated DLL and .dwpkg remain local release artifacts and are not committed to pull requests.
After building CHIMCustom.dll, create the complete user-facing release archive with:
.\scripts\build-release.ps1This stages the game files, generates the matching server package, and writes release/CHIM - Custom.zip without modifying the source package directory.
Server plugin release:
Package only the HerikaServer plugin files into a top-level CHIM-Custom/ folder, then upload it as CHIM-Custom.tar.gz. The server plugin installer extracts this archive into HerikaServer/ext/CHIM-Custom.
Required server archive contents:
CHIM-Custom/api/
CHIM-Custom/lib/
CHIM-Custom/migrations/
CHIM-Custom/context_pre.php
CHIM-Custom/globals.php
CHIM-Custom/index.php
CHIM-Custom/manifest.json
CHIM-Custom/README.md
Skyrim plugin release should include:
SKSE/Plugins/CHIMCustom.dll
SKSE/Plugins/CHIMCustom.ini
CHIM/server-plugins/CHIM-Custom/<version>.dwpkg
Upload the Skyrim package as CHIM - Custom.zip.