Releases: EthanTheBrave/Dwarfipelago
Release list
Dwarfipelago 1.3.2 Release Notes
Improvements
- Shop Verbiage and Spacing: Changed "Coffer" to "AP Coffer" to make it a little clearer (this tab and the shop will be reworked a bit, come 1.4)
Fixes
- Depot Spawning (again again again again again): Latest "fix" allowed it to spawn over air again.
- AP Treasury Wealth Info: Re-added the AP treasury wealth counter to the AP panel by making a dedicated "Goal" tab for tracking goal related needs. This will be iterated on as we go
Upgrade Notes
- Update the mod and the apworld together to 1.3.2 - versions are match-checked, but 1.3.2 is compatible with your 1.3 or 1.3.1 DF AP runs
- Regeneration is NOT required: the location and item set did not change, so existing seeds are compatible with this patch release
Dwarfipelago v1.3.1 Release Notes
Improvements
- Completed Location Check Validation: Implemented a validation check for all checks the AP client has sent, and what the AP server has actually received. This is triggered on a reconnect to the AP server. (implemented to help curb the potential problem that was seen with a charcoal check being missed)
Fixes
- Craftsanity Craft Count Overlay: Certain crafted items would not show the */15 counter when not playing with materials enabled.
- Room Value Detection: Room value and quality level was not being detected properly for bedrooms, dining halls, quarters, and tombs.
Upgrade Notes
- Update the mod and the apworld together to 1.3.1 - versions are match-checked, but your running DF seed will now support compatible versions
- Regeneration is NOT required: the location and item set did not change, so existing seeds are compatible with this patch release
Dwarfipelago v1.3.0 Release Notes
New Features
Custom Caves
Carved into the solid rock between your cavern layers, invisible on the map until a dwarf walks into one.
- Up to six pockets carved at world gen (two per inter-cavern gap), shaped as organic ovals and stocked with real DF items at generation time
- Treasure caves & Trap caves
- Cave Map Fragment items reveal the next cave's location - a coordinate hint for treasure caves, a directional warning for trap caves
- Two always-present secret caves: Not sure when these were implimented... We've heard that one is close to the surface and the other is a deep loss to the fort...
Room, Temple & Guildhall Milestones
Full set of fortress building/zone milestones.
- Each room type designated (bedroom, office, dining hall, tomb)
- Per-room quality tiers - Decent, Fine, Great, Grand, Royal for each room type
- Temple tiers (Shrine, Temple, Temple Complex) and guildhall tiers (Guildhall, Grand Guildhall), read from DF's own location value/tier
- All of it surfaced on a new Rooms section in the panel's Progress tab
Dwarfsanity Goal
A new win condition: collect every workshop blueprint and every crafting permit in the pool (requires Crafting Permits enabled).
Craftsanity for Every Item + In-Workshop Overlay
- Craftsanity expanded to cover (nearly) every craftable item, with a permits-for-all mode and many new item types (metal crafter goods, full clothing and footwear coverage, and more)
- A Craftsanity overlay marks the workshop task list and work-order picker so you can see at a glance which crafts still owe a check
Skillsanity: Combat Skills
Combat skills are now Skillsanity checks alongside labor skills, with a Skills tab display and their own combat skill-group / selection options.
Re-embark Recovery
Lose a fort and start a new one on the same slot without losing progress.
- Previously received items are re-delivered to the new fort's depot
- Delivery is throttled (~100 items per poll) so a large history can't flood the game, and resumes cleanly if interrupted mid-recovery
- Migrants arrive as one consolidated wave, and incoming traps are skipped so a fresh fort isn't immediately overrun
Reworked Traps
Flavorless "nothing" traps replaced with ones that actually do something.
- Goblin Saboteurs - goblins slip in and wreck a workshop. What were they looking for?
- Ensnaring Webs - every citizen is caught in cave-spider webbing. Dwarf is Stuck!
- Unquenchable Thirst - the whole fort is struck by a powerful thirst and rushes to drink. Working up a pretty mighty thirst...
- Order Sabotage - every current manager work order is wiped. Surely, you remember what you had queued?
Exclude Difficult Checks
Three new YAML toggles that keep progression items out of the hardest end-game checks (they hold filler only), so no partner's run is gated behind a Dwarf Fortress milestone you may never reach.
exclude_deep_endgame_checks- Reached the Magma Sea, Welcome to the Circus, Mined Adamantineexclude_top_room_checks- the Grand/Royal room tiers, Temple Complex, Grand Guildhallexclude_top_fortress_checks- City & Metropolis Established, Duke Appointed, Monarch Takes Residence
Additional Items & Tools
- Raw Adamantine (pre-smelting boulder) received items and adamantine detection for the Mined Adamantine check
- Stone Slab filler item - blank memorial slabs to engrave and build, laying ghosts to rest when caskets are permit-locked
Improvements
- Themed sieges (Slay Megabeast): roaming warbands are now coherent per-civilisation sieges - goblin, human, elf, or night-creature hosts - that ramp toward real siege scale with a crossbow contingent, monster escorts, and an elite commander.
- Defense-aware siege scaling: wave size now scales (capped at 2×) with your fort's defenses - trap density and standing-army size - so a turtled fort still gets a real fight.
- Merchant's Shop options: added an on/off toggle and a shop price multiplier, and shop prices are now banded by Merchant's Coffer tier (ceiling raised to 100k).
- Legendary Wealth goal now tracks lifetime coins minted + gems cut (a stable running total) instead of a live treasury scan that dropped when you spent.
- Panel expansion: infrastructure, biology, endgame, military, titles, and per-room quality readouts; a Permits tab and a Caves tab; a wider layout and larger shop-name field.
- Room milestones cascade on a tier jump - building straight to a high tier now also fires the lower ones (the Shrine check is monotonic with Temple / Temple Complex).
- Performance Improvements: This might have just been a Kicka issue. If anyone encounters any performance issues, PLEASE notify Kicka or post an issue on Github
- Docs: README restructured into four top-level groups; Skillsanity, Merchant's Shop, Progressive Mining Depth, and definitive per-goal completion requirements all documented.
Fixes
- DeathLink never sending: citizen deaths are now counted via a
was_citizen()helper -isCitizen()returns false for dead units. - Mined Adamantine false-fired on receiving the adamantine Artifact Weapon, Artifact Armor, or Master Builder's Codex - those no longer count as mining adamantine.
- Persistent-storage pollution: craft counts are now stored only for items that actually have a craftsanity check this seed.
military_trainingunlock max corrected (4 to 10) so the Unlocks panel shows the right total.- Gem treasury value, magma-sea breach detection, and the cavern mining buffer (+2 z-levels) corrected.
- Trade depot no longer clears your starting items when a placement candidate fails.
- Glass liquid containers are gated behind glass, and ceramic craft work orders are now counted.
- Assorted craftsanity / skillsanity logic-rule fixes
Upgrade Notes
- Update the mod and the apworld together to 1.3 - versions are match-checked.
- Regeneration is required: the location and item set changed (room/cave/skill checks, new options), so existing seeds are not compatible.
Dwarfipelago v1.2.0 Release Notes
New Features
New Dwarfipelago logo
A brand new logo designed by jjjj12212 has been introduced
- The [AP] button in the top left has been moved to the bottom of the screen, using this logo
- Logo has also been added to the APworld client icon
Merchant's Shop
A full in-game shop system powered by minted coins. Spend coins to buy AP items directly inside your fortress.
- Shop slots are gated by Merchant's Coffers - 10 slots unlock per coffer received (up to 50 slots across 5 coffers)
- The shop requires a Merchant Shrine to be active - a temple zone with a designated altar, coffer box, and bars
- Players can choose their shrine bar material in the Shop tab: Gold (5 bars), Silver (10 bars), or Coke (20 bars)
- Shop slots display item name, destination player, price, and buy status (BUY / SOLD / PENDING / LOCKED / need coins)
- The Shop tab is always visible in the panel so shrine status is shown before the AP client connects
- Shop is gated in AP logic behind the ability to mint coins (metal-smelting or Coins Permit depending on options)
Slay Megabeast Goal
A full war campaign added as a playable goal. Build up military readiness and summon a Megabeast to fight.
- Player summons the beast from the War tab in the panel - it is not auto-spawned
- Wave scheduler: siege waves arrive every 2-4 months leading up to the climax
- Warband spawner: enemy warbands spawn with curated gear appropriate to difficulty
- Breach climax: the megabeast arrives as a destructive and foreboding foe
- Ramping rewards: end game gear, bonus rewards, and a special commander for any and all threats
- War Effort section added to the panel with readiness status
- Megabeast goal now flagged as Hard in options; Population Boom flagged as Unstable
- Legendary Wealth is now the default goal
Skillsanity
Dwarves leveling their skills are AP location checks.
- Complete runtime detection and check firing for all skill advancement
- Configurable skill groups (Easy / Medium / All / Choose), max level cap, and incoming-dwarf level mechanic
- Skills tab added to the panel showing your progress toward each skill level threshold
- Crafting Permits now validates against Skillsanity or Craftsanity location counts
Progressive Mining Depth
Mining depth gating replaced with cavern-progress checks.
- Delve-depth checks retired in favour of tracking cavern breaches (First Cavern → Second Cavern → Third Cavern → Magma Sea → The Circus)
- Cavern checks chain in strict depth order in AP logic
DFHack Build Menu & Workshop Overlays
Two new overlays provide real-time visual feedback without leaving the game.
- Blueprint overlay: the Build menu reds out any workshop or furnace you haven't received the blueprint for yet
- Permit overlay: workshop and furnace task lists red out crafts locked behind a Crafting Permit you haven't received, showing a
[Requires X Permit]note - matching DF's own locked-item style - Both overlays fire on Workshop, Furnace, and Work Orders screens
Fixes
Production & Check Counting
- First Gem Cut now fires for cut glass (not only cut stone gems)
- Metal craft counts, First Trap Built, and First Mechanism Made fixed
- Coke now counted with the correct reaction names (
*_TO_COKE) - Traction benches counted from their produced item (not job type)
- Clay/ceramic Kiln crafts (bricks, jugs, pots, hives, statues) now counted correctly
- First Bed Made gated on Carpenter's Workshop Blueprint
- Sold an Artifact location now properly gated in AP logic
- Screw Press and Soap Maker's Workshop blueprints now properly block construction — both were silently ungated because they moved to
df.workshop_type.Customin this DF version and were no longer in the hardcoded workshop enum
Megabeast / Military
- Training Completed no longer fires on fortress load from dwarf embark skills
- Barracks / Training checks gated on metal-making ability
- Megabeast spawn guaranteed (whoops this was broken this whole time...)
Dwarf Names
- Spawned dwarves now receive a proper first name drawn from the Dwarven language translation table, displayed without quotes
- Spawned dwarves now display Dwarfipelago as their surname so AP-sent dwarves are identifiable at a glance
Logic / Rules
Sold an Artifactungated rule fixed- Bone-based logic corrected
- Ambusher skill requires crossbows and bolts in logic
- Wrong variable in Skillsanity options corrected
- RotGK (Remains of the Great King) maximum count fix
World Generation
- World gen preset rewritten and moved to AP client
/dfinstallcommand for cleaner install flow
Dwarfipelago v1.1.2
Fixes
- DF v50 check detection: several checks relied on job_type/field names that no longer exist on DFHack 53.14 (DF v50), so they silently never fired:
- Brewing and tanning are
CustomReactions, not job types — now detected by reaction name, fixing First Brew Complete, First Leather Tanned, and the three Crafting Leather checks. - First Trap Built now matches the actual cage/stone/weapon trap-arming jobs instead of a non-existent
ConstructTraptype. - Pumped Water/Magma compared against the wrong enum value and could never register Water; fixed, and hand-cranked pumps are no longer excluded.
- Sold an Artifact now also handles DF v50's
itempointer (previously onlyitem_id). - First Eggs Hatched disabled for now — no reliable hatch signal exists on v50.
- Brewing and tanning are
- Sold an Artifact false-fired on world load: the check scanned every historical artifact in the world instead of just ones present in your fort, so it could trip the instant a save loaded. Now tracks only artifacts actually present in your fort and fires when one of those goes missing.
- Sold an Artifact false-fired on raids: sending a squad out with an artifact equipped registered as a "sale" once they returned. Now only fires when an artifact is confirmed trader-owned and then departs — raids, theft, and destruction no longer count.
- Treasury wealth undercounted stockpiled valuables: coins and gems stored in bins, bags, or coffers were excluded by an overly broad "in inventory" check. They now count toward treasury wealth.
- Craftsanity rule fixes: corrected crafting-permit/material logic for the "Crafts" item category (wood/stone, glass, and metal crafts were sharing one incorrect rule).
- World gen preset: rewritten with the complete parameter set; the previous preset was missing parameters.
Improvements
- Milestone ladder prerequisites: tiered milestones (mining depth, mining tiles, farming, and the cavern ladder) now require the previous tier to be reachable first, so logic can no longer hand out a high tier before earlier ones.
- Options page reorganized: the WebHost options/YAML page now groups settings into collapsible sections (Goal Settings, Death Link, Craftsanity, Item & Location Options), leaving only the high-level options on the main page. Verified via a full local generation run with differing per-slot craftsanity/permit settings that the DataPackage checksum stays stable.
Other
- Added two hidden commands
Dwarfipelago 1.1.1-beta
THIS IS A QUICK PATCH VERSION FOR 1.1.0
Fixes in 1.1.1
- Datapackage changed so the generated worlds can be hosted on archipelago.gg and any machine that did not generate it directly.
- Logic issues with the permits.
- Sold an artifact check fixed, but will forever fire. [Current issue]
- Expedition check fixes.
- All leather jobs were mislabeled
- First brew finally works again.... Matched the same job call for counting alcohol brews.
- Pump checks should work now.
- Fixed world gen txt file.
QUICK NOTE:
If you choose to do crafting permits, you either need to have craftsanity set to hard, enable materials, or increase the number of total items to create for the final check.
Upgrade notes
- Update the mod and apworld together to 1.1.1 (version match enforced).
- Regeneration required because of the datapackage reworks
Dwarfipelago 1.1.0-beta
This release adds Energy Link, a new victory goal, an opt-in Crafting Permits system, a big batch of new location checks, and a redesigned status panel — on top of the craftsanity rule overhaul and a round of fixes.
New: Energy Link
Trade your fortress's surplus into the multiworld's shared energy pool and spend it when you need a hand.
- New
energy_linkoption (toggle). - Deposit ale, food, or coins for energy.
deposit-coinsnow takes a specific ☼ value instead of dumping your whole treasury. - Spend energy to call a caravan early in the season; the AP caravan then arrives and leaves on its own schedule like a normal one (no anchoring/dismiss hacks).
- New Energy tab in the panel showing the pool in decimal MJ and raw kJ.
- Deposit rates rebalanced (ale 100 kJ, food 50 kJ per deposit; coins 1 kJ per ☼ value).
New goal: Remains of the Great King
- New goal option
king_remains, with aremains_great_kingrange (5–100, default 10). - "Kobolds and goblins plundered our halls and scattered the remains of our great king" — recover all the shuffled remains to win. Higher counts may require craftsanity to have enough item sources.
New: Crafting Permits (opt-in)
- New
craftpermitsoption:off/on/all. Requires craftsanity (adds 97 permit items). onstarts you with permits for Beds, Charcoal, Leather, Cloth, Alcohol, and Prepared Meal; everything else must be unlocked.allgates every permitted item. Enforced in-game — jobs for items you lack a permit for are cancelled with a one-time notice.
New location checks
- Caravans & diplomacy: Dwarven / Elven / Human Caravan Visit, Outpost Liaison Meeting, First Raid, First Artifact Recovery, First Act of Diplomacy. (Replaces the old "First Trade Completed" / "First Export" checks. They never worked right anyway)
- Infrastructure: Built a Well, Pumped Water, Pumped Magma.
- Biology: First Eggs Hatched, Caged a Hostile Beast (now any hostile/enemy unit).
- Endgame: Mined Adamantine, Sold an Artifact, and "Welcome to the Circus."
Craftsanity & rules overhaul
- Crafting items are now full AP items with proper rules — rules require the actual items, not the intermediate steps to make them.
- Fixed work-order craft counting and implemented crafting item locks.
- Removed the old complex/standalone single-material rules that are no longer needed.
- Craftsanity locations are skipped entirely when craft-item creation is disabled.
Panel & UX
- New Crafts and Energy tabs; Status panel improvements for parity with the client.
- Zoom-to-location announcements for AP alerts.
- Panel only shows progression items that actually exist in the current AP world.
- Cleaner announcements (
fmt_energy, fixed adamantine color, removed redundant prints).
World gen & balance
- Added a world-gen preset plus a startup civilization-diversity check.
- Harvest milestones lowered to 50 / 100 / 250 / 500 / 1,000 (from 50/250/1000/2500/5000).
Fixes
- Merchant's Coffers no longer limit coin minting or gem cutting unless your goal is Legendary Wealth. Under every other goal the wealth tiers don't exist, so minting and cutting are never blocked.
- Vermins....
- Adamantine detection excludes DOOR items; world-aware diamond/"sun" token lookup with fallback variants.
- Use
exported_wealth()/ corrected DFHack data paths for trade-export and mission checks on DF50. - Fixed precollected item names and various in-game alert text.
Upgrade notes
- Update the mod and apworld together to 1.1.0 (version match enforced).
- Regeneration required!!!
Dwarfipelago 1.0.5
Release Notes
A bug-fix and quality release for fortress milestones, immigration, caravans, and progression rewards.
Fixed
- Fortress titles never triggered -
plotinfo.tasks.wealthis a struct on DF50, so fortress wealth read as 0, silently blocking every title check (Hamlet → Metropolis). Now reads correctly. - Immigration Wave brought no dwarves -
force Migrantsreported success but often delivered nobody. It now adds 2–5 citizen dwarves directly, at the depot. - Caravan-visit soft-lock - if the world has no elf/human civ, that "Caravan Visit" check is auto-satisfied so the multiworld stays solvable.
- Vermin trap works in worlds without
GIANT_RAT(scans for any rodent token).
Added / Changed
- Progression rewards now grant real items: Artifact Weapon → adamantine battle axe; Artifact Armor → full adamantine set; Master Builder's Codex → a genuine, indestructible artifact adamantine door (with an in-game hint to raise the build Max-Quality filter to Artifact to place it).
- Immigration migrants arrive named (not "Peasant") and with a cloth outfit at the depot.
- Test tooling:
dwarfipelago test caravan [dwarf|elf|human|goblin];test spawndefault token fixed. - All received goods deliver to the trade depot.
Upgrade notes
- Update the mod and apworld together to 1.0.5 (version match enforced).
- No regeneration required — no location/item ids changed; existing seeds stay compatible.
Dwarfipelago 1.0.4-alpha
Release Notes
Highlights
- Craftsanity material checks and Manager work-order crafts now count correctly.
- Craft location IDs are now computed deterministically (no more collisions/instability).
- DeathLink actually works now. (I think)
- Trap creatures spawn as real, hostile, save-stable creatures.
- A much more useful filler/reward table.
Fixed
- Craftsanity materials: material-specific crafting checks now count for every material type (wood, stone, glass, leather, cloth, bone, ceramic). Previously beds counted but wooden/stone tables didn't. Covers correct material detection via the item token, the job's
material_category, generic "any stone" jobs, and reading the material off the job's input items. - Manager work orders: crafts completed through work orders are now counted (the completion hook never fired for those before).
- Craft location ID collisions: a wooden-table check could trigger a stone-table check. Craft IDs are now derived from a stable formula, eliminating collisions and run-to-run drift.
- DeathLink: the client now registers the DeathLink tag and exchanges deaths with the server; it was effectively never enabled before. Properly gated on the option.
- Creature spawns: trap creatures (Goblin Ambush, Cave Bear Incursion, Vermin Infestation) now spawn via the DFHack units API instead of the broken
create-unitscript - they appear, are hostile, and survive save/reload. Uses valid creature tokens with fallbacks (e.g. Blind Cave Bear).
Added
- Useful filler items: Flux Stone, Pig Iron Bar, Charcoal, Cloth Bolt, Tanned Leather, plus a weighted-priority system so useful materials dominate the pool and flavor trinkets are rare.
- Low-grade copper tools/gear: Copper Pick, Copper Axe, Copper Short Sword - rare recovery items.
- Bag of Sand: real bags of sand the glass furnace accepts.
- Raw Clay: kaolinite/fire-clay boulders (kaolinite is usable for porcelain).
dwarfipelago test <name>diagnostics:spawn,find,goblin,cavebear,vermin,spider,megabeast,migrants.
Changed
- Panel: refactored into a tabbed UI with a dynamic unlock list.
dwarfipelago statusnow reports dynamic craft counts (including material-split keys) and progression unlocks;resetclears them too.- All received goods now deliver to the trade depot.
- Internal: the craft-location DataPackage is now a static, complete registry with the per-slot subset built at region creation.
Upgrade notes
- Regenerate your multiworld. Craft location IDs changed with the deterministic registry, so 1.0.3 seeds are not compatible.
- Update mod and apworld together to 1.0.4 - the client enforces matching versions.
1.0.3
Dwarfipelago 1.0.3
Two new sanity systems (mining and farming), broad compatibility fixes for current DFHack builds, a more reliable item-spawning layer, and connection-stability work.
New Features
- Mining milestones (new location checks):
- Depth - Delved 10 / 25 / 50 / 75 / 100 Levels Deep, measured below your embark surface.
- Tiles excavated - Excavator I–V at 100 / 500 / 2,000 / 5,000 / 10,000 tiles.
- Breach events - First / Second / Third Cavern Breached and Reached the Magma Sea, detected live from each world's map features (no hardcoded depths) and announced the moment you break through.
- Farming milestones (new location checks): Harvest 50 / 250 / 1,000 / 2,500 / 5,000 crops, counted from harvested PLANT items.
dwarfipelago statusexpanded - now also reports blocks dug, depth below surface, caverns/magma breached, crops harvested, and the list of blueprints received (N/31)./dfdebugclient command - toggles verbose diagnostics (craft counts, item delivery, index restore) in the AP client. Off by default for clean logs during normal play.dwarfipelago resetseedconsole command - clears the stored AP world identity so an existing fortress can join a freshly generated slot without the "save does not match this slot" rejection. Lets you reuse a test world across regenerations.- More actionable client logging -
run_commandfailures now log the exact command and arguments that failed.
Bug Fixes
- Craftsanity intermediate checks now register. Dynamic craft-location IDs are now authoritative, fixing a mismatch where the client checked an ID the server never created - previously only each item's Final check landed while Check 1, 2, etc. were silently dropped.
- Alcohol and other reaction-based craft checks now count. The reaction-flag table was keyed incorrectly (effectively empty) and vanilla brewing wasn't mapped at all. Fixes Alcohol, Coke Bars, Pearlash, Gypsum Plaster, Quicklime, Sheet, Milk of Lime, Oil, Honey, Tallow, and Soap.
- Megabeast goal works on current DFHack - the target is summoned via the game's
forcesystem instead of the brokencreate-unitscript. - Immigration Waves bring real migrants - triggered through the game's own migration system (
force) instead of failing oncreate-unit. - Combat traps no longer no-op - Goblin Ambush, Cave Bear Incursion, and Vermin Infestation attempt their creature spawn and, where
create-unitis unavailable, fall back to themed effects (raid-fear panic, a mauling, and devoured food/drink stores). - Item spawning is self-checking -
spawn_itemreadscreateitem's output, reports the exact failing material to the log, and returns a success count so fallbacks actually trigger. - Cut Diamond now spawns (
CLEAR_DIAMOND, not the nonexistentDIAMOND). - Fine Cloth now spawns (valid pig-tail thread material; the old token was invalid).
- Tantrum Trigger and megabeast announcements no longer error on newer DFHack - name lookups use
getReadableNameinstead of the removeddfhack.TranslateName. - Starting blueprints are no longer duplicated - items granted via
start_inventoryare excluded from the pool, so you won't be sent a blueprint you already started with. - Connection stability - DFHack socket access is serialized so concurrent calls can't cross replies and desync the stream (
BindMethod failed: reply_id=…);disconnect()is lock-guarded to prevent theWinError 10038socket race; and an unexpected reply now resets the connection cleanly instead of hanging. - Craftsanity robustness - explicit "loaded" gate instead of a fragile length check, plus a divide-by-zero guard on the threshold.
Balance / Content Gating
- Noble-ladder checks are mountainhome-only. Baron / Count / Duke Appointed and Monarch Takes Residence are gated behind charter items that only exist for the mountainhome goal, so on other goals they were uncompletable dead locations and are now removed. Mayor Elected and the fortress titles remain on all goals.
- Military Training war-gear tiers trimmed of a redundant steel-bar fallback.
Compatibility
- Mod numeric version bumped to 4; apworld, mod manifest, and Lua runtime all report 1.0.3 (they must match).
- This release adds and removes location checks (mining, farming, noble gating, start-inventory), so existing seeds must be regenerated with the 1.0.3 apworld. To keep a test fortress, run
dwarfipelago resetseedafter regenerating. - Requires Archipelago 0.6.7 and DFHack (DF Steam 2022+ or Classic).