Validation & Export
Before deploying your changes, the Mod Editor validates all your data and lets you preview exactly what will be exported. This catches common errors before they reach the server.
Quest Validation
Every quest is checked in real-time against the server's reference data (item, entity, and block IDs from your /ksdev export). The validator checks:
Objective Validation
- Entity targets (for
killsobjectives) must be valid entity IDs - Block targets (for
blocks_mined,blocks_chopped,blocks_dug,blocks_placed,blocks_harvested,flowers_picked) must be valid block IDs - Item targets (for
items_collected,items_crafted) must be valid item IDs - Count must be greater than zero
- Wildcard patterns (e.g.
Zombie_*) must match at least one ID
Special targets like any, any_mob, any_animal, any_hostile, any_passive, any_npc are always valid. Property targets starting with @ (e.g. @consumable) are also accepted.
Reward Validation
- Item reward IDs must be valid items
- Icon item IDs are checked with a warning severity (non-blocking)
Structural Checks
- Every quest must have an ID
- At least one objective is recommended (warning if missing)
Validation only runs when reference data is loaded. If you have not imported a /ksdev export, target validation is skipped.
Cross-Reference Validation
Cross-reference validation checks relationships between different config types. It catches orphan references and missing targets across your entire configuration:
| Check | What it validates |
|---|---|
| Pool references | Every quest_id in daily/weekly pools must exist as a quest |
| Chapter quests | Every quest ID in a chapter must exist |
| Chapter rewards | Item and lootbag reward IDs must be valid |
| NPC quest profiles | Every questId in an NPC profile must exist as a quest |
| NPC prerequisites | Quest prerequisite IDs referenced in NPC entries must exist |
| Achievement items | Icon items and reward items must be valid |
| Achievement lootbags | Lootbag references in reward commands must exist |
| Quest prerequisites | Every prerequisite quest ID must exist |
| Quest reward lootbags | Lootbag IDs in quest rewards must exist |
| Shop items | Every item ID in the shop must be valid |
| Lootbag items | Every item in a lootbag (items, pool, guaranteedItems) must be valid |
| Quest Pack consistency | Chapter quests must exist in the pack, NPC quests must exist, and no duplicate IDs across packs |
Severity Levels
| Level | Meaning |
|---|---|
| Error | Must be fixed -- will cause server issues (red) |
| Warning | Should be reviewed -- may indicate a problem (yellow) |
Export Preview (Diff View)
Before downloading, the export preview shows exactly what files will be created. Click Export in the top toolbar to open the Diff View modal.
Summary Bar
At the top you see aggregate counts:
- Files -- total number of files in the export
- New -- entries you created from scratch
- Modified -- base entries you changed
- Disabled -- base entries you turned off
File List
Each file that will be included in the ZIP is listed with:
- File path -- where it goes on the server (e.g.
kyuubisoft_questbook/custom/custom_quests.json) - Badges --
+N new,~N mod,-N disabled - Expandable preview -- click to see the full JSON content that will be written
Use Expand all / Collapse all to quickly review or hide all previews.
The preview shows the exact JSON the server will read. This is your last chance to catch issues before deploying.
ZIP Export
The export generates a ZIP file containing only files that changed. Unchanged base configs are never included.
Output Structure
The ZIP contains three top-level folders matching the server mods: kyuubisoft_questbook/, kyuubisoft_achievements/, and kyuubisoft_core/. Each has a custom/ subfolder for override files. Only files with actual changes are included.
How Merging Works
Custom files override base entries by ID. Pool entries are appended. Locale keys override base translations. NPC profiles are auto-loaded. Disabled entries are listed in disabled_base_ids arrays.
Base configs reset on every server update. Custom files in custom/ are never overwritten -- your changes are always safe.
Deploying to Server
- Click Export and review the Diff View
- Click Export ZIP to download
- Extract the ZIP into your server's mod data directories:
kyuubisoft_questbook/files go into the quest mod's data folderkyuubisoft_achievements/files go into the achievement mod's data folderkyuubisoft_core/files go into the core mod's data folder
- Restart your server
The server automatically merges custom files with base configs on startup.