Confirm with your password

FireFront

Fire that actually spreads: structure to structure, into the trees, and crawling across open ground. Wind-driven, rain-doused, stopped by dirt paths and water. Real drops, burn scars, tree regrowth, and fires that remember who lit them.

Client & Server Mechanics World Generation

· Website

Stars
0
Downloads
10
Version
0.18.4
Updated
Author
RavenIronStudios
Virus scan
✓ Scan successful
Runs on
Client & Server
Required by
1 mods

Images

Description

🔥 FireFront — Tester Build v0.18.2

Fire that actually spreads. Torch a wall and it can take the whole build with it, jump to the treeline, and crawl across open ground to get there — not just "this one piece is on fire," an actual moving front.

Requires: BepInEx (you already have this if you're testing Valheim mods)

Install: drop FireFront.dll into BepInEx/plugins/, launch, done. No config needed to just play — everything below is for people who want to poke at it. On a dedicated server, the server needs the dll too (it runs the actual fire; your client just shows it to you).

What it does • Structures, standing trees, and felled logs can all catch fire and burn down for real — with real drops (trees fell via vanilla's own felling and leave logs, logs leave wood) • Fire spreads to nearby burnable stuff, structure-to-structure, tree-to-tree, or structure-to-tree • Big fix in 0.17.4: forest spread now actually works on dedicated servers. It turns out tree-to-tree and ground-to-tree spread had never worked on a dedicated server (fine in single-player) — the server literally couldn't see trees. If you tested on a server before and thought fire seemed weirdly tame, that was this. Burn a forest and see the difference. • Fire also spreads across open ground/grass between things too far apart to ignite each other directly — you can see it crawling through grass as small ember flickers • Standing in fire hurts, players and mobs alike — same mechanism vanilla campfires use • New: fire follows the wind. The front stretches downwind and thins out upwind, using the game's real wind — and how hard it's blowing matters now too. A gale drives a long narrow tongue of fire; a calm day burns in a lazy, even circle. Watch a fire when the weather turns. • Fires start small and ramp up over ~10 minutes instead of instantly raging • Rain douses grass fire (an already-burning building keeps going) • Burned ground is spent — it can't relight for ~90s, so the front advances instead of churning in place, and it leaves burn scars behind • Dirt paths and cultivated ground are real firebreaks; water stops spread too. This protects your base more than you'd expect: the leveled/pathed ground most bases sit on counts as fuel-free, so a wildfire will burn right up to the edge of your yard and stall there — your walls only catch if fire starts inside the perimeter (or you clear less ground). If it looks like "fire can't touch my buildings," it's actually your groundwork doing its job — keep a tended break around your base and it genuinely works, exactly like real firefighting • Ground fire won't wander more than ~40m from where the fire started • Burned trees regrow after ~15 minutes if the spot's still clear • Press G to extinguish what you're looking at plus all fire around you — ground fire and burning structures/trees • New in 0.17.5: the Dousing Bomb. A throwable that puts fire OUT — everything within ~6m of where it lands, grass fire and burning buildings/trees alike. Hand-craftable anywhere, cheap on purpose: 3 Resin + 2 Leather scraps makes 3 bombs. (It borrows the ooze bomb's look for now — yes, the fire extinguisher is green. Art later, function first.) Fight a fire for real instead of just G-spamming next to it. • Better in 0.18.4: dousing sticks. Everything you extinguish is soaked for ~90s and can't re-light, so a line of bombs cuts a real firebreak ahead of the front instead of the fire instantly refilling the hole. Big fires are now genuinely fightable — get ahead of the front and cut it off, like actual wildfire crews do • Fires now remember who lit them — the whole spreading front carries its arsonist, even fire that crawled a long way from the first spark (natural/creature fire belongs to nobody). Nothing visible in-game yet; it feeds a companion mod's reputation system • New in 0.18.0: fires survive server restarts. Burning stuff comes back burning with its remaining time, burned-out ground stays spent, and trees waiting to regrow still regrow — a reboot no longer resets the world's fire state • New in 0.18.2: server owners can make player builds fireproof. fireset burnbuildings false (or the BurnPlayerBuildings config) means fire never ignites anything a player placed — not by spread, not by fire arrows, not by anything — while ruins and world structures still burn. The anti-grief switch, for servers that want wildfires without arson • Everything's config-tunable and adjustable live via console — no restart needed

Heads-up if updating from an older build: update server and client together — a mixed-version pair (0.17.3 with anything older) means clicking ignite from a client silently does nothing.

What to expect / known limits • The fire visual is homemade, not a vanilla asset — it'll look like fire, just not exactly like Valheim's own fire • Default settings are tuned aggressive for testing — expect fire to spread fast and hungrily unless you dial it down yourself

Useful console commands (` key to open console)

firestatus              — see what's currently burning + all current settings
ignite                  — ignite whatever's under your crosshair
startfire [radius]      — ignite everything burnable within radius of you
stopfire                — extinguish whatever's under your crosshair
clearfires              — nuke every active fire instantly
firedebug               — toggle verbose fire logging
fireset <key> <value>   — live-tune settings, no restart needed (applies on the server no matter where you type it)

Full list of tunable fireset keys: burnduration, spreadradius, maxburning, queuesize, spreadinterval, trees, burnbuildings, vfx, procedural, groundenabled, groundcellsize, groundradius, groundburnduration, groundmax, groundvfxmax, grounddamagemax, firehurts, firehurtsplayeronly, firehurtsradius, firedamage, firetickinterval, extinguishradius, douseimmunity, rainsuppress, rainmultiplier, scorchmarks, scorchlifetime, dirtpaint, dirtpaintradius, rampenabled, rampduration, rampstart, exhaustionenabled, fuelregrow, windbias, windupwindchance, windinfluence, dousingradius, persistfires, firebreaks, treeregrowth, treeregrowthseconds, groundleashenabled, groundleashdistance, enabled

Wind ones worth playing with: fireset windinfluence 0 ignores wind entirely (old-style even spread), 1 is full effect (the default). firestatus shows the live wind strength the fire is currently feeling.

There are a few more diagnostic-only commands (firelistprefabs, firecheckprefab, firepurgevfx, firegroundignite, firetreeregrow, firetreeregrowlist) mostly meant for dev-side debugging — ask in here if you're curious what they do.

If something breaks Please grab your LogOutput.log (BepInEx folder) and send it over, especially if you see a wall of red repeating errors. Screenshots of weird spread behavior are also genuinely useful — "this jumped way further than it should have" is easier to diagnose with a picture than a description. For wind specifically: a screenshot of a burn scar plus which way the wind was blowing is exactly the evidence we need.

Thanks for testing — this thing has had a real rough-and-tumble development process (ask if you want the story), so any weirdness you catch now saves everyone a headache later.

Changelog

0.18.4 Latest
  • Dousing now holds — firefighting is winnable. Anything deliberately extinguished (dousing bomb, extinguish key, stopfire) is soaked for DouseImmunitySeconds (default 90s, fireset douseimmunity) and can't re-ignite. Before this, the surrounding fire re-lit every doused cell and object within a cycle or two, so a bomb's cleared hole refilled itself in seconds and a ramped fire was hopeless to fight ("the ramp is too aggressive to fight" — the ramp was fine; the dousing just didn't stick). Now a line of bombs cuts a genuine firebreak ahead of the front. 0 disables.
0.18.3
  • fireset now applies on the server no matter where you type it. Console commands run where they're typed, and every FireFront setting that matters is read by the server's simulation — so a client's fireset used to change its own irrelevant config copy and silently do nothing ("rampstart didn't work", "burnbuildings didn't work"). A client's fireset now also forwards to the server over a new RPC and lands on the server's real config, with the same value parsing and range clamping. The server logs every remote set with the sender's peer id.
0.18.2
  • New config BurnPlayerBuildings (default true) + fireset burnbuildings. Set false for an anti-grief server: fire never ignites anything carrying a placement creator stamp — walls, floors, furniture — by any path (spread, fire arrows, console), while world-generated structures still burn. The wildfire still crawls past a protected base and still hurts anyone standing in it. This is the hard guarantee on top of the terrain firebreak, which already stops spread at leveled/pathed base ground but not deliberate arson.
0.18.1
  • Fixed: fire went invisible for a client that reconnected without relaunching. Valheim creates a fresh routing instance per connection; FireFront registered its network handlers once per process, so a client kicked by a server restart that auto-rejoined got none of the fire broadcasts — the fire burned, invisibly, until the game was fully relaunched. Handlers now re-register whenever the routing instance changes. Receipt-side [SYNC-DIAG] debug traces are kept so this class of silent drop is diagnosable from a single log in future.
0.18.0
  • Fires survive server restarts. Burning objects and ground fire come back with their remaining burn time, spent fuel stays spent, the fire keeps its origin, ramp age, and arsonist, and trees waiting to regrow still regrow. Stored in a small sidecar file next to the world save, written every 60s and on shutdown — a hard kill loses at most the last minute of fire drift. Toggle with fireset persistfires.
0.17.6
  • Fixed a FieldAccessException spamming the main menu from 0.17.5's item registration (a private-in-the-real-assembly ObjectDB field). Registration failures now degrade to "item missing" with one warning, never menu errors.
0.17.5
  • New item: the Dousing Bomb. A throwable that extinguishes everything within ~6m of impact — ground fire and burning structures/trees alike. Hand-craftable: 3 Resin + 2 Leather scraps makes 3. Tune the blast with fireset dousingradius.
  • The extinguish key's radius now also clears burning objects around you, not just ground fire.
0.17.4
  • Forest spread now actually works on dedicated servers. Object-to-object and ground-to-object spread had never worked there — the headless server tracks the world as ZDOs and never instantiates the GameObjects the old candidate scan looked for, so the server literally could not see trees. Spread candidates now come from the ZDO layer, and an instance is created only for objects that actually catch fire.
0.17.3
  • Fires remember who lit them. The spreading front carries its igniter's player id, captured once per fire event from the actual attacker (not the network sender), and reset when the fires die. Natural and creature fire belongs to nobody. This feeds Ragnarok's Wrath's arson attribution.
  • The ignite request RPC was renamed so a mixed-version server/client pair quietly no-ops instead of desyncing — update both sides together.
0.17.2
  • Wind bias now scales with real wind strength. A gale drives a long narrow tongue of fire; dead calm burns evenly in all directions. WindInfluence (0–1, default 1) dials how much weather shapes the front.
  • Public read API (FireManager.CollectActiveFirePositions) for companion mods — Ragnarok's Wrath reads it to scar burning zones.
0.17.0
  • Procedural fire visuals now default on — earlier builds simulated fire fully but rendered nothing until a console toggle. Upgrading an existing install? BepInEx keeps your old UseProceduralVfx = false; flip it to true or delete the line.
  • Floating ground fire fixed for real: terrain height now raycasts Valheim's own terrain layer instead of trusting a call that echoed its input back.

Earlier (0.1 – 0.16)

The road here, condensed: ignition from vanilla fire damage; spread with caps, a queue, and ramp-up; ground fire as an invisible cell grid with its own visuals, damage, and a 40m leash; rain suppression; firebreaks on dirt and cultivated ground; water blocking; fuel exhaustion and burn scars; tree felling with real drops and timed regrowth; the G-key extinguisher. The full engineering log — every bug and what it taught — lives in the repo at docs/DEVLOG.md.

Full version history & older downloads →

Manual installation instructions
1

Install BepInExPack Valheim

BepInExPack Valheim is required to run mods in Valheim.

Download BepInExPack Valheim 5.4.2333 · View mod page

Check out the mod page for detailed installation instructions.

2

Install FireFront

This mod must be installed on both the client and the server.

Download FireFront 0.18.4

Extract the ZIP and place the file(s) into the BepInEx/plugins/ folder inside your Valheim game folder.